Google Sheets条件设置:当A2为“ok”时B2自动复制C2数值
实现Google Sheets自动化:当A2为“ok”时B2自动同步C2数值
方法1:使用IF公式(简单直接)
直接在B2单元格中输入以下公式:=IF(A2="ok", C2, "")
- 逻辑:当A2的值等于“ok”时,B2显示C2的内容;否则B2留空。
- 如果需要批量应用到整列,可下拉B2单元格填充,或者使用数组公式一次性覆盖整列:
=ARRAYFORMULA(IF(A2:A="ok", C2:C, ""))
这个数组公式会自动监测A2及以下所有行,只要对应行A列是“ok”,B列就同步C列的值。
方法2:使用Apps Script脚本(无公式隐藏实现)
如果不想让用户看到公式,或者需要更灵活的自动化逻辑,可以用Google Apps Script实现:
- 打开你的Google Sheets文档,点击顶部菜单栏的「扩展程序」→「Apps Script」。
- 删除编辑器里的默认代码,粘贴以下脚本:
function onEdit(e) { const editedRange = e.range; const targetSheet = editedRange.getSheet(); // 仅处理A列第2行及以下的编辑操作 if (editedRange.getColumn() === 1 && editedRange.getRow() >= 2) { const cellValue = editedRange.getValue(); const targetRow = editedRange.getRow(); if (cellValue === "ok") { // 获取对应行C列的值,写入B列 const cColumnValue = targetSheet.getRange(targetRow, 3).getValue(); targetSheet.getRange(targetRow, 2).setValue(cColumnValue); } else { // 若A列不是"ok",清空对应行B列内容(可根据需求删除此句保留原有值) targetSheet.getRange(targetRow, 2).clearContent(); } } }
- 点击编辑器顶部的「保存」按钮,给脚本命名(比如“SyncOnOk”)。
- 首次运行需要授权:点击「运行」,按照提示完成权限验证(属于Google官方安全授权,放心操作)。
- 设置自动触发:点击编辑器左侧的时钟图标(「触发器」),点击「添加触发器」,配置如下:
- 选择函数:
onEdit - 事件源:「从电子表格」
- 事件类型:「编辑时」
- 点击保存即可。
- 选择函数:
这样每当有人编辑A列单元格并输入“ok”时,对应行的B列会自动同步C列的值;如果A列内容改为其他值,B列会被清空(可根据需求修改脚本里的else逻辑)。
内容的提问来源于stack exchange,提问作者CHRISTOPHE BOUQUET
相关产品推荐
相关产品推荐

