请求开发指定触发条件的Apps Script:将符合条件的单元格转值
Google Sheets Apps Script 实现方案
脚本代码
以下脚本会在M列(M2:M400)单元格被修改为"success"时,自动将该单元格转换为值(清除公式):
function onEdit(e) { const editedRange = e.range; // 校验编辑范围是否在M2:M400内 if (editedRange.columnStart !== 13 || editedRange.rowStart < 2 || editedRange.rowStart > 400) return; const cellValue = editedRange.getValue(); if (cellValue !== "success") return; // 粘贴值覆盖原单元格,清除公式 editedRange.copyTo(editedRange, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); }
使用步骤
- 打开目标Google表格,点击顶部菜单栏的「扩展程序」→「Apps Script」
- 删除编辑器里的默认代码,粘贴上述脚本
- 点击编辑器顶部的「保存」按钮,为脚本命名(比如"ConvertSuccessToValue")
- 关闭脚本编辑器,返回表格即可生效
注意事项
- 上述脚本属于简单触发,仅对手动编辑单元格的操作生效。如果M列单元格是通过公式计算得到"success",公式结果变更时不会触发该脚本。
- 若需要响应公式计算导致的内容变更,需设置可安装的onChange触发器:
- 在Apps Script编辑器中,点击左侧「触发器」图标(闹钟样式)
- 点击「添加触发器」,配置选项:
- 选择要运行的函数:
onEdit - 选择部署类型:「头部部署」
- 选择事件源:「从电子表格」
- 选择事件类型:「更改」
- 点击「保存」,按提示完成权限授权
- 选择要运行的函数:
内容的提问来源于stack exchange,提问作者Nidhi Pal
相关产品推荐
相关产品推荐

