Web应用源码泄漏探测:从信息收集到自动化利用的攻防实践
2026/7/8 16:25:10
VLOOKUP是 Excel 中最常用、最强大的查找函数之一,用于在表格的垂直方向(按列)查找指定值,并返回同一行中指定列的值。
=VLOOKUP(查找值, 查找区域, 返回第几列, [查找方式])假设有以下数据表(A1:D6):
| A | B | C | D |
|---|---|---|---|
| 学号 | 姓名 | 班级 | 成绩 |
| 1001 | 张三 | 一班 | 85 |
| 1002 | 李四 | 二班 | 92 |
| 1003 | 王五 | 一班 | 78 |
| 1004 | 赵六 | 三班 | 96 |
| 1005 | 孙七 | 二班 | 88 |
想根据学号查找姓名:
=VLOOKUP(1003, A2:D6, 2, FALSE)结果:王五
查找成绩:
=VLOOKUP(1004, A2:D6, 4, FALSE)结果:96
动态查找(结合输入单元格)
在 E1 输入要查找的学号,在 E2 输入公式:
=VLOOKUP(E1, A2:D6, 2, FALSE)返回多列信息(拖拽公式)
=VLOOKUP($E$1, $A$2:$D$6, 2, FALSE)→ 姓名=VLOOKUP($E$1, $A$2:$D$6, 3, FALSE)→ 班级=VLOOKUP($E$1, $A$2:$D$6, 4, FALSE)→ 成绩$固定区域和查找值,向右拖拽即可。查找值是文本时
如果查找值是文本(如姓名找学号),同样适用:
=VLOOKUP("李四", A2:D6, 1, FALSE)近似匹配(TRUE)应用场景
用于分段查找(如税率表、成绩等级):
=VLOOKUP(分数, 分数区间表, 2, TRUE)注意:第一列必须从小到大排序。
通配符查找(仅在查找方式为 TRUE 时有效)
*代表任意多个字符?代表单个字符=VLOOKUP("*三*", A2:D6, 2, TRUE)跨工作表查找
=VLOOKUP(A1, Sheet2!A:B, 2, FALSE)跨工作簿查找(需打开目标工作簿)
=VLOOKUP(A1, '[其他文件.xlsx]Sheet1'!$A:$D, 3, FALSE)| 错误 | 原因 | 解决办法 |
|---|---|---|
| #N/A | 找不到匹配值 | 检查拼写、大小写、空格;使用 FALSE 精确匹配 |
| #REF! | 列索引数超出查找区域列数 | 确保列索引 ≤ 区域总列数 |
| #VALUE! | 列索引不是数字 | 检查第3个参数是否为数字 |
| #NAME? | 函数名拼写错误 | 检查是否写成 VLOOCKUP 等 |
处理 #N/A 错误(推荐)
使用 IFERROR 或 IFNA:
=IFERROR(VLOOKUP(E1,A2:D6,2,FALSE),"未找到")或(Excel 2013+):
=IFNA(VLOOKUP(E1,A2:D6,2,FALSE),"未找到")大小写不敏感查找
VLOOKUP 本身不区分大小写。如需区分,可结合 EXACT 函数复杂处理。
双条件查找(VLOOKUP 无法直接实现)
推荐使用:
向左查找(VLOOKUP 无法实现)
VLOOKUP 只能向右返回。解决:
多表动态查找
结合 INDIRECT:
=VLOOKUP(A1, INDIRECT(B1&"!A:D"), 3, FALSE)B1 中输入工作表名如 “Sheet2”
XLOOKUP(Excel 365 / Excel 2021+,最强替代)
=XLOOKUP(查找值, 查找列, 返回列, "未找到", 0)支持向左查找、默认精确匹配、返回数组等。
INDEX + MATCH
=INDEX(返回列, MATCH(查找值, 查找列, 0))更灵活,支持向左查找。
掌握 VLOOKUP 后,你就能轻松处理 80% 的数据查找需求!如果有具体场景问题,欢迎继续提问。