Google Sheets中如何用公式在单元格显示表格命名版本?
在Google Sheets中自动显示命名版本名称的实现方法
首先明确:没有原生公式能直接实现这个需求——Google Sheets的内置公式无法访问文件的版本历史元数据,得靠Google Apps Script来解决。
具体步骤:
- 打开你的Google Sheets文件,点击顶部菜单栏「扩展程序」→「Apps Script」
- 在弹出的脚本编辑器里,把默认代码替换成下面这段:
function updateVersionName() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 把这里的"A1"改成你要显示版本名称的单元格位置 const targetCell = sheet.getRange("A1"); const file = DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet().getId()); const versions = file.getVersions(); // 过滤出有名称的版本,取最新的那个 const namedVersions = versions.filter(version => version.getName() !== ""); if (namedVersions.length > 0) { const latestNamedVersion = namedVersions[0]; targetCell.setValue(latestNamedVersion.getName()); } else { targetCell.setValue("无命名版本"); } } // 添加自定义菜单,方便手动更新 function onOpen() { const ui = SpreadsheetApp.getUi(); ui.createMenu('版本工具') .addItem('更新当前版本名称', 'updateVersionName') .addToUi(); }
- 保存脚本(随便起个名字比如「VersionTracker」),回到表格刷新页面,顶部会多出「版本工具」菜单,点击「更新当前版本名称」就能让指定单元格显示最新的命名版本名。
自动触发的补充说明:
如果想每次保存新的命名版本时自动更新单元格,可以去Apps Script的「触发器」页面添加Drive触发器(选择「更改」事件),不过需要额外授权,且触发可能有延迟。如果对实时性要求不高,手动通过菜单触发反而更稳定。
内容的提问来源于stack exchange,提问作者Rahul Agrawal
相关产品推荐
相关产品推荐

