如何在Google Sheet中自动将多单元格区域文本复制到单个单元格
Google Sheets食材自动同步解决方案
方案1:单单元格合并展示(所有食材放到G6一个单元格)
直接在G6单元格输入以下公式即可实现自动同步,D5:D11区域内容更新时G6会实时刷新:=TEXTJOIN(CHAR(10), TRUE, D5:D11)
- 参数说明:
CHAR(10)代表换行符,不同食材会分行展示,你也可以替换为"、"/", "实现用顿号、逗号分隔TRUE代表自动忽略D5:D11里的空单元格,不会出现多余的空行
- 显示优化:选中G6单元格,点击顶部菜单栏「格式」→「换行」→「自动换行」,即可正常展示分行效果。
方案2:逐行对应复制(D5对应G6、D6对应G7…依次向下填充)
如果需要把D5:D11的内容分别填充到G6开始的纵向单元格区域,在G6输入以下公式即可:=ARRAYFORMULA(IF(D5:D11="", "", D5:D11))
该公式会自动映射D列对应区域的所有内容,D列修改时G列会同步更新,不需要逐行输入公式。
方案3:手动触发复制(避免自动同步误改)
如果你希望确认食材内容后,手动点击按钮才复制到购物清单,可以使用简单的Apps Script实现:
- 点击顶部菜单栏「扩展程序」→「Apps Script」,删除默认代码后粘贴以下内容:
function copyIngredientsToGroceryList() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 读取D5-D11的食材内容 const ingredientRange = sheet.getRange("D5:D11").getValues(); // 写入从G6开始的对应区域 sheet.getRange("G6").offset(0, 0, ingredientRange.length, 1).setValues(ingredientRange); }
- 点击保存项目,回到Google Sheets页面,插入任意绘图作为按钮,绑定
copyIngredientsToGroceryList函数即可,点击按钮就会触发一次复制操作。
内容的提问来源于stack exchange,提问作者Marco Stevanella
相关产品推荐
相关产品推荐

