Excel中的`INDEX`和`MATCH`函数是强大的查找和引用工具,它们可以单独使用,也可以组合使用来实现更复杂的数据查找和匹配操作。
单独使用
INDEX函数 基本语法
: `INDEX(array, row_num, [column_num])`
功能: 返回指定数组或区域中特定位置的元素。 参数
`array`: 要查找的范围。
`row_num`: 要返回的行号(必需)。
`column_num`: 要返回的列号(可选,默认为1)。
MATCH函数 基本语法
: `MATCH(lookup_value, lookup_array, [match_type])`
功能: 在指定区域中查找特定的值,并返回其相对位置。 参数
`lookup_value`: 要查找的值。
`lookup_array`: 查找的区域。
`match_type`: 匹配类型(可选,0表示精确匹配,1表示小于等于,-1表示大于等于)。
组合使用
`INDEX`和`MATCH`函数可以组合使用,以实现更灵活的数据查找和匹配。
基础查找 公式
: `INDEX(返回值区域, MATCH(查找值, 查找区域, 0))`
示例:
```excel
=INDEX(B2:B100, MATCH(A2, A2:A100, 0))
```
优势: 比VLOOKUP更灵活,可以向左查找,查找区域可以分开。双向查找
公式: `INDEX(数据区域, MATCH(行查找值, 行查找区域, 0), MATCH(列查找值, 列查找区域, 0))`
示例:
```excel
=INDEX(A2:E100, MATCH(3, A2:A100, 0), MATCH(2, A2:E2, 0))
```
说明: 先查找行,再查找列,实现双向查找。数组公式查找
公式: `INDEX(返回值区域, MATCH(1, (条件1)*(条件2), 0))`
示例:
```excel
=INDEX(A2:A100, MATCH(1, (C2:C100>60)*(D2:D100<80), 0))
```
说明: 使用数组公式,查找同时满足两个条件的行。 示例 假设我们有一个包含5个外卖店数据的表格,数据如下: | 店名 | 下单率 | 好评率 | 差评率 | |------|--------|--------|--------| | 1号店 | 0.85 | 0.9| 0.05 | | 2号店 | 0.8| 0.85 | 0.1| | 3号店 | 0.9| 0.88 | 0.02 | | 4号店 | 0.75 | 0.8| 0.15 | | 5号店 | 0.82 | 0.85 | 0.03 | 我们想在查找表中查找1号店、3号店和5号店的下单率、好评率和差评率,并将结果放在结果表中。查找1号店的数据
公式:
```excel
=INDEX($A$2:$H$7, MATCH("1号店", $A$2:$A$7, 0), MATCH("下单率", $A$2:$H$2, 0))
=INDEX($A$2:$H$7, MATCH("1号店", $A$2:$A$7, 0), MATCH("好评率", $A$2:$H$2, 0))
=INDEX($A$2:$H$7, MATCH("1号店", $A$2:$A$7, 0), MATCH("差评率", $A$2:$H$2, 0))
```
结果: 分别返回第2行的下单率、好评率和差评率。 查找3号店的数据
公式: