`INDEX` 和 `MATCH` 函数是 Excel 中非常强大的组合,它们允许你根据某个值在数组中查找位置,并返回对应位置的值。以下是它们的基本用法和组合使用示例:
单独使用
MATCH 函数:
```
=MATCH(查找值, 查找区域, [匹配类型])
```
INDEX 函数:
```
=INDEX(数组, 行号, [列号])
```
组合使用
当你需要根据某个值查找另一个值时,可以将 `MATCH` 函数的结果作为 `INDEX` 函数的行号参数,或者反过来。
示例
假设你有一个包含员工信息的表格,你想根据员工编号查找员工姓名:
```
| A | B | C |
|---|---|---|
| 1 | 张三 | 101 |
| 2 | 李四 | 102 |
| 3 | 王五 | 103 |
```
要查找编号为 `102` 的员工姓名,你可以使用以下公式:
```
=INDEX(B:B, MATCH(102, A:A, 0))
```
这里,`MATCH` 函数查找 `102` 在 `A:A` 范围内的位置,`INDEX` 函数返回 `B:B` 范围内对应位置的值,即 `李四`。
动态查询示例
如果你想根据两个条件(比如部门和科目)动态查询成绩,可以使用嵌套的 `MATCH` 和 `INDEX` 函数:
```
=INDEX($A$1:$D$8, MATCH(A12, $A$1:$A$8, 0), MATCH(B12, $A$1:$D$1, 0))
```
在这个例子中,`MATCH` 函数分别查找 `A12` 在 `A` 列和 `B12` 在 `A` 到 `D` 列的位置,然后 `INDEX` 函数返回对应的成绩。
注意事项
确保查找值和查找区域中的数据完全一致,包括大小写和空格等。
当使用绝对引用时(例如 `$A$2:$A$8`),公式在复制到其他单元格时不会改变引用的单元格地址。
当存在重复值时,`MATCH` 函数会返回第一个匹配项的位置。
希望这些信息能帮助你理解 `INDEX` 和 `MATCH` 函数的组合使用