You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用Script Editor恢复Google Sheet回滚版本后的单元格历史?

Google Sheet恢复版本后单元格历史恢复方案

问题背景

将Google Sheet恢复至旧版本后,单个单元格的编辑历史无法直接查看,但通过文档版本历史仍能看到各版本的完整数据,尝试使用第三方脚本后无效果。

原脚本失效原因

你使用的Quora脚本依赖开发者元数据(Developer Metadata),这类数据需要提前通过脚本主动记录单元格编辑历史才能存在。如果没有提前配置过记录逻辑,恢复版本后不存在对应的元数据,脚本自然无法提取到任何内容。

可行恢复方法

方法1:手动对比版本历史

  • 打开Google Sheet,点击顶部菜单栏的「文件」→「版本历史」→「查看版本历史」
  • 在版本列表中切换不同版本,直接查看目标单元格的内容变化,手动记录所需历史

方法2:用脚本批量提取单元格版本历史

以下脚本可自动遍历所有版本历史,提取目标单元格的内容和对应时间戳:

function getCellVersionHistory() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const targetSheet = ss.getActiveSheet();
  const targetCell = targetSheet.getActiveCell();
  const cellA1 = targetCell.getA1Notation();
  const allVersions = ss.getVersionHistory();

  const cellHistory = [];
  allVersions.forEach(version => {
    const versionDate = version.getDate();
    const versionSheet = version.getSpreadsheet().getSheetByName(targetSheet.getName());
    if (versionSheet) {
      const cellContent = versionSheet.getRange(cellA1).getValue();
      cellHistory.push(`[${versionDate.toLocaleString()}] ${cellContent}`);
    }
  });

  if (cellHistory.length > 0) {
    SpreadsheetApp.getUi().alert("单元格版本历史:\n" + cellHistory.join("\n"));
  } else {
    SpreadsheetApp.getUi().alert("未找到该单元格的版本记录");
  }
}

使用步骤:

  • 打开Google Sheet,选中需要查看历史的单元格
  • 点击「扩展程序」→「Apps脚本」打开脚本编辑器
  • 删除原有代码,粘贴上述脚本
  • 点击运行按钮,按提示完成授权
  • 脚本执行后,会弹出包含该单元格所有版本内容的弹窗

内容的提问来源于stack exchange,提问作者Devina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:43:13