如何在Google Sheets中提取编辑指定单元格的用户信息
Google Sheets自动记录单元格编辑者实现方案
普通内置公式无法读取单元格编辑历史、获取当前编辑者账号信息,需要通过绑定Google Apps Script触发器实现,操作步骤如下:
- 打开目标表格,点击顶部菜单栏「扩展程序」-「Apps Script」,打开脚本编辑页面
- 清空编辑器内默认生成的冗余代码,粘贴以下脚本:
function onEdit(e) { // 配置项:监听列为A列(列号1),编辑信息写入B列(列号2) const LISTEN_COL = 1; const RECORD_COL = 2; const editRange = e.range; const activeSheet = editRange.getSheet(); // 跳过非目标列、第一行表头、多单元格批量编辑的场景 if (editRange.columnStart !== LISTEN_COL) return; if (editRange.rowStart === 1) return; if (editRange.getNumRows() > 1 || editRange.getNumColumns() > 1) return; // 获取编辑者账号,匿名/无权限场景下显示「未知用户」 const editorAccount = e.user.getEmail() || "未知用户"; // 对应行的记录列写入编辑者信息 activeSheet.getRange(editRange.rowStart, RECORD_COL).setValue(editorAccount); }
- 点击脚本编辑器顶部的保存按钮,给项目随便起个名字确认即可
注意事项
- 脚本保存后首次触发编辑时,会弹出Google账号授权提示,按页面指引完成授权后功能才会生效
- 该脚本仅会在部署完成后对新的编辑操作生效,无法回溯脚本部署前已经填写完成的单元格的历史编辑者信息
- 如果表格没有表头,直接删除代码中
if (editRange.rowStart === 1) return;这一行即可 - 如果需要调整监听列、记录列,直接修改代码开头
LISTEN_COL和RECORD_COL对应的数字列号即可 - 如果表格设置为公开可编辑、允许未登录Google账号的用户编辑,脚本无法获取匿名用户的账号信息,会统一填充为「未知用户」
内容的提问来源于stack exchange,提问作者FABIO CARVALHO
相关产品推荐
相关产品推荐

