首页 > 解决方案 > 如何让谷歌电子表格每天(同一天)刷新自己?

问题描述

我的谷歌电子表格正在使用以下功能:

=GOOGLEFINANCE(TICKER,"all",DATE(yyyy/mm/dd),DATE(yyyy/mm/dd),"DAILY")

每天检索我的投资组合的股票价格。

不幸的是,它显示了一天的延迟数据,我如何在我的 Google 表格中选择当天的数据?

标签: google-apps-scriptgoogle-sheetstriggers

解决方案


您可以使用Google Apps 脚本创建一个时间驱动的触发器,该触发器每天都运行您想要的函数。在这种情况下,要创建的触发器是everyDays,提供的参数是1

您可以使用脚本编辑器手动创建该触发器,如此处所示或者以编程方式,通过使用脚本服务,通过运行如下函数:

function createDailyTrigger() {
  ScriptApp.newTrigger("callGoogleFinance")
    .timeBased()
    .everyDays(1)
    .create();
}

然后,您可以使用每天触发的函数(我将其命名为callGoogleFinance)通过在单元格中GOOGLEFINANCE使用setFormula并提供公式作为参数来调用:

function callGoogleFinance() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("your-sheet-name"); // Please provide your sheet name here
  var cell = sheet.getRange("your-range"); // Please provide the row and column of your cell here 
  cell.setFormula("=GOOGLEFINANCE(TICKER,\"all\",DATE(yyyy/mm/dd),DATE(yyyy/mm/dd)");
}

我希望这有任何帮助。


推荐阅读