掌握INDEX+MATCH函数:Excel中强大的数据查找组合

掌握INDEX+MATCH函数:Excel中强大的数据查找组合在Excel中,查找和引用数据是日常工作中常见的任务。虽然VLOOKUP函数广为人知,但它有一些局限性。INDEX和MATCH函数的组合提供了一

大家好,欢迎来到IT知识分享网。

在Excel中,查找和引用数据是日常工作中常见的任务。虽然VLOOKUP函数广为人知,但它有一些局限性。INDEX和MATCH函数的组合提供了一种更灵活和强大的数据查找方法。本文将详细介绍INDEX和MATCH函数的用法以及它们在不同场景下的应用。

一、INDEX和MATCH函数的基本用法

  1. INDEX函数的语法和用法

INDEX(数组,行序数,列序数,区域序数])

  • 数组: 数据数组或单元格区域
  • 行序数: 要返回的值的行号
  • 列序数: 要返回的值的列号(可选)

示例

如果我们想要查找第二行第二列的值,就可以用以下公式,得到结果为财务部

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

2. MATCH函数的语法和用法

MATCH(查找值,查找区域,匹配类型)

  • 查找值: 要查找的值
  • 查找区域: 查找的范围
  • 匹配类型: 匹配类型(可选):1(默认,近似匹配),0(精确匹配),-1(小于匹配)

示例

如果我们想要查找“李四”在表格中的行号,可以使用以下公式,因为表格范围是从A2开始的,所以第1行相当于是张三,李四位于以A2为起始行的第2行,所以得到结果为2

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

二、INDEX和MATCH函数的组合用法

1. 基本组合用法

通过组合使用INDEX和MATCH函数,我们可以实现更灵活的查找功能。假设我们想要查找“李四”的工资,可以使用以下公式:

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

2. 双向查找

假设我们有一个更复杂的表格,需要根据行和列查找值。我们可以使用INDEX和MATCH组合进行双向查找。如果我们想要查找“王五”的“工资”,可以使用以下公式,得到结果6000

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

3 . 动态范围查找

示例:查找“张三”和“王五”之间的工资总和

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

拆开解释:

  • INDEX(C2:C5, MATCH(“张三”, A2:A5, 0)):找到“张三”所在行的工资。
  • INDEX(C2:C5, MATCH(“王五”, A2:A5, 0)):找到“王五”所在行的工资。
  • SUM(…):在这个范围内求和。

结果:5000 + 7000 + 6000 = 18000

4. 多条件查找

示例:查找市场部且工资为6000的员工姓名

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

拆开解释:

  • MATCH(1, (B2:B5=”市场部”)*(C2:C5=6000), 0):找到同时满足B列为“市场部”和C列为6000的行。
  • INDEX(A2:A5, …):返回A列对应行的值。(按Ctrl+Shift+Enter输入)
  • 如果是新版本的WPS或者EXCEL,支持数组,就不需要三键(按Ctrl+Shift+Enter输入),直接等于就可以

结果:王五

5. 近似匹配

示例:查找最接近7500的工资对应的员工姓名

(1)如果工资顺序没有升序,就按照下述方法

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

拆开解释:

  • ABS(C2:C5-7500):计算每个工资与7500的绝对差值。
  • MIN(ABS(C2:C5-7500)):找到最小的绝对差值,即最接近7500的差值。
  • MATCH(…, ABS(C2:C5-7500), 0):找到与最小绝对差值相匹配的位置。
  • INDEX(A2:A5, …):返回A列对应行的值。
  • 如果是新版本的WPS或者EXCEL,支持数组,就不需要三键(按Ctrl+Shift+Enter输入),直接等于就可以

结果:李四

(2)如果工资按顺序从小到大,就按照下述方法,更简单

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

拆开解释:

  • MATCH(7500, C2:C5, 1):找到小于或等于7500的最大值的位置(前提是数据按升序排列)。
  • INDEX(A2:A5, …):返回A列对应行的值。

结果:李四

6. 嵌套函数组合

示例:查找“赵六”的工资,如果找不到则返回“未找到”

掌握INDEX+MATCH函数:Excel中强大的数据查找组合

拆开解释:

  • MATCH(“赵六”, A2, 0):
    • MATCH函数用于在指定范围内查找值的位置。这里的”赵六”是要查找的值,A2:A5是查找范围,0表示精确匹配。
    • 如果找到”赵六”,MATCH函数会返回一个数字,表示”赵六”在范围中的位置;如果找不到,MATCH函数会返回#N/A错误。
  • ISNUMBER(MATCH(“赵六”, A2, 0)):
    • ISNUMBER函数用于检查给定的值是否为数字。如果MATCH函数找到”赵六”并返回一个位置,ISNUMBER会返回TRUE;如果MATCH函数返回#N/A,ISNUMBER会返回FALSE。
  • IF(ISNUMBER(MATCH(“赵六”, A2, 0)), … , “未找到”):
    • IF函数用于执行逻辑判断。第一个参数是逻辑测试,即ISNUMBER(MATCH(“赵六”, A2:A5, 0))。
    • 如果逻辑测试结果为TRUE(即找到”赵六”),则返回IF函数的第二个参数的值:INDEX(C2:C5, MATCH(“赵六”, A2:A5, 0))。
    • 如果逻辑测试结果为FALSE(即未找到”赵六”),则返回IF函数的第三个参数的值:“未找到”。
  • INDEX(C2, MATCH(“赵六”, A2, 0)):
    • 如果MATCH函数找到了”赵六”的位置,这段代码会使用INDEX函数从C列中返回对应位置的值。
    • MATCH(“赵六”, A2:A5, 0)返回”赵六”在A列中的位置,然后INDEX函数使用这个位置从C列中提取工资。

结果:

  • 如果”赵六”在A列中,公式返回对应的工资:8000。
  • 如果”赵六”不在A列中,公式返回:“未找到”。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/73076.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信