基于两表日期匹配自动获取对应汇率的技术问询
汇率匹配解决方案
为什么不推荐用Query函数
Query更适合复杂的数据筛选、聚合场景,单日期匹配用它属于大材小用,而且日期格式的兼容性问题容易导致匹配失败,没必要舍近求远。
更高效的替代方案
以下假设:
- Table1的交易日期列是
A2:A,需填充汇率的列是B2:B - Table2的汇率日期列是
D2:D,USD<>CHF汇率列是E2:E - 示例中Table2的日期为当月月末日期,所以需要把交易日期转换为当月月末再匹配
方案1:XLOOKUP(推荐,适配新版Excel/Google Sheets)
在Table1第一个需填汇率的单元格(如B2)输入公式:
=XLOOKUP(EOMONTH(A2,0), Table2!D:D, Table2!E:E, "无匹配")
如果Table2的日期不是月末,直接用A2替换EOMONTH(A2,0)即可
方案2:INDEX+MATCH组合(全版本兼容)
公式如下:
=INDEX(Table2!E:E, MATCH(EOMONTH(A2,0), Table2!D:D, 0))
MATCH定位对应日期在Table2的行号INDEX根据行号提取对应汇率
方案3:VLOOKUP(传统常用)
公式如下:
=VLOOKUP(EOMONTH(A2,0), Table2!D:E, 2, FALSE)
注意:VLOOKUP要求匹配的日期列必须是Table2选取区域的第一列
常见问题排查
- 确保两张表的日期列都设置为日期格式,避免文本格式导致匹配失效
- 核对Table2的日期规则,若不是月末日期,删除公式中的
EOMONTH函数,直接用原始交易日期匹配
内容的提问来源于stack exchange,提问作者QQ-88
相关产品推荐
相关产品推荐

