Excel多条件返回值:基于日期与Item Name查询Price,INDEX MATCH是否可行?
用INDEX+MATCH实现双条件(日期+Item Name)的价格查询
当然可以!INDEX + MATCH的组合完全能搞定这种基于日期和Item Name两个条件的Price数值查询,这也是Excel里处理多条件匹配的经典方案之一,比VLOOKUP在多场景下更灵活。
基本公式示例
假设你的数据结构是这样的:
- A列:日期(数据范围比如
A2:A100) - B列:Item Name(范围
B2:B100) - C列:Price(范围
C2:C100)
要是你在E2输入目标日期,F2输入要查找的Item Name,想在G2得到对应的Price,直接用这个公式就行:
=INDEX(C:C, MATCH(1, (A:A=E2)*(B:B=F2), 0))
小提示:如果是Excel 365/2021及以后版本,输入完直接回车就生效;旧版Excel需要按
Ctrl+Shift+Enter来确认这个数组公式哦。
公式拆解
我给你拆解开,让你明白每个部分在干嘛:
(A:A=E2)*(B:B=F2):这是双条件判断的核心,两个条件分别生成一组TRUE/FALSE的数组,相乘后会把同时满足两个条件的位置变成1,其他不满足的位置变成0MATCH(1, ..., 0):在上面得到的数组里找到第一个1的位置,这个位置就是同时匹配目标日期和Item Name的那一行INDEX(C:C, ...):根据MATCH找到的行号,从Price列(C列)里取出对应的价格数值
优化小技巧
要是担心没有匹配结果时返回#N/A错误,可以套个IFERROR函数,让提示更友好:
=IFERROR(INDEX(C:C, MATCH(1, (A:A=E2)*(B:B=F2), 0)), "无匹配数据")
内容的提问来源于stack exchange,提问作者Rosellx
相关产品推荐
相关产品推荐

