一、整体概况:
Excel中最常用的匹配函数是 VLOOKUP(垂直查找)和 XLOOKUP(新版,更灵活)。基本用法如下:
1. VLOOKUP
· 语法:=VLOOKUP(找什么, 在哪找, 返回第几列, 0)
· 示例:=VLOOKUP("张三", A:C, 3, 0) 在A列找“张三”,返回C列对应值。
· 注意:查找值必须在区域的首列;只能向右查找。
2. XLOOKUP(Excel 2021或Office 365)
· 语法:=XLOOKUP(找什么, 在哪列找, 从哪列返回)
· 示例:=XLOOKUP("张三", A:A, C:C) 直接返回C列匹配值,无需考虑列顺序。
3. INDEX+MATCH组合(通用替代方案)
· 示例:=INDEX(C:C, MATCH("张三", A:A, 0)) 实现向左或任意方向查找。
注意:参数最后的 0 或 FALSE 表示精确匹配,必须使用,否则可能得到错误结果。
二、具体讲解:
(一)匹配函数是干嘛用的
简单说就是:给你一个“线索”,帮你从表格里找到对应的“答案”。
比如下面是一张表:
姓名 学号 语文成绩
张三 101 85
李四 102 92
· 线索:知道“张三”这个名字
· 想找:他的语文成绩(85)
匹配函数就是自动干这个活的。
(二)最常用的匹配函数:VLOOKUP
VLOOKUP 的 V 代表“垂直”,意思是一列一列往下找。
怎么写这个函数?
在要显示答案的格子里,输入:
=VLOOKUP(找什么, 在哪里找, 答案在第几列, 0)
在 VLOOKUP 中的最后一个参数(也就是第四个参数):
· 写 0 或者 FALSE → 意思是 “必须一模一样”(精确匹配)
· 写 1 或者 TRUE → 意思是 “差不多就行”(近似匹配)
四个部分分别填什么?
拿上面那个成绩表举例。
你想根据“张三”找到“85”。
你写公式的地方(单元格):
1. 找什么 → 点一下写有“张三”的那个格子(比如 A2),或者直接写 "张三"。
2. 在哪里找 → 把整个表格区域框起来,比如从 A 列到 C 列(包含姓名、学号、成绩)。
注意:第一条“线索”所在的列必须是你框起来的区域里的第一列。这里线索是“姓名”,所以 A 列必须放在最左边。
3. 答案在第几列 → 在你框起来的区域里面数:第1列是姓名,第2列是学号,第3列是语文成绩。我们要成绩,所以填 3。
4. 最后一个写 0 → 0 代表“精确匹配”,你就记住必须写 0(或者写 FALSE)。
完整公式:
=VLOOKUP(A2, A:C, 3, 0)
(A2 是“张三”所在的格子,A:C 是整个表,3 是成绩在第3列)
按回车,这个格子就会显示 85。
一个最容易犯的错误
“线索”所在的列,必须是你框选区域的第一列。
如果你的表格长这样:
学号 姓名 成绩
101 张三 85
你想根据“姓名”找“成绩”。
如果框选 B:C(姓名和成绩两列),没问题,因为姓名是第一列。
如果框选 A:C(学号、姓名、成绩),那“姓名”在第二列了,VLOOKUP 就会出错。
怎么办?要么只框 B:C,要么用下面更聪明的 XLOOKUP。
(三)更简单的匹配函数:XLOOKUP(新版Excel才有)
不用管列的顺序,想怎么找都行。
写法:
=XLOOKUP(找什么, 在哪一列找, 从哪一列返回答案)
还是那个例子,根据“张三”找成绩:
=XLOOKUP("张三", B:B, C:C)
解释:
· 找什么 → "张三"
· 在哪一列找 → 姓名那一列(B列)
· 从哪一列返回答案 → 成绩那一列(C列)
就这么简单,不需要数第几列,也不需要把查找列放在最左边。
(四)如果你用的是WPS或较老版本的Excel,没有 XLOOKUP 的话,可以用 INDEX + MATCH 组合,但稍微复杂一点。
夜雨聆风