我想知道是否可以在Google电子表格中查询过去的汇率。
例如;使用公式=GoogleFinance("CURRENCY:USDEUR")
将返回当前时刻的美元/欧元汇率。你如何找回历史性的费率?
答案 0 :(得分:81)
要检索历史汇率,您必须使用以下公式:
=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())
P.S。前段时间有一个问题,即获得今天的费率很短,但现在它有效,你可以再次使用:
=GoogleFinance("currency:usdeur")
P.S。如何在 Microsoft Excel 中获取实时货币汇率:
答案 1 :(得分:14)
尝试,
=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")
答案 2 :(得分:10)
所有与googlefinance相关的说明都在此处:https://support.google.com/docs/answer/3093281
请记住,实际的Google Spreadsheets公式使用分号(;)而不是逗号(,)。 一旦完成,一些例子的替换将如下所示:
对于30天的美元兑欧元指数,您应该使用(请注意,对于货币,它们在同一个第一个变量中一起使用):
=INDEX(GoogleFinance(USDEUR;"price";today()-30;today());2;2)
提示:只需更改SPEXLINE的INDEX即可在单元格的整个大小上获得图表,如下所示:
=SPARKLINE(GoogleFinance(USDEUR;"price";today()-30;today());2;2)
答案 3 :(得分:3)
瓦西姆的答案非常好,但是如果您只想在当天交换日期,可以省略范围,只需指定日期,如下所示
= FILTER(INDEX(个GoogleFinance(&#34; usdeur&#34;&#34;价格&#34;今日()),, 2),INDEX(个GoogleFinance(&#34; usdeur&#34 ;, ()),今天,, 2)LT;&#34;价格&#34&GT;&#34;关闭&#34)
答案 4 :(得分:1)
您可能会注意到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)
答案 5 :(得分:0)
对于较大的电子表格,Google表格限制通常会随机显示以下错误:
甚至在预期参数GOOGLEFINANCE(ticker,[attribute],[start_date],[end_date | num_days],[interval])之后修改Index()和GoogleFinance(),错误将继续。 解决方法是将较小的部分复制到新的电子表格中,但通常会失败。
作为替代方案,我使用ImportXML作为x-rates历史货币兑换数据的网络刮刀。
=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()更好地工作
The ImportXML Guide for Google Docs from beginner to advanced
答案 6 :(得分:-1)
其他选项正在使用this Google Sheets add-on中的CurrencyConverter
函数。
它速度快,语法简单。例如,
=CurrencyConverter(100, "USD", "EUR", "2/28/2020")
返回91.09957183