在 Excel 中,有很多取值函数可以帮助你从一组数据中提取特定的值。以下是一些常用的取值函数及其用法:
✅ 一、INDEX 函数(索引函数)
功能:从一个区域中返回指定行或列的值。
语法:
=INDEX(数组, 行号, 列号)
示例:
=INDEX(A1:A10, 5, 2)
- 从 A1 到 A10 区域中,第 5 行第 2 列的值。
✅ 二、MATCH 函数(查找函数)
功能:查找某个值在区域中的位置。
语法:
=MATCH(查找值, 区域, [匹配类型])
示例:
=MATCH("Apple", A1:A10, 0)
- 返回 "Apple" 在 A1:A10 中的第几个位置(从 1 开始计数)。
✅ 三、INDEX + MATCH 组合(查找+索引)
功能:结合 INDEX 和 MATCH,可以实现“查找位置,然后取值”。
语法:
=INDEX(数组, MATCH(查找值, 区域, 0))
示例:
=INDEX(A1:A10, MATCH("Apple", A1:A10, 0))
- 返回 A1:A10 中 "Apple" 的位置对应的值。
✅ 四、ROW 函数(行号函数)
功能:返回当前单元格所在的行号。
语法:
=ROW(单元格)
示例:
=ROW(A1)
- 返回 1(A1 的行号)。
✅ 五、COLUMN 函数(列号函数)
功能:返回当前单元格所在的列号。
语法:
=COLUMN(单元格)
示例:
=COLUMN(A1)
- 返回 1(A1 的列号)。
✅ 六、INDEX + ROW 组合(动态取值)
功能:根据行号动态取值。
语法:
=INDEX(数组, ROW(单元格), 列号)
示例:
=INDEX(A1:A10, ROW(A1), 2)
- 返回 A1:A10 中当前单元格(A1)所在行的第 2 列的值。
✅ 七、LOOKUP 函数(查找函数)
功能:查找一个值在区域中的位置,返回下一个值。
语法:
=LOOKUP(查找值, 区域, [结果值])
示例:
=LOOKUP(10, A1:A10, "Not Found")
- 如果 10 在 A1:A10 中,返回它;否则返回 "Not Found"。
✅ 八、XLOOKUP 函数(Excel 365 新增)
功能:更强大的查找函数,支持更灵活的查找方式(如近似匹配、指定列等)。
语法:
=XLOOKUP(查找值, 区域, 结果区域, [匹配模式], [如果找不到])
示例:
=XLOOKUP("Apple", A1:A10, B1:B10)
- 查找 "Apple" 在 A1:A10 中,返回 B1:B10 中对应位置的值。
✅ 九、VLOOKUP 函数(经典查找函数)
功能:从表格中查找某个值,并返回对应列的值。
语法:
=VLOOKUP(查找值, 区域, 列号, [是否近似匹配])
示例:
=VLOOKUP("Apple", A1:B10, 2, FALSE)
- 查找 "Apple" 在 A1:B10 中,返回第 2 列的值。
✅ 十、FILTER 函数(Excel 365 新增)
功能:从数据中筛选出符合条件的值。
语法:
=FILTER(区域, 条件)
示例:
=FILTER(A1:A10, A1:A10 > 10)
- 返回 A1:A10 中大于 10 的值。
✅ 总结
| 函数 | 用途 |
|---|---|
| INDEX | 从区域中返回指定行/列的值 |
| MATCH | 查找值的位置 |
| INDEX + MATCH | 查找位置后取值 |
| ROW | 返回行号 |
| COLUMN | 返回列号 |
| INDEX + ROW | 动态取值 |
| LOOKUP | 查找并返回下一个值 |
| XLOOKUP | 更强大的查找函数 |
| VLOOKUP | 经典查找函数 |
| FILTER | 筛选符合条件的值 |
如果你有具体的数据或场景,我可以帮你写出更精确的公式。欢迎继续提问!