从GoogleFinance获取特定日期的汇率

时间:2017-11-15 14:59:37

标签: google-sheets currency google-finance

我无法在特定日期停止使用googlefinance功能""将货币从GBP转换为EUR的具体汇率。

以下是我的公式:=Finance!B4*GOOGLEFINANCE("CURRENCY:GBPEUR","price",date(2017,15,11))

以下是错误:When evaluating GOOGLEFINANCE, the query for the symbol: 'CURRENCY:GBPEUR' returned no data.

我已经在SO上查看了其他解决方案,但没有一个可用。我实际上已将" date" " price" 添加到其他解决方案的公式中。像这样: - Solution 1

6 个答案:

答案 0 :(得分:10)

首先,date(2017,15,11)表示一年中第15个月的第11天,因此您需要交换月和日。

其次,历史数据查询,例如

=GOOGLEFINANCE("CURRENCY:GBPEUR", "price", date(2017,11,15))

返回包含列和标题的表。

Date                Close
11/15/2017 23:58:00 1.1163

从您使用此公式的方式来看,我认为您只想要汇率。将函数包装在index(..., 2, 2)中以获取第二行中的第二个单元格。

=index(GOOGLEFINANCE("CURRENCY:GBPEUR", "price", date(2017,11,15)), 2, 2)

答案 1 :(得分:1)

您的问题是(您)试图强制不存在的第15个月的数据。 DATE的语法是:

=DATE(YEAR(), MONTH(), DAY())

因此完整公式应为:

=Finance!B4*INDEX(GOOGLEFINANCE("CURRENCY:GBPEUR", "price", DATE(2017, 11, 15)), 2, 2)

替代方法是:

=Finance!B4*INDEX(GOOGLEFINANCE("CURRENCY:GBPEUR", "price", "15/11/2014"), 2, 2)

=Finance!B4*INDEX(GOOGLEFINANCE("CURRENCY:GBPEUR", "price", DATEVALUE("15/11/2014")), 2, 2)

=Finance!B4*INDEX(GOOGLEFINANCE("CURRENCY:GBPEUR", "price", A1), 2, 2)

其中A1包含有效日期

答案 2 :(得分:1)

为了确保它是已知的,今天的 Google 表格中没有使用 , 运算符,因此避免解析器错误的正确表达式是(在您的情况下):

=index(GOOGLEFINANCE("CURRENCY:GBPEUR"; "price"; date(2017;11;15)); 2; 2)

答案 3 :(得分:0)

这是我公式的版本。

B3应该是有效日期。

=index(GOOGLEFINANCE("CURRENCY:USDCNY", "price", B3), 2, 2)

PS。 我不确定为什么,但是当我指定2018年12月15日时,公式显示了一个错误。 所有其他日期均正确无误。

答案 4 :(得分:0)

2018年12月15日是星期天-因此出现错误。您可以添加-2或+2,因为错误也会在星期六弹出。我更喜欢-2

答案 5 :(得分:0)

:D 没有任何效果。无论我在哪个日期插入或从单元格寻址,无论我声明什么货币对,无论我插入什么价格或从单元格寻址,带或不带索引→它返回“分析错误”。我喜欢这种情况。