Google Sheets:指定单元格非空时自动填充另一单元格内容
解决Google Sheets自动填充同行A列内容的问题
嘿,作为Google Sheets新手,你的需求其实可以分两种场景处理,我给你整理了两种简单易懂的方案,你可以根据实际情况选:
方法1:用公式快速实现(无需写代码)
如果你能接受在输入触发内容后,在另一列(比如C列)显示A列的单词,那公式就完全够用,操作超简单:
- 选中C1单元格,输入公式:
=IF(NOT(ISBLANK(B1)), A1, "") - 把鼠标放在C1单元格右下角的小方块上,按住下拉到所有需要的行就行
这样一来,只要B列的单元格不为空(不管你输入x还是其他任何内容),C列同行就会自动显示A列的单词;要是你把B列的内容清空,C列也会跟着变回空值。
方法2:用Apps Script实现(修改输入单元格本身)
如果你确实需要在B列本身输入内容后,自动替换成同行A列的单词(比如输入x后,B列单元格直接变成A列的词),那就要用到Google Apps Script了,步骤也不难:
步骤1:打开脚本编辑器
在你的Google Sheets里,点击顶部菜单栏的「扩展程序」→「Apps Script」,就能打开脚本编辑页面啦。
步骤2:替换脚本代码
把编辑器里默认的代码全部删掉,粘贴下面的代码:
function onEdit(e) { // 获取当前编辑的单元格信息 const editedRange = e.range; const activeSheet = editedRange.getSheet(); // 只处理B列的单元格(B列对应列号2,要是改其他列就换数字,比如C列是3) if (editedRange.getColumn() !== 2) return; // 获取同行A列的内容 const columnAValue = activeSheet.getRange(editedRange.getRow(), 1).getValue(); // 只有A列有内容,且当前B列单元格输入了内容时,才替换成A列的值 if (columnAValue && editedRange.getValue()) { editedRange.setValue(columnAValue); } }
步骤3:保存并测试
- 点击编辑器顶部的保存按钮,给你的脚本起个名字(比如「AutoFillWordFromA」)。
- 回到表格,在B列随便找个单元格输入x或者其他内容,回车后,这个单元格就会自动变成同行A列的单词了!
小提示
这个脚本里的onEdit是Google Sheets自带的触发函数,只要表格有编辑操作就会自动运行,不用手动触发。要是你想改成其他列触发,把代码里的2换成对应列的数字就行(比如D列是4)。
内容的提问来源于stack exchange,提问作者woos213
相关产品推荐
相关产品推荐

