如何每日获取Google Sheets指定单元格值并按日期逐行存储至列中
实现每日自动记录Google Sheets指定单元格值的方案
核心思路
用Google Apps Script写一个轻量脚本,搭配定时触发器,自动完成「读取指定单元格→写入目标列下一行」的操作,完全满足每日记录需求。
操作步骤
- 打开你的Google Sheets表格,点击顶部菜单栏的「扩展程序」→「Apps 脚本」,进入脚本编辑器。
- 删除编辑器里的默认代码,粘贴以下代码:
function recordDailyValue() { // 获取当前活跃的工作表 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 读取A1单元格的值(可修改为你需要的单元格,比如"A3") const sourceValue = sheet.getRange("A1").getValue(); // 找到B列第一个空行的行号 const nextRow = sheet.getRange("B:B").getValues().filter(String).length + 1; // 将值写入B列的空行 sheet.getRange(`B${nextRow}`).setValue(sourceValue); // 可选:在C列记录当天日期,方便对应记录 sheet.getRange(`C${nextRow}`).setValue(new Date()); }
- 保存脚本(点击编辑器顶部的磁盘图标),命名为「DailyValueRecorder」即可。
- 设置定时触发器:
- 点击编辑器左侧的「触发器」图标(时钟样式)。
- 点击页面右下角的「添加触发器」。
- 在设置框里配置:
- 运行函数:
recordDailyValue - 事件源:「时间驱动」
- 时间类型:「日计时器」
- 运行时间段:选你需要的时段(比如「上午9点到10点」)
- 运行函数:
- 点击「保存」,按提示完成权限授权(第一次运行需要授权脚本访问表格)。
自定义调整
- 若读取的不是A1,修改代码里
getRange("A1")的单元格地址即可。 - 不需要日期记录的话,删掉代码最后一行关于C列的内容。
- 目标列不是B列的话,替换代码中
"B:B"和B${nextRow}里的列标识。
内容的提问来源于stack exchange,提问作者Jose Dlr
相关产品推荐
相关产品推荐

