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

如何实现Google Sheets每日定时同步数据到另一表格并配置触发器

错误原因

报错Cannot convert '' to int是因为原代码逻辑需要你提前在Dashboard工作表的A1单元格填写下一次写入的行号,当前A1为空,读取到的空字符串无法转换为行号所需的整数类型,因此触发报错。

修复后的优化代码

优化后不再依赖手动维护行号,同时自动写入记录日期,更适合后续可视化使用:

function scorekeeper() {
  // 获取对应工作表
  const portfolioSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Portfolio");
  const dashboardSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Dashboard");

  // 读取Portfolio表L11的总投资价值
  const totalInvestValue = portfolioSheet.getRange("L11").getValue();
  // 生成当前记录日期
  const recordDate = new Date();

  // 自动计算Dashboard表的下一个空行
  const nextEmptyRow = dashboardSheet.getLastRow() + 1;

  // 写入数据:A列存日期,B列存投资价值
  dashboardSheet.getRange(nextEmptyRow, 1).setValue(recordDate);
  dashboardSheet.getRange(nextEmptyRow, 2).setValue(totalInvestValue);
}

首次使用前置操作

在Dashboard工作表第一行添加表头:

  • A1单元格填「记录日期」
  • B1单元格填「总投资价值」
    后续写入的数据会从第二行开始自动追加,不会覆盖表头。
配置每日定时触发器步骤
  • 打开你的Google表格,点击顶部菜单栏「扩展程序」->「Apps脚本」进入脚本编辑器
  • 把上述修复后的代码粘贴替换原有代码,点击顶部保存按钮,自定义项目名称后确认
  • 点击左侧菜单栏的「触发器」(闹钟形状图标)
  • 点击右下角「添加触发器」按钮,按如下参数配置:
    • 选择要运行的函数:scorekeeper
    • 选择要运行的部署:默认Head即可
    • 选择事件源:时间驱动
    • 选择时间驱动类型:日计时器
    • 选择时间范围:下午4点到5点
  • 点击保存后按照系统提示完成脚本访问表格的权限授权即可。
可视化操作说明

触发器每日自动记录数据后,选中Dashboard工作表的A、B两列所有数据,点击顶部菜单栏「插入」->「图表」,即可选择折线图、面积图等类型生成投资价值变化趋势图。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:54:03