如何编写Google Sheet脚本为选中空白单元格批量添加指定文本?
Google Sheet 脚本修改:为选中空白单元格添加指定文本
以下是修改后的脚本,实现仅为选中区域内的空白单元格添加指定文本的功能:
function addTextToBlankCells() { let ui = SpreadsheetApp.getUi(); let sheet = SpreadsheetApp.getActiveSheet(); let range = sheet.getActiveRange(); // 弹出输入框,获取要添加的文本 let promptResponse = ui.prompt("请输入要添加到空白单元格的文本:"); let textToAdd = promptResponse.getResponseText(); // 如果用户点击取消或未输入内容,直接退出 if (promptResponse.getSelectedButton() !== ui.Button.OK || textToAdd === "") { return; } let oldValues = range.getValues(); // 遍历每个单元格,仅替换空白单元格 let newValues = oldValues.map(row => { return row.map(cell => { // 判断单元格是否为空(包含空字符串、null等情况) if (cell === "" || cell === null || typeof cell === "undefined") { return textToAdd; } return cell; // 非空白单元格保持原内容 }); }); range.setValues(newValues); }
关键修改说明
- 逻辑调整:原脚本是给单元格内容加前缀,现在改为仅识别空白单元格并替换为指定文本,非空白单元格完全保留原有内容
- 输入校验:增加了用户取消输入或未填写内容时的退出逻辑,避免无效操作
- 兼容性处理:判断空白时覆盖了空字符串、null等多种空白场景,确保不会遗漏
- 函数重命名:将
addDate改为更贴合功能的addTextToBlankCells,便于识别
使用方法
- 打开Google Sheet,点击「扩展程序」→「Apps脚本」
- 替换原有代码为上述脚本
- 保存并运行一次(首次运行需要授权)
- 返回Sheet,选中目标区域,点击「扩展程序」→「Apps脚本」中对应的函数即可执行
内容的提问来源于stack exchange,提问作者Danel Lau
相关产品推荐
相关产品推荐

