google-apps-script - 如何在每天结束时记录 Google 表格单元格的内容?

标签 google-apps-script google-sheets

在 Google 表格中,我使用 IMPORTHTML 函数动态收集数据,该数据集中的一个元素当前已复制到单元格 C1 中。

在另一张表中,我有一个从现在到 2017 年的日期列表作为 A 列。

在每天结束时,我想在相关日期旁边的 B 列中记录最终的 C1 分数。

我将如何以自动化方式执行此操作?也就是说,我希望电子表格在每天结束时自行完成。

最佳答案

您需要一个脚本,将条目从 sheet1!C1 复制到 sheet2!columnB 行(其中 columnA=today())。

将 sheet1、sheet2 替换为您的工作表名称。

设置电子表格

在你的电子表格中转到

文件>电子表格设置

设置您的本地和时区,然后设置重新计算 onChange 和每小时。

使用内置函数定位今天的行

转到工作表 2!

我假设您的 columnA 具有日期格式的从 A1 到 A# 的日期。 我们将需要一个单元格来保存一个值,我选择 C1。 在 C1 中放这个

=匹配(今天(),A:A)

这将为您提供一个数字,它应该是包含今天日期的行。

构建脚本

然后转到

工具>脚本编辑器

为电子表格创建脚本。这会给你一些示例脚本,删除它。

代码是

function scorekeeper(){
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
  var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet2");
  var score = sheet1.getRange("C1").getValue(); // we want to store this
  var row   = sheet2.getRange("C1").getValue(); // this is our row
sheet2.getRange(row, 2).setValue(score );
}

您可以通过运行并选择函数名称来测试它。您可能必须先保存脚本并授予应用权限。

设置触发器

让我们在午夜运行

转到

资源>当前项目的触发器。

添加触发器。

选择; 记分员() 时间驱动 日间计时器 午夜至凌晨 1:00

一切顺利。

关于google-apps-script - 如何在每天结束时记录 Google 表格单元格的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25255298/

相关文章:

ruby - Gmail:同步收件箱(禁用 IMAP 和 POP3)

javascript - 谷歌文档脚本中的 "It is necessary to detach the element"错误

r - 如何在 r 中合并多张 Excel 工作簿?

javascript - 未自动检测到细胞变化

if-statement - 工作表将 "0"视为空白单元格

google-apps-script - Google Apps 脚本 - 错误 : "DocsList" not Defined - Code Suddenly Stopped Working

google-apps-script - 当我在 Google 电子表格上测试我的项目作为附加组件时,onInstall() 未运行

google-apps-script - Google Apps 脚本中的警报对话框

regex - Google 电子表格中的转义元字符 [ ] re2

python - 下载 Google 电子表格并另存为 xls