如何在Sheets中获取指定单元格编辑者姓名并同步至其他单元格
Google Sheets 单元格修改者自动记录实现方案
你可以通过Google Apps Script的内置编辑触发器实现需求,无需额外安装工具,具体操作如下:
操作步骤
- 打开目标Google Sheets表格,点击顶部菜单栏「扩展程序」>「Apps Script」进入脚本编辑页面
- 清空编辑区默认的空白代码,粘贴以下脚本:
function onEdit(e) { // 获取编辑操作的范围对象 const editRange = e.range; // 限定仅监听A列(第1列)、行号≥2的单元格编辑操作 if (editRange.getColumn() === 1 && editRange.getRow() >= 2) { // 获取修改用户的姓名 const editorName = e.user.getName(); // 将修改者姓名写入当前行的B列(A列右侧第1列) editRange.offset(0, 1).setValue(editorName); // 将修改者姓名写入当前行的C列(A列右侧第2列),不需要可以删除该行 editRange.offset(0, 2).setValue(editorName); // 需写入更多列按以上格式新增即可,offset第二个参数为向右偏移的列数 } }
- 点击编辑区顶部的保存按钮,给项目任意命名后关闭脚本编辑页面,首次触发编辑时按照弹窗提示完成脚本授权即可生效
注意事项
- 该触发器仅响应手动编辑单元格的操作,公式自动计算、批量导入数据、脚本修改单元格的操作不会触发
- 如果修改用户未公开个人姓名信息,返回结果可能是用户的邮箱地址
- 如需调整监听的单元格范围、记录的目标列,修改代码中对应判断条件和offset参数即可
内容的提问来源于stack exchange,提问作者Donekal Surendra
相关产品推荐
相关产品推荐

