自学内容网 自学内容网

Excel 面试 05 查找函数组合 INDEX-MATCH

Excel 的 INDEX-MATCH 是一种强大的函数组合,用于查找和返回表格中的值。相比于传统的 VLOOKUPHLOOKUP,它更灵活且高效,尤其在需要双向查找或处理动态列时表现出色。


INDEX-MATCH 基本原理

  1. INDEX 函数:返回数组中指定位置的值。

    语法

    INDEX(array, row_num, [column_num])
    
    • array:要从中取值的范围或数组。
    • row_num:指定返回值的行号。
    • column_num(可选):指定返回值的列号。

    示例

    =INDEX(A1:C3, 2, 3)
    
    • 查找 A1:C3 范围的第 2 行第 3 列的值。
  2. MATCH 函数:返回查找值在数组中的位置。

    语法

    MATCH(lookup_value, lookup_array, [match_type])
    
    • lookup_value:需要查找的值。
    • lookup_array:要搜索的范围。
    • match_type(可选):
      • 1:小于等于查找值的最大值(默认,需按升序排序)。
      • 0:精确匹配。
      • -1:大于等于查找值的最小值(需按降序排序)。

    示例

    =MATCH(90, B2:B5, 0)
    
    • 返回 B2:B5 范围中 90 的位置(精确匹配)。
  3. INDEX-MATCH 组合:使用 MATCH 确定位置,再用 INDEX 返回对应值。


INDEX-MATCH 语法

=INDEX(return_array, MATCH(lookup_value, lookup_array, match_type))
  • return_array:要返回值的范围。
  • lookup_value:要查找的值。
  • lookup_array:包含查找值的范围。
  • match_type:指定匹配方式(通常为 0,精确匹配)。

INDEX-MATCH 的优点

  1. 支持左侧查找

    • VLOOKUP 只能从左到右查找,INDEX-MATCH 没有这个限制。
  2. 动态列查找

    • VLOOKUP 依赖列索引号,数据表发生变化时容易出错;而 INDEX-MATCH 不受列位置影响。
  3. 更高效

    • 当数据范围很大时,INDEX-MATCH 运行速度比 VLOOKUP 快。
  4. 支持水平查找

    • 配合 MATCH 的列号参数,INDEX-MATCH 可以在二维表中查找。

用法示例

示例 1:简单查找
产品价格
苹果5
香蕉3
葡萄8

公式

=INDEX(B2:B4, MATCH("香蕉", A2:A4, 0))
  • MATCH("香蕉", A2:A4, 0) 返回 2,即 “香蕉” 在第 2 行。
  • INDEX(B2:B4, 2) 返回 3,即对应的价格。
  • 结果3

示例 2:双向查找
产品价格库存
苹果550
香蕉330
葡萄880

目标:查找 “葡萄” 的库存。

公式

=INDEX(C2:C4, MATCH("葡萄", A2:A4, 0))
  • MATCH("葡萄", A2:A4, 0) 找到 “葡萄” 的行号。
  • INDEX(C2:C4, 3) 返回库存 80
  • 结果80

示例 3:多条件查找
姓名科目分数
张三数学90
李四英语85
张三英语88

目标:查找 “张三” 在 “英语” 的分数。

公式

=INDEX(C2:C4, MATCH(1, (A2:A4="张三")*(B2:B4="英语"), 0))
  • (A2:A4="张三")(B2:B4="英语") 创建两个条件。
  • MATCH(1, ..., 0) 确定满足条件的行号。
  • INDEX(C2:C4, ...) 返回对应的分数。
  • 结果88

注意:按 Ctrl + Shift + Enter 确认数组公式(适用于旧版 Excel)。


示例 4:从右到左查找
价格产品
5苹果
3香蕉
8葡萄

目标:查找价格为 3 的产品。

公式

=INDEX(B2:B4, MATCH(3, A2:A4, 0))
  • MATCH(3, A2:A4, 0) 返回 2,即价格 3 的行号。
  • INDEX(B2:B4, 2) 返回 “香蕉”。
  • 结果香蕉

INDEX-MATCH 和 VLOOKUP 比较

功能INDEX-MATCHVLOOKUP
查找方向左、右均支持只能从左到右
灵活性高,支持动态列低,列索引容易出错
性能更快(尤其大范围时)较慢
复杂性略复杂,需要组合公式简单
错误处理可自定义错误处理需结合 IFERROR

总结

INDEX-MATCH 是一个高效、灵活的查找组合,适用于需要精确查找、左侧查找、多条件匹配或更高性能的场景。尽管设置公式稍微复杂,但其强大的功能使其成为 Excel 数据处理的最佳工具之一。


原文地址:https://blog.csdn.net/weixin_57266891/article/details/145266016

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!