微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google 财经无法识别我的日期字段并返回错误消息

如何解决Google 财经无法识别我的日期字段并返回错误消息

我在 Google 表格中的以下公式有问题:

=IFS(F2 "EUR",E2*GOOGLEFINANCE("Currency:"&F2&$G$1,"price",H2),F2 = "EUR",E2)

H2 是一个包含日期的单元格。我正在尝试获得一个可以用于多个不同日期的公式。 我收到以下错误消息:

函数 MULTIPLY 参数 2 需要数字值。但“日期”是一个文本,不能强制为数字。

根据我的研究,该公式有以下限制:

=GOOGLEFINANCE("Currency:USDGBP",DATE(YYYY,MM,DD),DD)

其中第一个嵌套的 DATE 函数是开始日期,第二个 DATE 函数是结束日期。它们是可选的。

我尝试了 Date(H2) 并收到此错误消息:

DATE 的参数数量错误。预期 3 个参数,但收到 1 个参数。

先谢谢你!

解决方法

我已经测试了您的函数,并且错误 函数 MULTIPLY 参数 2 需要数字值。但是“日期”是一个文本,不能被强制转换为数字是因为您的 IFS 函数中的这部分 E2*GOOGLEFINANCE("Currency:"&F2&$G$1,"price",H2)

GOOGLEFINANCE("Currency:"&F2&$G$1,H2) 的返回值是一个数组(它包含字符串和数字)并且无法将其乘以 E2 值。此外,如果单独运行 GOOGLEFINANCE("Currency:"&F2&$G$1,H2) 效果很好,那么 H2(日期单元格)不是导致错误的主要原因。

推荐解决方案:

我已经检查了如何在 GOOGLEFINANCE 函数上仅返回价格而不是数组,并偶然发现了来自 How can I get GOOGLEFINANCE to return only the historical price of a stock and not an array? 的答案。

相反,您可以在下面尝试此功能:

=IFS(F2<>"EUR",min(GoogleFinance("Currency:"&F2&$G$1,"PRICE",H2))*E2,F2 = "EUR",E2)

这是我这边的一个示例测试:

enter image description here

,

任何时候 GoogleFinance() 返回一个历史数组,您都需要对它进行 INDEX() 以获得唯一的答案。

它几乎总是您想要的数组的第二行和第二列。

所以:

=INDEX(Goooglefinance(.... ),2,2)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。