Excel 使用 INDEX + MATCH 函数按条件查找

问题描述

现有一个公司产品目录,包含产品名称、编号、单价和生产日期信息。要求根据某一产品的编号,查找其他信息。

 

思路分析

分析产品目录发现,编号列并不在数据区域的第一列。VLOOKUP 函数要求查找区域在数据区域的第一列,因此在这里无法使用 VLOOKUP 函数。

这种情况,可以使用 INDEX + MATCH 组合函数查找,对查找区域位置没有要求。

MATCH 函数根据编号,查找编号所在的行号。

INDEX 函数根据行和列号返回对应位置的数据。

 

方法步骤

1.输入 INDEX 函数,并输入第一个参数,要查找数据的区域:

=INDEX(B4:E14,

 

2.INDEX 函数的下一个参数为行号,行号使用MATCH 函数查找返回,输入 MATCH 函数,查找值为编号,查找列为编号列,精确查找:

=INDEX(B4:E14, MATCH(B17,C4:C14,0),

 

3.INDEX 函数下一个参数为返回值的列号,产品名称在数据区域的第一列,因此输入 1 并按回车完成公式输入:

=INDEX(B4:E14, MATCH(B17,C4:C14,0), 1)

 

4.单价和生产日期的查找公式类似,需要指定他们所在列即可。

转载注明:文章转载自「懒人Excel - www.lanrenexcel.com

您可能还喜欢...

订阅评论
提醒
10 评论
最新
最旧 最多投票
内联反馈
查看所有评论
123
2 年 前

根据项目编号(EJ20205481),到表内找联系人(XXX),无法输出!

jun
2 年 前

=INDEX(D4:E14, MATCH(D17D4,D14,0), 1)

jun
2 年 前

用同样的公式怎么查找不出来???

jun
2 年 前
回复给  jun

=INDEX(B4:E14, MATCH(D17,D4:D14,0), 1)

jun
2 年 前
回复给  懒人Excel

=INDEX(B4:E14, MATCH(D17,B4:E14,0), 1)

jun
2 年 前
回复给  懒人Excel

=INDEX(D4:E14, MATCH(D17,D4:D14,0), 1)

MANGMANG
2 年 前

直接筛选不行吗

10
0
希望看到您的想法,请您发表评论x