首先,如果这篇文章已经被别人发过了,我很抱歉,我已经搜索了好几个小时,但没有找到与我这里类似的内容。我对 excel 还很陌生。
我的问题是,我拥有从 2000 年至今的两种不同商品的数据,即咖啡和美元兑巴西雷亚尔 (BRL) 的数据。咖啡市场只在特定的日子(没有周末或节假日)开放,而货币兑换则全天候开放。因此,我找到了这两种商品的数据,但货币的数据比咖啡的数据多得多,我想将两者合并在一起,制作一个双轴图表。
我编写了以下代码:=VLOOKUP([Date],USDBRL,USDBRL[USD/BRL]) 其中 [DATE] 是我为咖啡准备的表格,我希望 USDxBRL 位于相应日期旁边。USDBRL 是我拥有所有货币汇率值的表格。USDBRL[USD/BRL] 是包含货币汇率的列
我得到以下结果:第一行是 36528(等于 2000 年 1 月 3 日),日期相同,但我应该得到 1.8055,这是我想要的汇率...下面的几行都是相同的 +1(增加日期)
“有趣”的是,如果我向下滚动一点(到 2001 年 8 月 23 日),我就会开始得到我想要的实际结果,然后它会显示我需要的货币汇率。
我如何复制正确的数据?我上传了我的 Excel 的小版本这里。
如果您能帮助我解决这个问题,我提前谢谢您,我已经为此绞尽脑汁好几个小时了。
答案1
VLOOKUP 的一个问题是,默认情况下,它不会搜索精确匹配。要解决这个问题,您需要将 range_lookup 参数设置为 FALSE。
尝试在第一张表的 C3 中使用以下内容(假设这是该日期的 USD/BRL 汇率),然后将其复制下来:
=VLOOKUP(A3,USDBRL!A:B,2,FALSE)
我通常不会在公式中使用表格引用,而是更喜欢使用明确的列/行标识符,因此您可能需要修改公式以更好地适合您的实现。只需记住包含第四个参数并将其设为 FALSE 即可。
此公式应该适用于您的表格,因为它们在示例工作簿中。
=VLOOKUP([@Date],USDxBRL[#All],2,FALSE)