Excel(函数篇):Vlookup函数 详细用法

发布于:2025-03-16 ⋅ 阅读:(14) ⋅ 点赞:(0)

Vlookup函数

基础用法

精确查找

  • 参数:VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
    在这里插入图片描述

  • 填充时,注意选择“不带格式填充”

在这里插入图片描述

  • 重点解释一下第三个参数:索引值,它应该以第二个参数所限定的范围来看!

如例子中“4”,是第二个参数,所选范围内,要返回值所在的列索引!

在这里插入图片描述
在这里插入图片描述

  • 注意!!!查找值必须在首列

  • 使用场景:

当需要在表格中精确查找某个值对应的信息时使用(如根据工号查姓名)

在这里插入图片描述

  • 输入公式:

=VLOOKUP(1002, A2:D4, 2, FALSE) → 返回"李四"

=VLOOKUP(“王五”, B2:D4, 3, FALSE) → 错误!查找值必须在首列

正确做法:必须首列必须包含查找值,然后第三个参数索引
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

易错问题

  • 查找数据和表中数据不一致:注意要查找的值,是否带空格导致不一致

在这里插入图片描述
在这里插入图片描述

如何替换掉行列所有的空格:ALT + H,将空格替换为空!

在这里插入图片描述
在这里插入图片描述

  • 数字格式问题:数字格式无法直接找文本格式
    在这里插入图片描述

(1)在不修改源数表的数据格式的基础上如何实现查询呢?!解决办法是,将要查询的数字格式,转成文本格式,具体方式是用:&“” 数字格式&“” 就会转成文本格式!!!

在这里插入图片描述
在这里插入图片描述

  • 用“文本找数字”:同样需要转化要查询值的格式,具体做法是 *1 或 +0

在这里插入图片描述

员工信息查询表

  • 制作一张根据姓名查询员工所有数据的动态表

在这里插入图片描述

  • 结合数据验证,制作可供选择的序列

在这里插入图片描述

快捷键:ALT A V V

在这里插入图片描述

  • 动态变化的好处:便于利用Excel各种工具,比如数据透视表,可以来统计下每个部门多少人?

在这里插入图片描述

进阶用法

近似匹配(模糊查找)

  • 参数:=VLOOKUP(查找值, 数据范围, 列序号, TRUE)
  • 适用场景:
    查找成绩等级(90分以上A,80-89B…)
    税率计算
    区间数值对应

在这里插入图片描述

=VLOOKUP(85, A2:B6, 2, TRUE) → 返回"B"

结合通配符查找

=VLOOKUP(““&A1&””, 数据范围, 列号, FALSE)

  • 适用场景:
    查找包含特定关键词的记录;
    模糊匹配文本内容

=VLOOKUP(“北京”, A2:D10, 3, FALSE) → 查找地址包含"北京"的记录

反向查找

=VLOOKUP(查找值, IF({1,0}, 返回列, 查找列), 2, 0)

  • 适用场景:
    当查找值不在数据表第一列时

在这里插入图片描述

=VLOOKUP(1002, IF({1,0}, B2:B3, A2:A3), 2, 0) → 返回"李四"

高级技巧

多条件查找

=VLOOKUP(条件1&条件2, 数据范围, 列号, FALSE)

  • 实现步骤:
    添加辅助列合并条件
    使用连接符组合条件

在这里插入图片描述
=VLOOKUP(“技术部架构师”, A2:C3, 3, FALSE) → 返回15000

动态列查询

=VLOOKUP(查找值, 数据范围, MATCH(列标题, 标题行, 0), FALSE)

  • 使用:

=VLOOKUP(1001, A2:D4, MATCH(“工资”, A1:D1, 0), FALSE)

错误处理

屏蔽错误值

=IFERROR(VLOOKUP(…), “未找到”)

  • 使用:

=IFERROR(VLOOKUP(1004, A2:D4, 2, FALSE), “无此员工”)

处理数字/文本格式问题

=VLOOKUP(TEXT(数值,“0”), 文本范围, 列号, FALSE)

=VLOOKUP(VALUE(文本数字), 数值范围, 列号, FALSE)

注意事项

在这里插入图片描述

常见错误解决方案

在这里插入图片描述

拓展用法

跨表与跨工作簿查找

  • 在Sheet1中查找Sheet2的数据时,直接使用工作表名!范围格式引用

  • 跨工作簿查找:

=VLOOKUP(A2, ‘[工资表.xlsx]Sheet1’!$A 2 : 2: 2:D$100, 4, FALSE)

注意:需要保持被引用的工作簿处于打开状态

查找返回多列数据

  • =HLOOKUP(VLOOKUP(…), 返回标题行, MATCH(…))

  • 组合技巧:

结合COLUMN函数实现公式横向拖动自动匹配列

=VLOOKUP($A2, 数据范围, COLUMN(B1), FALSE)

查找最新记录

  • =VLOOKUP(MAX(IF(条件范围=条件, 时间列)), 数据范围, 列号, FALSE)

  • 使用:查找某个客户最后一次交易记录时,需要数组公式配合(按Ctrl+Shift+Enter输入)

性能优化技巧

  • 限制查找范围:

=VLOOKUP(A2, $A 2 : 2: 2:D$1000, 3, FALSE) # 明确指定数据终点

优势:相比A:D的全列引用,可提升计算速度

  • 排序优化

=VLOOKUP(A2, 排序后的数据范围, 3, TRUE) # 近似匹配时速度更快

经典组合公式

  • 多级条件判断:

=VLOOKUP(A2&B2, IF({1,0}, 条件1列&条件2列, 结果列), 2, FALSE)

  • 动态范围扩展

=VLOOKUP(A2, OFFSET($A 1 , 0 , 0 , C O U N T A ( 1,0,0,COUNTA( 1,0,0,COUNTA(A:$A),4), 3, FALSE)

实操案例库

  • 员工信息卡

=VLOOKUP(输入工号, 员工数据!$A 2 : 2: 2:F$100, MATCH(B 1 , 员工数据 ! 1, 员工数据! 1,员工数据!A 1 : 1: 1:F$1,0), FALSE)

  • 功能说明:
    B1单元格显示"姓名"时返回姓名
    C1单元格显示"部门"时返回部门

  • 智能报价系统:

=VLOOKUP(客户等级, 折扣表, 2, TRUE)*VLOOKUP(产品编号, 价格表, 2, FALSE)

  • 考勤异常检测:

=IF(ISNA(VLOOKUP(员工ID, 打卡记录!A:B, 2, FALSE)), “缺勤”, “正常”)

函数组合使用

  • INDEX+MATCH组合:

=INDEX(返回列, MATCH(查找值, 查找列, 0))

  • 优势:
    支持向左查找
    不受列位置限制
    计算效率更高

  • XLOOKUP:

=XLOOKUP(查找值, 查找范围, 返回范围, “未找到”, 0, 1)