如何在Google SpreadSheets中编写输入触发指定单元格自动填充的脚本
Google Sheets 自动填充功能实现方案
可以实现该需求,核心使用 Google Apps Script 内置的onEdit()简单触发器即可完成,编辑单元格时会自动触发脚本运行,无需手动调用。
操作步骤
- 打开目标Google表格,点击顶部菜单栏「扩展程序」->「Apps脚本」,进入脚本编辑页面
- 删除编辑区默认生成的空函数代码,粘贴下方的示例代码
- 根据自己的需求修改配置项后保存项目,返回表格即可测试使用
示例代码
function onEdit(e) { // 可自定义配置区域 const SHEET_NAME = "Sheet1"; // 填写要生效的工作表名称 // 输入内容和对应填充名称的映射规则,可自行增删 const MAPPING_RULE = { "apple": "Smith", "banana": "Johnson", "orange": "Williams" }; const OFFSET_COL = 8; // 偏移列数,右侧第8格填8即可,可按需修改 // 逻辑执行部分 const editRange = e.range; const currentSheet = editRange.getSheet(); // 非目标工作表操作直接终止执行 if (currentSheet.getName() !== SHEET_NAME) return; // 获取输入内容,空输入直接终止 const inputContent = e.value?.toString().trim() || ""; if (inputContent === "") return; // 匹配对应要填充的名称,无匹配默认填空 const fillContent = MAPPING_RULE[inputContent] || ""; // 写入目标单元格 editRange.offset(0, OFFSET_COL).setValue(fillContent); }
注意:上述脚本仅手动编辑单元格时生效,批量粘贴内容的场景需要改用可安装编辑触发器,调整代码判断逻辑即可适配。
内容的提问来源于stack exchange,提问作者Максим Морев
相关产品推荐
相关产品推荐

