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, '工资表.xlsxSheet1'!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)

相关推荐
find1star13 小时前
LeetCode 54:螺旋矩阵——用四个边界模拟矩阵收缩
java·算法·leetcode·边缘计算·学习方法
weixin_4935036713 小时前
商会系统里的在线文件预览:PDF/Word/Excel 三种实现与选型(Node + 前端实战)
pdf·word·excel
asdzx6715 小时前
Python 解析 Excel 数据、图片与图表的实现方案
python·excel
慧都小妮子16 小时前
GcExcel 服务端 Excel 组件:无需安装 Office 的 Java/.NET 报表方案
java·.net·excel·gcexcel·服务端excel组件
The Future is mine1 天前
Excel如何只允许对部分表格内容进行修改
excel
2601_962099461 天前
Python xlwt设置excel单元格字体及格式
python·excel·xlwt·样式设置·单元格格式
张继雁1 天前
张继雁 个人技术简介|磨削加工过滤方向
大数据·数据库·论文阅读·人工智能·机器学习·创业创新·业界资讯
zihan5181 天前
理论:构建“基于客观事实、可量化、闭环自给自足”的个人操作系统
笔记·职场和发展·学习方法
葡萄城技术团队2 天前
不会写 SUMIFS 也能做汇总?用 SpreadJS AI 生成并解释 Excel 公式
人工智能·excel
2501_933670792 天前
采购运营校招Excel能力清单:函数、透视表、ERP数据与SQL入门
数据库·sql·excel