当前位置: 首页 > article >正文

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 数据处理的最佳工具之一。


http://www.kler.cn/a/512709.html

相关文章:

  • 图的基本概念
  • 三格电子——MODBUS TCP 转 CANOpen 协议网关
  • ovs实现lb负载均衡
  • 人工智能领域单词:英文解释
  • MySQL配置my.ini文件
  • 通过Ukey或者OTP动态口令实现windows安全登录
  • C链表的一些基础知识
  • 【ELK 实战篇】日志聚合与可视化全流程详解:从部署到洞察数据的高效指南
  • 【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko
  • js-前端判空处理(条件判空,逻辑运算符,三元判断,空值合并运算符(??),可选链,正则表达式,自定义函数)
  • 【16届蓝桥杯寒假刷题营】第1期DAY5
  • HDFS Disk Balancer 介绍使用
  • 无人机+无人车+无人船+机器狼:无人装备技术优势详解
  • C# 多线程 安全数据结构
  • 【Java-图片存储方案】
  • RM500U-CN模组
  • Vue2+OpenLayers添加缩放、滑块缩放、拾取坐标、鹰眼、全屏控件(提供Gitee源码)
  • 从密码学原理与应用新方向到移动身份认证与实践
  • 【三国游戏——贪心、排序】
  • 国自然面上项目|基于组合机器学习算法的病理性近视眼底多模态影像资料自动化定量分析研究|基金申请·25-01-18
  • 04、Redis从入门到放弃 之 数据持久化RDB和AOF
  • 相机成像及参数原理入门
  • python转转商超书籍信息爬虫
  • B站评论系统的多级存储架构
  • STM32补充——FLASH
  • Qt之文件系统操作和读写