【问题标题】:How to work around GOOGLEFINANCE failures?如何解决 GOOGLEFINANCE 失败?
【发布时间】:2021-03-19 00:02:36
【问题描述】:

我需要我的谷歌表的货币汇率历史数据,而 GOOGLEFINANCE 功能正是我所需要的。这是我从项目中复制的 GOOGLEFINANCE 数据表: https://docs.google.com/spreadsheets/d/15cFmrS2IL6QZMJORCJxU16QtWQ-2hFNLORgM5pEgY_E/edit?usp=sharing

问题是有时(实际上经常)GOOGLEFINANCE 函数崩溃并返回破坏整个项目的错误: that's how it looks when it crashes

一段时间后恢复正常,但真的很烦人。

我想不出解决该故障的好方法,所以我请求您的帮助。

我考虑过使用以下逻辑制作单元格:如果 GOOGLEFINANCE 值不为空,则复制它,否则保留旧值 使 GOOGLEFINANCE 持久返回,但我不确定是否可以使用 Google 电子表格公式。 例如上面如果我们想让 L4 单元格包含 C4 单元格的持久值,我希望 L4 公式如下: =IF(ISBLANK(C4),L4,C4) 但随后单元格将引用自身,这是不允许的。

【问题讨论】:

    标签: google-sheets google-finance


    【解决方案1】:

    如果没有 Apps 脚本,这是不可能的

    这是因为工作表函数又名公式,不会将值写入单元格。如果您需要持久化数据,那么您需要 Apps Script。

    很遗憾,无法在电子表格公式之外访问 GOOGLEFINANCE。来自https://workspaceupdates.googleblog.com/2016/09/historical-googlefinance-data-no-longer.html

    无法使用 Apps 脚本或 API 在表格之外下载或访问历史数据。

    解决方法(使用 Apps 脚本)

    但是,可以设置一个 Apps 脚本函数来读取带有 getDisplayValue() 的单元格的显示值,并将其复制到备份表中,以某种方式存储历史数据。

    您可以设置一个包含 GOOGLEFINANCE 公式的工作表、另一个包含备份值的工作表和最终的“报告”工作表。然后,您可以编写另一个 Apps 脚本函数来检查这两个工作表并生成输出。

    此外,您可以将其设置为使用Time-driven triggers 运行,这将非常容易。

    参考资料和延伸阅读

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多