【问题标题】:On Google Spreadsheet how can you query 'GoogleFinance' for a past exchange rate?在 Google 电子表格上,您如何查询“GoogleFinance”以获取过去的汇率?
【发布时间】:2014-01-03 15:35:06
【问题描述】:

我想知道是否可以在 Google 电子表格上查询过去的汇率。

例如;使用公式=GoogleFinance("CURRENCY:USDEUR") 将返回当前的美元/欧元汇率。如何检索历史汇率?

【问题讨论】:

    标签: google-sheets google-docs currency-exchange-rates


    【解决方案1】:

    为了检索历史汇率,您必须使用以下公式:

    =GoogleFinance("eurusd","price",today()-1,today())
    

    其中today()-1, today() 是所需的时间间隔,可以显式定义为静态日期对,也可以隐式定义为动态计算值,如上例所示。此表达式将返回日期和结束值的两列数组。注意合适的单元格格式(日期/数字)很重要,否则您的数据将被破坏。

    如果您想获得不含列标题的日期和货币汇率的纯行,请使用 INDEX() 函数包装您的公式:

    =INDEX(GoogleFinance("eurusd","price",today()-1,today()),2,)
    

    要仅检索汇率值,请定义列号参数:

    =INDEX(GoogleFinance("eurusd","price",today()-1,today()),2,2)
    

    要从 Google 财经Google 文档/电子表格 中获取今天的货币汇率:

    =GoogleFinance("eurusd","price",today())
    

    附:前段时间获取今天的费率的捷径存在问题,但现在它可以工作了,您可以再次使用:

    =GoogleFinance("currency:usdeur")
    

    附:如何在 Microsoft Excel 中获取实时货币汇率:

    【讨论】:

    • 您也可以有一个 DATE 列并使用它而不是 today()-1,today() 来获取当天的历史数据。
    • 仅供参考,同样的公式也适用于加密货币:BTC、ETH、BHC 和 LTC。
    • 以下=GOOGLEFINANCE("CURRENCY:EURCHF", "price", A2) 不起作用,其中A2 是带有日期的列。任何提示?
    • @seralouk,A2中的日期应该是单元格的日期格式,这样才能正确解析。请同时检查:日期格式和单元格格式。我刚刚尝试过12/29/20192019-12-29,它可以工作,而29.12.2019 不行。
    • 这让我快疯了,因为我也试过这个。
    【解决方案2】:

    试试,

    =GoogleFinance("usdeur","price",date(2013,12,1),date(2013,12,16))
    

    确保日期符合您的电子表格设置。

    编辑为评论,更改捕获单日数据的日期:-

    只有标题:

    =INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2)
    

    没有标题:

    =FILTER(INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2),INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2)<>"Close")
    

    【讨论】:

    • 感谢 Vasim,最后这个公式很完美。它很简单。最佳
    【解决方案3】:

    所有与 googlefinance 相关的说明都在这里:https://support.google.com/docs/answer/3093281

    请记住,实际的 Google 电子表格公式使用分号 (;) 而不是逗号 (,)。 在某些示例上进行替换后,将如下所示:

    对于美元兑欧元的 30 天指数,您应该使用(请注意,在货币的情况下,它们在同一个变量中一起出现):

    =INDEX(GoogleFinance(USDEUR;"price";today()-30;today());2;2)
    

    提示:您可以通过简单地更改 SPARKLINE 的 INDEX 来获得整个单元格大小的 图表,如下所示:

    =SPARKLINE(GoogleFinance(USDEUR;"price";today()-30;today());2;2)
    

    【讨论】:

      【解决方案4】:

      Vasim 的回答非常好,但是请注意,如果您只想要当天的交换日期,您可以省略范围并只指定日期,如下所示

      =FILTER(INDEX(GoogleFinance("usdeur","price",today()),,2),INDEX(GoogleFinance("usdeur","price",today()),,2)"关闭")

      【讨论】:

        【解决方案5】:

        您可能会注意到GOOGLEFINANCE 在某些日期会返回 N/A,这是因为该日期是休息日(通常是周末),您可以做的是从指定日期获取最后一个工作,例如2015 年 6 月 21 日是星期日,所以您应该索取 6 月 19 日(星期五)的价格,您可以按照 here 的建议通过 WORKDAY 函数进行此操作:

        WORKDAY("6/21/2015"+1,-1)
        

        因此,生成的公式将如下所示:

        INDEX(GoogleFinance("CURRENCY:USDRUB", "price", WORKDAY("6/21/2015"+1,-1),1),2,2)
        

        此外,您想获取未来日期的汇率,您还可以检查日期是否在未来,如果是,请使用今天的日期:

        WORKDAY(IF("6/21/2099">TODAY(),TODAY(),"6/21/2099")+1,-1)
        

        【讨论】:

          【解决方案6】:

          对于较大的电子表格,Google 表格的限制通常会随机显示以下错误:

          错误 函数 INDEX 参数 2 的值为 2。有效值介于 0 和 1 包括在内。

          即使按照预期的参数 GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date|num_days], [interval]) 修改 Index() 和 GoogleFinance(),错误仍将继续。 一种解决方法是将较小的部分复制到新的电子表格中,但通常会失败。

          作为替代方案,我使用 ImportXML 作为 x 汇率历史货币兑换数据的网络抓取工具。

          =index(IMPORTXML("https://www.x-rates.com/historical/?from="&N2&"&amount="&K2&"&date="&YEAR(B2)&"-"&TEXT(B2,"mm")&"-"&TEXT(B2,"dd")&"","//td[@class='rtRates']"),1)
          

          我假设 B 列是日期,K 是金额,N 是货币。

          对于超过 2000 行的电子表格,它也会随机失败,但总的来说,就我的要求而言,它比 GoogleFinance() 好太多了

          ImportXML examples

          The ImportXML Guide for Google Docs from beginner to advanced

          【讨论】:

          • 该错误是因为您的日期是 DD/MM/YYYY 格式,而不是 YYYY/MM/DD。更改日期格式或相应更改 DATE 公式
          【解决方案7】:

          其他选项是使用来自this Google Sheets add-onCurrencyConverter 函数。 它速度快,语法简单。例如,

          =CurrencyConverter(100, "USD", "EUR", "2/28/2020")
          

          返回91.09957183

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-07
            • 1970-01-01
            相关资源
            最近更新 更多