如何在Excel中用INDEX和MATCH函数替代VLOOKUP函数?
使用INDEX + MATCH替代VLOOKUP根据员工ID查找薪资
核心公式
假设你在单元格E2中输入要查询的员工ID,返回对应薪资的公式如下:
=INDEX(C:C, MATCH(E2, A:A, 0))
公式拆解
MATCH(E2, A:A, 0):在A列(员工ID列)中精确匹配E2的内容,返回该ID所在的行号。第三个参数0表示精确匹配,这是确保查找准确的关键,不能省略。INDEX(C:C, [行号]):根据MATCH返回的行号,提取C列(薪资列)对应位置的单元格内容,也就是目标薪资。
实际示例
比如你在E2输入员工ID "EMP005",而A列第7行是这个ID,那么MATCH(E2, A:A, 0)会返回7,INDEX(C:C,7)就会取出C7单元格的薪资数值。
为什么INDEX+MATCH比VLOOKUP更灵活
- 不受列顺序限制:如果后续需要根据ID查找姓名,只需把INDEX的范围改成
B:B即可,无需调整表格列的位置;而VLOOKUP要求查找列必须在结果列左侧。 - 精确匹配逻辑更清晰:VLOOKUP需要在第四个参数写
FALSE或0来触发精确匹配,而MATCH的第三个参数0直接明确了匹配规则,可读性更强。 - 抗列变动干扰:如果表格中间插入新列,INDEX+MATCH只要保持范围是整列(比如
C:C)就不会出错;而VLOOKUP的列序号参数需要手动修改,容易遗漏出错。
内容的提问来源于stack exchange,提问作者Kaaliyah Gray
相关产品推荐
相关产品推荐

