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

Google Form自动删除3年以上记录实现方案咨询

Google Form关联表格自动清理旧数据解决方案

表格数据与Form记录的同步说明

  • 删除Google Sheets关联表格中的行不会同步删除Google Form里的对应提交记录。Form的提交数据是独立存储在Form后台的,表格只是实时同步的一份副本,删除表格数据不会影响Form后台的原始记录。如果要完全满足GDPR合规,你可能还需要额外处理Form后台的旧记录(Form原生无自动删除功能,需借助API脚本,不过当前问题聚焦表格侧,先明确此核心点)。

自动删除超3年数据的脚本实现

1. 编写清理脚本

打开你的Google Sheets,点击顶部菜单栏「扩展程序」→「Apps Script」,清空默认代码后粘贴以下内容:

function deleteOldRows() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();
  const today = new Date();
  // 计算3年前的日期
  const threeYearsAgo = new Date(today.getFullYear() - 3, today.getMonth(), today.getDate());
  
  // 从下往上遍历(避免删除行后行号错乱漏删)
  for (let i = data.length - 1; i >= 1; i--) { // 从索引1开始跳过第1行表头
    const timestamp = new Date(data[i][0]); // 读取A列时间戳(数组索引从0开始)
    // 验证时间戳有效性并判断是否超期
    if (!isNaN(timestamp.getTime()) && timestamp < threeYearsAgo) {
      sheet.deleteRow(i + 1); // 表格行号从1开始,需给数组索引+1
    }
  }
}

2. 设置每日夜间触发

在Apps Script编辑器中操作:

  • 点击左侧时钟样式的「触发器」图标
  • 点击「添加触发器」
  • 配置参数:
    • 运行函数:deleteOldRows
    • 部署来源:「Head」
    • 事件源:「时间驱动」
    • 时间类型:「日计时器」
    • 时段选择:「晚上10点到凌晨6点」(匹配夜间触发需求)
  • 点击「保存」,按提示完成脚本权限授权即可。

注意事项

  • 确保A列的时间戳为标准日期格式,否则脚本无法正确解析
  • 若表头不在第1行,需修改循环起始值(比如表头在第2行,就把i >= 1改为i >= 2)
  • 首次运行脚本会要求授权,需确认允许脚本访问你的表格数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 17:06:02