EXCEL——Vlookup17个高级用法

embedded/2024/9/20 7:36:28/ 标签: excel

大纲

一、基本语法

1、参数详解

二、入门篇

1、单条件查找

2、屏蔽查找返回的错误值

三、进阶篇

1、反向查找

2、包含查找

3、区间查找

4、含通配符查找

5、多列查找

6、多区域查找

四、高级篇

1、多条件查找

2、合并单元格查找

3、带合并单元格的多条件查找

4、一对多查找

5、查找所有值放在一个单元格里

6、查找最后一个

7、跨多表查找

五、新版本中的最新用法

1、批量查找

2、多列批量查找

一、基本语法

=Vlookup(查找的值,查找区域或数组,返回值所在的列数,精确or匹配查找)

语法说明:

  • 查找的值:要查找的值
  • 查找区域或数组:包含查找值字段和返回值的单元格区域或数组
  • 返回值的在列数:返回值在查找区域的列数
  • 精确or匹配查找:值为0或False为精确查找,值为1或true时匹配查找。

二、入门篇

1、单条件查找

【例1】根据姓名查找基本工资

=VLOOKUP(G2,B:E,4,0)

注:

  • G2:是要查找的值
  • B:E:是查找区域。因为要查找的姓名在第2列,所以区域也要从B列开始。
  • 4:是基本工资在B:E区域中的第4列
  • 0:是精确查找

2、查找不到时返回空

【例1】根据姓名查找基本工资

=IFERROR(VLOOKUP(G2,B:E,4,0),"")

注:IFERROR函数可以把错误值转换为指定的值,本例公式中转换为空

三、进阶篇

1、反向查找

【例】根据姓名查部门

=VLOOKUP(G2,IF({1,0},B1:B8,A1:A8),2,0)

注:公式中用IF({1,0}把B列和A列组合在一起,并把 B列放在A列前面。

2、包含查找

【例】查找含“一”的姓名对应的基本工资

=VLOOKUP("*"&G2&"*",B:E,4,0)

注:查找值两边连接通配符*号可以实现包含查找

3、区间查找

【例】根据销量查找对应区间的提成

=VLOOKUP(D2,A:B,2,1)

注:当最后一个参数为1或省略时,可以实现匹配或区间查找。规则是查找比被查找值小且最接近的值,并返回对应N列(第3个参数)的结果。如下图所示查找180,在A列查找比180小且最接近的值是100,返回100对应的提成3%。

4、含通配符的查找

【例】型号查找单价

错误公式:=VLOOKUP(D2,A:B,2,0)

正确公式:=VLOOKUP(SUBSTITUTE(D2,"*","~*"),A:B,2,0)

注:把*用函数替换为~*后就可以正常查找了

5、横向多列查找

【例】根据姓名查找性别、年龄和基本工资

=VLOOKUP($G2,$B:$E,COLUMN(B1),0)

注:用Column函数生成动态数字,作为Vlookup第3个参数,一个公式向右复制即可查找全部

6、多区域查找

【例9】根据不同的表从不同的区域查询

=VLOOKUP(B2,IF(A2="销售一部",A5:B9,D5:E9),2,0)

四、高级篇

1、多条件查找

【例】根据部门和姓名查工资

=VLOOKUP(E2&F2,IF({1,0},A2:A8&B2:B8,C2:C8),2,0)

注:先把A列和B列连接在一起,再用IF({1,0}把它和C列组合在一起构成8行2列的数组,作为Vlookup的第2个参数

2、合并单元格查找

【例】查找所在部门的奖金

=VLOOKUP(VLOOKUP("座",D$2:D2,1),A:B,2,0)

注:VLOOKUP("座",D$2:D2,1)可以返回D列截止本行的最后一个非空值。

3、合并单元格查找

【例】根据公司、产品查找对应价格

=VLOOKUP(F2,OFFSET(B$1,MATCH(E2,A:A,)-1,):C99,2,0)

注:用Match查找出部门所在行数,然后用offset函数向下偏移B1,进尔和C99构成一个动态的区域。更简单的说就是部门在哪一行,我就用Vlookup从哪一行开始向下找。

4、一对多查找

【例】查找出人事部所有员工

数组公式输入完成后按Ctrl+shift+enter结束后自动添加大括号

{=VLOOKUP(E$2&ROW(A1),IF({1,0},A$2:A$8&COUNTIF(INDIRECT("a2:a"&ROW($2:$8)),E$2),B$2:B$8),2,0)}

注:

  • ROW($2:$8)) :生成2,3,4,5,6,7,8
  • INDIRECT("a2:a"&row:生成行数逐渐增多的7个区域
  • COUNTIF(INDIRECT:在7个区域中分别计算部门的个数,相当于给人事部生成编号
  • IF({1,0}:把带编号的部门和B列构成7行两列的新数组

5、查找所有值放在一个单元格

【例】在G列设置公式,根据F列产品从左表中查找所有符合条件的价格并用逗号隔开。

公式:

  • E2=D2&","&IFERROR(VLOOKUP(C2,C3:E$12,3,),"")
  • G2=VLOOKUP(F2,C:E,3,)'

6、查找最后一个

【例】查找A产品最后一次进货价格

=VLOOKUP(1,IF({100,0},0/(B2:B10="A"),C2:C10),2)

注:Vlookup最后一个参数省略时,可以象lookup进行二分法查找,用0/(条件)把不符合条件的变成错误值,符合条件的变成0,然后用一个足够大的数查找。IF后兰色故意把常见的1写成100,想让大家知道这个只要是非0的数字都可以。

7、跨多表查找

【例】从各部门中查找员工的基本工资,在哪一个表中不一定。

方法1

=IFERROR(VLOOKUP(A2,服务!A:G,7,0),IFERROR(VLOOKUP(A2,人事!A:G,7,0),IFERROR(VLOOKUP(A2,综合!A:G,7,0),IFERROR(VLOOKUP(A2,财务!A:G,7,0),IFERROR(VLOOKUP(A2,销售!A:G,7,0),"无此人信息")))))

方法2:

=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({"销售";"服务";"人事";"综合";"财务"}&"!a:a"),A2),{"销售";"服务";"人事";"综合";"财务"})&"!a:g"),7,0)

五、office365中的新用法

1、批量查找

在最新的office365版本,查找再多行只需要设置一个公式的

E2单元格

=Vlookup(d2:d12,A:B,2,0)

2、多列查找

多查查找也可以只设置一个公式

=VLOOKUP(A11,A1:E7,{2,3,5},0)


http://www.ppmy.cn/embedded/99687.html

相关文章

前端css动画transform多个属性值写法

X轴平移400px transform: translateX(400px); X轴平移400px并缩小0.5倍 transform: translateX(400px) scale(0.5); X轴平移400px并旋转45度 transform: translateX(400px) rotate(45d…

电机启动对单片机重启的影响

单片机使用ASM1117对9V电压降压供电,IO口接三极管控制电机 ,接9V;每次启动瞬间,单片机重启 试进行分析 网上参考,添加滤波,电容,阻容;分开电源处理(双电源)&…

io进程----标准io

大纲 IO:input,output 标准IO 文件IO 文件属性获取 目录操作 库(动态库,静态库) 进程:process(程序执行的过程) 进程基础,线程(同步,互…

记录jenkins的一个错误

因为workspace 的权限多了一个s 导致构建镜像出现了失败 [rootsimetra-ecs-01 .jenkins]# ls -la | grep work -rw-r----- 1 root root 46 Aug 17 11:57 org.jenkinsci.plugins.workflow.flow.FlowExecutionList.xml drwxr-x--- 6 root root 4096 Aug 12 10:06 works…

神经重建在自动驾驶模拟中的应用

验证自动驾驶软件需要数百万公里的测试。这不仅意味着系统开发周期长,而且系统的复杂度也会不断增加,同时,大规模的实车测试也会耗费巨量的资源并且可能会面临未知的安全问题。aiSim这样的虚拟仿真工具可以减轻真实世界测试的负担。 AD和ADA…

K8S集群层面监控

KubeStateMetrics简介 kube-state-metrics 是一个 Kubernetes 组件,它通过查询 Kubernetes 的 API 服务器,收集关于 Kubernetes 中各种资源(如节点、pod、服务等)的状态信息,并将这些信息转换成 Prometheus 可以使用的…

Android点击和触摸音量小的问题(问题追踪)

有客户反馈:A14触摸声音没有 于是乎,追踪setting打开触摸声音的代码: @Overridepublic boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {if (preference == mVibrateWhenRinging) {Settings.System.putInt(getContentResolver(…

MobaXterm接触session会话保存14个的限制

问题描述 在我们使用MobeXterm的过程中,发现session保存了14个之后,再无法继续保存了; 原因是免费版本的MobeXterm的最大个数被限制了,需要进行破解; MobaXterm-keygen解除session保存限制的python脚本 可以使用上面…

OpenSBI的PMP

概述 在RISC-V体系架构中,PMP是用于保护物理内存访问权限的机制。PMP机制允许为不同的物理内存区域指定访问权限(读、写、执行)。这种机制使得运行在RISC-V处理器上的软件只能访问被明确授权的物理地址空间,从而提高了系统的安全…

快速解析数据挖掘,最短时间明白什么是数据挖掘------下

信息损失函数 (Information Loss Function)是衡量在数据转换或处理过程中信息丢失的程度的函数。在数据科学、机器学习和统计学中,信息损失是一个重要的概念,尤其是在数据降维、特征选择、数据压缩和隐私保护等领域。 信息损失函…

docker创建数据库容器并映射存储数据

docker创建数据库容器并映射存储数据 介绍创建Redis容器创建PostgresQL容器创建MySQL容器 介绍 使用Docker创建Redis、PostgresQL、MySQL等数据库容器代码示例。 创建Redis容器 使用Docker创建Redis容器并使用Volume映射存储数据是一个常见的操作。以下是详细的步骤&#xf…

网络协议概述,ip协议,TCP协议,udp协议,二者区别,python中用socket类实现网络通信程序的编写(服务器套接字实现TCP编程,UDP编程)

七层协议 ① ip协议 ②TCP协议 TCP协议面向连接的,可靠的协议,有三次握手来保证可靠性 ③ udp协议 不一定可以保证数据发过去,像发短信一样,对方不一定在线,号码也不一定对 TCP,UDP之间存在一些区别&#xff1a…

docker手动部署django项目Dockerfile编排-后端发布

1、首先创建一个桥接网络 docker network create auto 2、部署redis,提供celery的消息队列服务 docker run --name redis --restartalways -d --network auto -v redis:/data redis:alpine3、部署数据库 注意数据库账号密码 docker run --name mariadb --restartalways -d…

根据状态的不同,显示不同的背景颜色

文章目录 前言HTML模板部分JavaScript部分注意:主要差异影响如何处理示例 总结 前言 提示:这里可以添加本文要记录的大概内容: 实现效果: 提示:以下是本篇文章正文内容,下面案例可供参考 根据给定的状态…

基于YOLOv8的暴力行为分类系统

本项目旨在通过计算机视觉技术实现暴力行为的实时监测和分类。利用先进的目标检测算法YOLOv8,结合Streamlit开发的前端界面,该系统能够高效地从图像或视频中识别出暴力行为,并及时报警。系统支持对实时摄像头输入进行分析,以及上传…

微软正式确认将在近期关闭经典Windows控制面板

微软在不断测试并为 Windows 添加新功能的同时,也在不断淘汰一些公司认为不再需要的功能。这些功能会被添加到Windows 过时功能的列表中,最近的一项功能是 Paint 3D,该公司宣布它很快就会被淘汰。 与微软似乎希望尽早取消的"3D 画图&quo…

Python计算机视觉——第二章 局部图像描述子

本章旨在寻找图像间的对应点和对应区域。 2.1 Harris角点检测器 Harris 角点检测算法(也称Harris & Stephens 角点检测器)是一个极为简单的角点检测算法。该算法的主要思想是,如果像素周围显示存在多于一个方向的边,我们认为…

[数据集][目标检测]电力场景输电线导线散股检测数据集VOC+YOLO格式3890张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3890 标注数量(xml文件个数):3890 标注数量(txt文件个数):3890 标注…

如何在本地和远程删除 Git 分支?

如何在本地和远程删除 Git 分支? 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.n…

【C/C++】字符或字符串长度及所占内存大小的求法

参考【C/C】字符或字符串长度及所占内存大小的求法_c求整个string的内存大小-CSDN博客 下代码计算字符串的长度和大小。 char str[] "hello";//如果不初始化字符串,则[]里面必须有具体的值,而且最后一个字符为\0 int l strlen(str); cout …