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

目录

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:D100, 4, FALSE)

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

查找返回多列数据

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

  • 组合技巧:

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

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

查找最新记录

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

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

性能优化技巧

  • 限制查找范围:

=VLOOKUP(A2, A 2 : 2: 2:D1000, 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:F100, 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)

相关推荐
在掘金8 小时前
【kk-utils】Excel工具——excel-js
前端·excel
安全菜鸟9 小时前
DeepSeek 接入 Excel 完整教程
excel
陌漠ardently12 小时前
正则表达式和excel文件保存(python)
python·mysql·excel
CodeJourney.19 小时前
从PPT到DeepSeek开启信息可视化的全新之旅
数据库·人工智能·算法·excel·流程图
蹦蹦跳跳真可爱5891 天前
Python----机器学习(基于PyTorch的乳腺癌逻辑回归)
人工智能·pytorch·python·分类·逻辑回归·学习方法
HORSE RUNNING WILD1 天前
为什么我们需要if __name__ == __main__:
linux·python·bash·学习方法
inxunoffice1 天前
批量将文件夹名称、文件夹路径提取到 Excel 清单
excel
inxunoffice1 天前
导入 Excel 批量替换文件夹名称
excel
CodeJourney.1 天前
利用DeepSeek实现文档到流程图的高效转换:技术应用与实践探索
数据库·人工智能·算法·excel·流程图