【发布时间】:2020-11-22 17:05:28
【问题描述】:
我正在尝试将美元金额转换为欧元,但由于汇率动态变化,我想根据交易日期进行转换。
想法是将googlefinance 函数与index 函数以及date 函数一起使用,这将由right、mid 和left 函数组成。所有这些都应该用arrayformula 包裹起来。数字应使用round四舍五入。
无效示例:
别介意;,在我的谷歌表格语言设置中,这是,。
公式: =ARRAYFORMULA(IF(B2:B="";"";ROUND(INDEX(B2:B*GOOGLEFINANCE("CURRENCY:USDEUR";"price";DATE(RIGHT(A2:A;4);MID(A2:A;4;2);LEFT(A2:A;2)));2;2);2)))
公式(用, 代替;):
=ARRAYFORMULA(IF(B2:B="","",ROUND(INDEX(B2:B*GOOGLEFINANCE("CURRENCY:USDEUR","price",DATE(RIGHT(A2:A,4),MID(A2:A,4,2),LEFT(A2:A,2))),2,2),2)))
因为我很确定这个公式应该在“正常情况”下工作,所以我复制了它,省略了数组公式和完整范围(例如 B2:B 等),一旦我向下拖动公式,它就可以工作.
公式: =IF(F2="";"";ROUND(INDEX(F2*GOOGLEFINANCE("CURRENCY:USDEUR";"price";DATE(RIGHT(E2;4);MID(E2;4;2);LEFT(E2;2)));2;2);2))
公式(用, 代替;):
=IF(F2="","",ROUND(INDEX(F2*GOOGLEFINANCE("CURRENCY:USDEUR","price",DATE(RIGHT(E2,4),MID(E2,4,2),LEFT(E2,2))),2,2),2))
有谁知道第一种情况是怎么回事,即为什么它不起作用?我相信它必须是那些全范围的东西(例如 B2:B、A2:B等),但不知道为什么......
【问题讨论】:
-
分享您的工作表副本
标签: date google-sheets google-sheets-formula array-formulas google-finance