乐于分享
好东西不私藏

职场必备Excel丨别再死磕VLOOKUP了!INDEX+MATCH组合,向左查找、多条件查找都能搞定

职场必备Excel丨别再死磕VLOOKUP了!INDEX+MATCH组合,向左查找、多条件查找都能搞定

你是不是遇到过这些情况:

  • 想根据“姓名”查找“工号”,但VLOOKUP只能向右查,报错!

  • 想同时根据“产品”和“月份”查销量,VLOOKUP做不到……

  • 插入一列后,VLOOKUP的第三参数(第几列)又要手动改,烦不烦?

今天讲 INDEX + MATCH 组合 —— 比VLOOKUP更灵活、更强大的查找方案。

一个找位置,一个取内容,配合起来可以上下左右任意查,而且不受插入列影响。

一、先认识两个函数

MATCH:查找位置

=MATCH(找什么, 在哪找, 0)

返回要找的内容在区域中的第几个位置(数字)。

INDEX:根据位置返回值

=INDEX(区域, 第几行, [第几列])

根据行号和列号,从区域中取出对应的内容。

组合原理:用MATCH找到行号(或列号),再交给INDEX取数。

二、案例1:反向查找(根据姓名查工号)—— VLOOKUP的死穴

场景:A列工号,B列姓名。你想根据姓名查工号(从右向左查)。

数据

AB
工号姓名
1001张三
1002李四

公式=INDEX(A:A, MATCH("李四", B:B, 0))

  • MATCH("李四", B:B, 0) → 姓名在B列第3行 → 返回 3

  • INDEX(A:A, 3) → 取A列第3行的值 → 1002

✅ 轻松实现向左查找,VLOOKUP做不到。

三、案例2:多条件查找(根据产品和月份查销量)

场景:根据“产品”和“月份”两个条件,从交叉表中找到销量。

数据:A列产品,第1行月份,中间是销量。

ABCD
产品1月2月3月
A100150200
B120160180

查找“B产品、2月”的销量。

公式=INDEX(B2:D3, MATCH("B", A2:A3, 0), MATCH("2月", B1:D1, 0))

  • 第一个MATCH找产品在A列的行号 → 2

  • 第二个MATCH找月份在第1行的列号 → 2

  • INDEX从B2:D3区域中取第2行、第2列的值 → 160

✅ 一个公式搞定二维交叉查询。

四、案例3:解决VLOOKUP插入列后失效的问题

用VLOOKUP时,如果在查找范围中间插入一列,第三参数(返回第几列)不会自动变,公式结果错乱。

用INDEX+MATCH就没有这个烦恼。

场景:根据姓名查找工资,工资列位置可能变化。

公式=INDEX(工资列整列, MATCH("李四", 姓名列整列, 0))

即使你在A、B之间插入了新列,MATCH仍然正确找到“姓名”列的位置,INDEX也能从正确的“工资列”取值。公式不用改,结果永远对。

写在最后

INDEX+MATCH 是职场Excel高手的必备技能。
记住它的两大优势:

场景VLOOKUPINDEX+MATCH
向左查找❌ 不行✅ 轻松
多条件查找❌ 麻烦✅ 一个公式
插入列后❌ 参数要改✅ 自动适应

建议收藏,下次遇到复杂查找,直接上INDEX+MATCH。

觉得有用,点个“在看”吧~
—— 每天10秒,学一个Excel小技巧。