Excel查找匹配函数(VLOOKUP):功能与应用解析

文章目录

  • 概述
  • VLOOKUP函数
    • 语法
    • 查询并返回单列结果
    • 查找并返回多列结果
      • MATCH函数
      • VLOOKUP+MATCH
    • 从右向左逆向查找:
      • INDEX函数
      • INDEX+MATCH
    • 函数匹配方式
    • 查找匹配注意事项
      • 函数名称错误: #NAME?
      • 值错误:#VALUE!
      • 引用错误:#REF!
      • 找不到数据:#N/A
      • 报错排障:
    • 数据格式不规范如何运用

概述

Excel中的查找匹配函数可以应用于各种数据处理和分析的场景,提供了强大的功能和便利的工具,能够帮助我们更高效地处理和分析数据。
Excel中的查找匹配函数在数据处理和分析中起着至关重要的作用,常见的应用场景包括:

  • 数据检索: 帮助用户快速在大量数据中查找特定值或条件,节省时间和减少人工错误。
  • 数据合并: 将不同数据表中的相关信息合并到一起,实现数据整合和分析。
  • 数据过滤: 根据特定条件过滤数据,提取需要的信息,进行进一步分析和报告。
  • 数据校准: 检查数据的一致性,发现数据之间的不匹配或错误,有助于数据校准处理。
  • 动态报表: 创建动态报表,根据输入的条件自动更新报表内容,方便用户进行数据查看和分析。
  • 数据验证: 进行数据验证与监控,帮助用户确保数据的准确性和完整性。

VLOOKUP函数

语法

VLOOKUP是数据清洗/数据分析中出镜率最高的函数,没有之一。
VLOOKUP 函数用于在垂直方向上查找某个值,并返回该值所在行指定列的数值。其基本语法如下:
在这里插入图片描述

  • lookup_value : 是要查找的值。
  • table_array: 是包含要搜索的数据的范围,第一列包含要匹配的值。
  • col_index_num: 是要返回值所在列数(从 table_array 的第一列起算)。
  • range_lookup: 是一个逻辑值,指定是否进行近似匹配(TRUE 或省略 或 1)或精确匹配(FALSE 或 0)

查询并返回单列结果

在H2单元格输入以下公式就能自动得到结果。

=VLOOKUP(G2,A:E,2,0)

公式含义为:用G2单元格的值(FL005),去查找范围(A:E)中匹配第一列(A列)中的数据,找到一模一样的数据(工号)之后,返回查找区域内第2列中同一行的数据,也就是姓名。
如果要返回的是性别呢?把返回列改成3
如果要返回的是部门呢?把返回列改成4

依次类推。
在这里插入图片描述
将公式向下填充后,只要G列中有工号,并且这个工号在A列到E列中存在,就能找到它对应的姓名,修改查找的对象,结果也会自动更新。例如,将G2修改成“1010”,姓名自动变成“徐静”
在这里插入图片描述
报错:#N/A
H8单元格:“1011”的工号在A列并不存在,返回错误值
H9单元格:G9单元格 未填写工号,返回错误值
在这里插入图片描述
上面的示例,公式生成的数据和查找匹配的数据在同一个工作表中。而实际工作中,这两类数据通常分居两张不同的表。区别:在选择查找匹配的范围时,要去另外一张工作表中选择而已。

=VLOOKUP(H2,基础信息表!A:E,2,0)

在这里插入图片描述

查找并返回多列结果

有时候,我们可能需要查找一个对象,返回多列匹配的结果。例如,查找下表工号(G2),返回姓名、性别、部门、奖金(H2:K2)。
在这里插入图片描述
①可以H2:K2的每个单元格里分别输入公式,从而自动算出匹配的姓名、部门和奖金。

=VLOOKUP(G2,A:E,2,0)
=VLOOKUP(G2,A:E,3,0)
=VLOOKUP(G2,A:E,4,0)
=VLOOKUP(G2,A:E,5,0)

MATCH函数

上述方法还是会增加手动工作量,下面介绍一个简单的方法:
首先来学习一个函数:MATCH函数。
MATCH 函数用于在数组或范围中查找某个值,并返回其在数组中的位置。其基本语法如下:
在这里插入图片描述

  • lookup_value: 是要查找的值。
  • lookup_array: 是包含要搜索的数据的范围。
  • match_type: 是一个数值,指定要进行的匹配类型(1 代表大于、-1 代表小于、0 代表精确匹配)。

在H2单元格输入以下公式,向右填充公式:

=MATCH(H1,$A$1:$E$1,0)

“姓名”在A1:E1范围内的第2个,故返回值为2;
“性别”在A1:E1范围内的第3个,故返回值为3;

在这里插入图片描述

VLOOKUP+MATCH

用 MATCH 数自动计算得到的动态结果第【N】列,就可以作为VLOOKUP函数中的第3个参数,从而实现查找一个对象,返回多个结果的一对多查询。
在 H2单元格中输入如下公式后,向右填充公式,就自动算出姓名、性别、部门、奖金。

=VLOOKUP($G2,$A:$E,MATCH(H1,$A$1:$E$1,0),0)

在这里插入图片描述

从右向左逆向查找:

使用 VLOOKUP查找匹配有一个必备的前提条件,那就是查找对象必须在匹配范围内的首列,否则无法找到结果。
那想在H2单元格查找返回相应工号的的姓名应该怎么操作呢?
在这里插入图片描述

INDEX函数

INDEX 函数返回范围或数组中的某个位置的值。结合 MATCH 函数可以实现更灵活的查找匹配操作。
在这里插入图片描述
公式含义为:在给定的区域内,返回第几行第几列的值。例如,“INDEX(A1:E11,11,3)”,意思是返回A1:E11区域内第11行第3列的值,也就是C11单元格中的值,详细图示如下所示。
在这里插入图片描述

INDEX+MATCH

INDEX和 MATCH 函数刚好能够互补,用MATCH查找匹配可以得到位置信息作为行/列序。INDEX函数就可以将其纳为数,返回区域中交叉点的值。详细公式和计算结果如下。

=INDEX(A:A,MATCH(G2,B:B,0))

公式含义:先用MATCH函数查找工号1010,返回该工号在B列中的位置(第11行),MATCH所得的位置为11,然后INDEX数将MATCH所得的结果作为【行序】参数,返回A列中第11行的值(徐静)。由于INDEX区域参数只有一列,列序省略不填。
在这里插入图片描述

函数匹配方式

在下表的单元格中输入相同的 VLOOKUP函数公式,分别采用两种匹配模式。将公式向下填充后,查找匹配的结果有所差异。
在这里插入图片描述
这一招常用来按区间、等级查找和匹配。
注意:
用 VLOOKUP 模糊匹配模式,必须先将匹配范围内的数据,按照从小到大升序排序。

查找匹配注意事项

函数名称错误: #NAME?

出现该错误,通常是函数名称中的字符错了、漏了、多了、顺序弄错了,或者函数参数中多了不该有的标点符号。

值错误:#VALUE!

VLOOKUP中缺少返回值的参数时,就会出现该错误。
在这里插入图片描述

引用错误:#REF!

当函数中所引用的位置不存在时,会导致该错误。使用VLOOKUP函数,容易出现以下两种情况。
在这里插入图片描述

找不到数据:#N/A

虽然完成公式后,显示错误值#N/A,不一定是公式本身出错。此错误值表示在匹配范围内找不到和查找对象匹配的数据,很可能是正常情况。还可以利用这一特性,核对A表数据是否存在于B表中。
如果在目标表格中有该数据,却还是匹配不出来时,就要检查以下3种情况:

  • 查找对象在查找范围内是否处于第1列(必须是,否则就会出错);
  • 匹配范围有没有包含完整的数据区域(必须包含,否则找不到);
  • 数据是否规范、一致(看编辑栏中的真实内容,必须一模一样)
    在这里插入图片描述
    在这里插入图片描述

报错排障:

当VLOOKUP函数出错时,可以通过以下4步进行排障:

  • 检查函数拼写和符号是否完全正确;
  • 检查每一个参数是否按要求填写;
  • 检查引用区域是否包含查找对象(特别是批量填充公式时,引用范围是否需要锁定);
  • 数据源是否规范一致。

数据格式不规范如何运用

①查找的值为数值型,匹配值是文本型;
需将查找值拼接空白字符串变成文本型即可。

=VLOOKUP(G3&“”,A:B,2,0)

在这里插入图片描述
①查找的值为文本型,匹配值是数值型;
需将查找值*1变成数值型即可。
在这里插入图片描述
③混合型
查找的值有数值型也有数值型,匹配值有数值型也有数值型;

=IF(ISNA(VLOOKUP(G3*1,A:B,2,0)),VLOOKUP(G3&"",A:B,2,0),VLOOKUP(G3*1,A:B,2,0))

在这里插入图片描述

  • IF(ISNA(VLOOKUP(G31,A:B,2,0)),:首先,它使用VLOOKUP函数尝试以G31(将G3的内容乘以1来转换为数值类型)作为查找值在A列中查找。如果VLOOKUP返回#N/A错误,说明没有找到精确匹配。
  • VLOOKUP(G3&“”,A:B,2,0):在这种情况下,它使用VLOOKUP函数以G3的内容作为字符串查找值在A列中查找。通过在G3后附加一个空字符串来确保查找值是字符串类型。
  • VLOOKUP(G31,A:B,2,0)):最后,如果第一个VLOOKUP函数没有返回#N/A错误,它直接再次使用VLOOKUP函数以G31(数值类型)作为查找值在A列中查找。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/644365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++学习/复习4--与类相关的概念/默认成员函数/运算符重载/Date类实现案例

一、类和对象 1.本章概要 2.C中的结构体(struct与class) 升级为类 (1)类及成员函数的两种定义方式 声明与定义分离 (2)权限 注意1:struct/class在权限上的区别 (3)封装 (4&#x…

告诉老板,AI大模型应该这样部署!

导语 随着大语言模型创新的快速步伐,企业正在积极探索用例并将其第一个生成式人工智能应用程序部署到生产中。 随着今年LLM或LLMOps的部署正式开始,企业根据自己的人才、工具和资本投资结合了四种类型的LLM部署方法。请记住,随着新的 LLM 优…

[数据结构] -- 双向循环链表

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…

Java实现图书系统

首先实现一个图书管理系统,我们要知道有哪些元素? 1.用户分成为管理员和普通用户 2.书:书架 书 3.操作的是: 书架 目录 第一步:建包 第二步:搭建框架 首先:完成book中的方法 其次:完成BookList 然后:完成管理员界面和普通用户界面 最后:Main 第三步:细分方法 1.退…

十二、shell编程之awk

12.1 什么是awk 虽然sed编辑器是非常方便自动修改文本文件的工具,但其也有自身的限制。通常你需要一个用来处理文件中的数据的更高级工具,它能提供一个类编程环境来修改和重新组织文件中的数据。这正是awk能够做到的。 awk程序是Unix中的原始awk程序的…

JVM(三)

在上一篇中,介绍了JVM组件中的类加载器,以及相关的双亲委派机制。这一篇主要介绍运行时的数据区域 JVM架构图: JDK1.8后的内存结构: (图片来源:https://github.com/Seazean/JavaNote) 而在运行时数据区域中&#…

Redis第18讲——Redis和Redission实现延迟消息

即使不是做电商业务的同学,也一定知道订单超时关闭这种业务场景,这个场景大致就是用户下单后,如果在一定时间内未支付(比如15分钟、半小时),那么系统就会把这笔订单给关闭掉。这个功能实现的方式有很多种&a…

Windows远程连接命令?

Windows操作系统提供了多种远程连接命令,使用户可以通过网络连接到远程计算机,并在远程操作系统上执行操作。远程连接命令可方便实现远程工作、故障排查和系统维护等任务。本文将介绍几种常见的Windows远程连接命令及其基本使用方法。 远程连接命令 Win…

面向对象编程的奥秘:封装与继承

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、封装的魅力 封装的应用 封装示例 二、继承的力量 继承的应用 继承示例 三、总结 一…

OpenWrt U盘安装使用 详细教程 x86/64平台 软路由实测 系列一

1 官方稳定 版:OpenWrt 23.05 OpenWrt Downloads #根据实际情况选择 PC支持uefi,选择版本:https://downloads.openwrt.org/releases/23.05.3/targets/x86/64/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img.gz 2 rufus 制作U盘启动 3 制作好的U盘,接入主…

Maven多环境打包配置

一、启动时指定环境配置文件 在启动springboot应用的jar包时,我们可以指定配置文件,通常把配置文件上传到linux服务器对应jar包的同级目录,或者统一的配置文件存放目录 java -jar your-app.jar --spring.config.location/opt/softs/applicat…

新能源汽车的电驱热管理

前言 新能源汽车的电驱热管理是指维持电动汽车电池、电机和电控系统在适宜的工作温度范围内,保障车辆高效、安全、稳定运行的技术方案。随着新能源汽车的快速发展和普及,电驱热管理技术也日益成为关注焦点。本文将从电池、电机和电控系统三个方面介绍新…

Linux--线程的认识(一)

线程的概念 线程(Thread)是操作系统中进行程序执行的最小单位,也是程序调度和分派的基本单位。它通常被包含在进程之中,是进程中的实际运作单位。一个线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线…

【leetcode面试经典150题】-80. 删除有序数组中的重复项 II

【leetcode面试经典150题】-80. 删除有序数组中的重复项 II 1 题目介绍2 个人解题思路2.1 代码2.2 思路 3 官方题解 1 题目介绍 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组…

【DZ模板】克米设计APP手机版本地化+完美使用

模版介绍 【DZ模板】价值288克米设计APP手机版DZ模板 数据本地化完美使用 腾讯官方出品discuz论坛DIY的后台设置,功能齐全,论坛功能不亚于葫芦侠,自定义马甲,自定义认证,自定义广告,完全可以打造出自己想…

Redis教程(十五):Redis的哨兵模式搭建

一、搭建Redis一主二从 分别复制三份Redis工作文件夹,里面内容一致 接着修改7002的配置文件,【redis.windows-service.conf】 port 7002 改成 port 7002 slaveof 127.0.0.1 7001 7003也同样修改 port 7003 slaveof 127.0.0.1 7001 这样就指定了700…

从0开始带你成为Kafka消息中间件高手---第三讲

从0开始带你成为Kafka消息中间件高手—第三讲 实际上来说,每次leader接收到一条消息,都会更新自己的LEO,也就是log end offset,把最后一位offset 1,这个大家都能理解吧?接着各个follower会从leader请求同…

读人工智能时代与人类未来笔记14_管控人工智能

1. 管控人工智能 1.1. 历史上的战场进一步推进到与数字网络相连的所有地方 1.2. 数字程序现在控制着一个由众多实体系统构成的庞大且仍在不断增长的领域,而且越来越多的此类系统已实现网络化 1.2.1. 在某些情况下甚至连门锁和冰箱都实现了网络化 1.2.2. 这催生出…

vue3中element-plus下拉菜单与图标的使用

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

十、通配符和正则表达式

10.1 通配符 通配符是由shell处理的, 它只会出现在 命令的“参数”里。当shell在“参数”中遇到了通配符 时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进 行代换(路径扩展);否则就将该通配…