求助:实现Google Sheet自动删除早于今日日期行的脚本
自动删除Google Sheet过期配送记录的脚本教程
步骤1:打开Google Apps Script编辑器
打开你的配送记录Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps Script」,进入脚本编辑页面(默认会新建一个名为Code.gs的文件)。
步骤2:编写自动删除脚本
把下面的代码复制粘贴到脚本编辑器里,替换默认内容:
function deleteExpiredRecords() { // 获取当前活跃的工作表 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 获取表格所有数据(包含表头) const allData = sheet.getDataRange().getValues(); // 定义今天的零点时间,避免误删当天的配送记录 const today = new Date(); today.setHours(0, 0, 0, 0); // 从最后一行往上遍历(防止删除行后索引错乱) for (let i = allData.length - 1; i >= 1; i--) { // 把表格里的配送日期转为Date对象,这里假设配送日期在B列(数组索引为1) const deliveryDate = new Date(allData[i][1]); // 判断配送日期是否早于今天,是则删除该行 if (deliveryDate < today) { sheet.deleteRow(i + 1); // 表格行号从1开始,数组索引从0开始,所以要+1 } } }
- 注意:如果你的配送日期不在B列,把代码里的
allData[i][1]改成对应列的索引(A列是0,C列是2,以此类推)。
步骤3:测试脚本
点击脚本编辑器顶部的「运行」按钮,第一次运行会弹出授权请求,按提示完成Google账号授权(这是Google官方的脚本授权,只会访问你当前的表格)。授权完成后,脚本会自动删除所有过期的配送记录,你可以回到表格确认效果。
步骤4:设置每日自动执行
- 点击脚本编辑器左侧的「触发器」图标(时钟样式)。
- 点击页面右下角的「添加触发器」。
- 在弹出的设置窗口里选择:
- 选择要运行的函数:
deleteExpiredRecords - 选择部署类型:「时间驱动」
- 选择时间基于:「日计时器」
- 选择一天中的时间:比如你习惯的早上8点(根据自己需求调整)
- 选择要运行的函数:
- 点击「保存」,之后脚本就会每天自动执行一次,帮你删除过期记录。
注意事项
- 确保表格里的配送日期列是日期格式,否则脚本无法正确识别日期。
- 第一次测试前建议先备份表格,避免误删重要数据。
- 如果脚本运行异常,可以检查控制台的报错信息(脚本编辑器顶部的「查看」→「日志」)排查问题。
内容的提问来源于stack exchange,提问作者MBWhitePlains
相关产品推荐
相关产品推荐

