【问题标题】:How to make Google spreadsheet refresh itself everyday (same day)?如何让谷歌电子表格每天(同一天)刷新自己?
【发布时间】:2019-11-26 10:52:30
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: google-apps-script google-sheets triggers


    【解决方案1】:

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

    您可以使用脚本编辑器手动创建该触发器,如hereprogrammatically 所示,通过使用Script service,运行如下函数:

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

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

    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)");
    }
    

    希望对你有帮助。

    【讨论】:

    • 感谢帮助,GOOGLEFINANCE("GOOG", "price", DATE(2014,1,1), DATE(2014,12,31), "DAILY") GOOGLEFINANCE("GOOG", "价格",TODAY()-30,TODAY()) 。这两个公式都有效,但不是今天它显示更新到昨天。我附上谷歌表供您参考,如果可能,请更正。 docs.google.com/spreadsheets/d/…
    【解决方案2】:

    GOOGLEFINANCE 从 Google 财经获取当前或历史证券信息。如果指定了任何日期参数,则该请求被视为历史请求。但是在您的情况下,当前日期显然不被视为历史日期。 GOOGLEFINANCE 似乎从start_date(包括start_date)获取信息,但不包括end_date。要包含 end_date,您需要添加一天。

    如果 end_date 是 TODAY(),则添加一天无济于事。为确保您获得当天数据,您可以尝试添加不带日期参数的 GOOGLEFINANCE。

    ={
    GOOGLEFINANCE("GOOG","price", TODAY()-30, GOOGLEFINANCE("GOOG", "tradetime"));
    { 
    GOOGLEFINANCE("GOOG", "tradetime"), 
    GOOGLEFINANCE("GOOG", "priceopen")
    } }
    

    GOOGLEFINANCE("GOOG", "tradetime") 作为参数,是为了避免 TODAY() 是星期六或星期日时重复日期。

    【讨论】:

    • 您好,感谢您的帮助。 GOOGLEFINANCE("GOOG", "price", DATE(2014,1,1), DATE(2014,12,31), "DAILY") GOOGLEFINANCE("GOOG","price",TODAY()-30,TODAY( ))。这两个公式都有效,但不是今天它显示更新到昨天。我附上谷歌表供您参考,如果可能,请更正。 docs.google.com/spreadsheets/d/…
    • 我已经更新了我的答案。您的电子表格需要获得查看权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多