最全的VLOOKUP应用教程

VLOOKUP是Excel中最常用的函数之一,它可以让我们在一个表格中查找指定值,并返回与该值匹配的另一个单元格中的内容。
在这篇文章中,我们将深入探讨VLOOKUP的使用方法,从而为您提供一份史上最全的VLOOKUP应用教程。
第一部分:VLOOKUP函数的基本概念
VLOOKUP函数的全称是vertical lookup,即垂直查找。它的语法如下:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
其中:
lookup_value:要查找的值,可以是一个数值、一个文本字符串或一个引用。
table_array:要进行查找的范围,通常是一个包含数据的表格或区域。
col_index_num:要返回的值所在列的索引号。例如,如果您想返回查找值右侧的第一列数据,则col_index_num为2。
range_lookup:可选参数,用于指定查找方式。如果设置为TRUE或省略,则会进行近似匹配;如果为FALSE,则进行精确匹配。
第二部分:VLOOKUP函数的具体应用
简单的VLOOKUP函数使用
假设您有一个包含商品价格的表格,如下所示:
商品名称 价格
商品A 10
商品B 20
商品C 30
商品D 40
如果您想知道商品B的价格,可以使用以下公式:
=VLOOKUP("商品B", A2:B5, 2, FALSE)
其中,"商品B"是要查找的值,A2:B5是要进行查找的表格范围,2表示要返回的值所在列的索引号,FALSE表示进行精确匹配。执行该公式后,将返回20这个结果。
使用VLOOKUP函数进行条件筛选
有时候,我们需要使用VLOOKUP函数来根据某些条件筛选数据。例如,在以下表格中,我们想要找出所有城市为“纽约”的员工:
姓名 城市 工资
张三 纽约 5000
李四 伦敦 6000
王五 纽约 7000
赵六 上海 8000
钱七 新加坡 9000
可以使用以下公式:
=VLOOKUP("纽约", A2:C6, 2, FALSE)
执行该公式后,将返回所有城市为“纽约”的员工及其对应的工资。
使用VLOOKUP函数进行近似匹配
如果需要进行近似匹配,可以将range_lookup参数设置为TRUE或省略。例如,在以下表格中,我们想要查找与21岁最接近的学生姓名:
姓名 年龄
张三 20
李四 22
王五 24
赵六 18
钱七 21
可以使用以下公式:
=VLOOKUP(21, A2:B6, 1, TRUE)
执行该公式后,将返回钱七这个结果,因为21岁与他的年龄最接近。
使用VLOOKUP函数进行表格联合
如果您有多个表格,并且想要将它们联合起来,可以使用VLOOKUP函数实现。例如,在以下表格中,我们有两个表格,一个包含员工姓名和城市,另一个包含城市和税率:
姓名 城市
张三 纽约
李四 伦敦
王五 纽约
赵六 上海
钱七 新加坡
城市 税率
纽约 10%
伦敦 15%
上海 12%
新加坡 7%
我们可以使用以下公式将这两个表格联合起来:
=VLOOKUP(B2, E2:F6, 2, FALSE)
其中,B2是要查找的城市名称,E2:F6是包含城市和税率的表格范围,2表示要返回的值所在列的索引号,FALSE表示进行精确匹配。
执行该公式后,将返回纽约这个结果,因为张三和王五都来自纽约,而纽约的税率是10%。
第三部分:VLOOKUP函数的常见错误及解决方法
如果VLOOKUP函数无法找到匹配的值,则会返回#N/A错误。例如,如果您使用以下公式查找表格中不存在的商品:
=VLOOKUP("商品E", A2:B5, 2, FALSE)
则将返回#N/A错误。要解决此问题,您需要确保要查找的值确实存在于您指定的表格范围内。
如果您指定的表格范围无效,则会出现#REF!错误。例如,如果您使用以下公式:
=VLOOKUP("商品B", A2:B8, 2, FALSE)
其中,表格范围包括A2:B5和A7:B8,但中间的A6:B6被排除了,导致表格范围无效,就会出现#REF!错误。要解决此问题,您需要确保指定的表格范围是有效的。
#VALUE!错误
如果您使用的值不是文本字符串或数值类型,则会出现#VALUE!错误。例如,如果您使用以下公式:
=VLOOKUP(D2, A2:B5, 2, FALSE)
其中,D2包含一个日期值,而不是文本字符串或数值类型,则会出现#VALUE!错误。要解决此问题,您需要确保使用的值是文本字符串或数值类型。
第四部分:VLOOKUP函数的高级技巧
使用VLOOKUP和IF函数进行条件筛选
有时候,我们需要根据多个条件筛选数据。例如,在以下表格中,我们想要找到所有城市为“纽约”且工资大于6000的员工:
姓名 城市 工资
张三 纽约 5000
李四 伦敦 6000
王五 纽约 7000
赵六 上海 8000
钱七 新加坡 9000
可以使用以下公式:
=IF(VLOOKUP("纽约", A2:C6, 2, FALSE)="纽约", IF(VLOOKUP("纽约", A2:C6, 3, FALSE)>6000, "符合条件", ""), "")
其中,第一个VLOOKUP函数用于查找城市为“纽约”的员工,第二个VLOOKUP函数用于查找他们的工资,IF函数用于判断是否符合条件。
执行该公式后,将返回王五这个结果,因为他符合所有条件。
使用VLOOKUP和INDEX函数进行表格联合
如果您需要将多个表格联合起来,并且需要返回多列数据,可以使用VLOOKUP和INDEX函数结合使用。
例如,在以下表格中,我们有两个表格,一个包含员工姓名和城市,另一个包含城市和税率:
姓名 城市
张三 纽约
李四 伦敦
王五 纽约
赵六 上海
钱七 新加坡
城市 税率 收入
纽约 10% 8000
伦敦 15% 9000
上海 12% 10000
新加坡 7% 11000
我们想要查找每个员工所在城市的税率和收入,可以使用以下公式:
=INDEX(G2:I6, MATCH(B2, G2:G6, 0), 2)
其中,G2:I6是包含城市、税率和收入的表格范围,MATCH函数用于查找员工所在城市的位置,INDEX函数用于返回税率和收入数据。
执行该公式后,将返回纽约这个结果,因为张三和王五都来自纽约,而纽约的税率是10%,收入是8000元。
第五部分:VLOOKUP函数的总结
通过本教程,我们已经了解了VLOOKUP函数的基本概念、具体应用、常见错误及解决方法和高级技巧。无论您是初学者还是专业人士,
都可以在这份史上最全的VLOOKUP应用教程中找到自己所需的知识点。
本文原文来自:薪火数据 最全的VLOOKUP应用教程 (datainside.com.cn)
最全的VLOOKUP应用教程的更多相关文章
- .Net魔法堂:史上最全的ActiveX开发教程——ActiveX与JS间交互篇
一.前言 经过上几篇的学习,现在我们已经掌握了ActiveX的整个开发过程,但要发挥ActiveX的真正威力,必须依靠JS.下面一起来学习吧! 二.JS调用ActiveX方法 只需在UserContr ...
- .Net魔法堂:史上最全的ActiveX开发教程——自动更新、卸载篇
一.前言 B/S模式的特点之一,客户端版本升级相对简单.快捷,适合产品的快速迭代.而ActiveX组件的自动更新同样也继承了这一优点.下面我们一起来了解吧! 二.二话不说更新ActiveX 1. 设置 ...
- .Net魔法堂:史上最全的ActiveX开发教程——部署篇
一.前言 接<.Net魔法堂:史上最全的ActiveX开发教程——发布篇>,后我们继续来部署吧! 二. 挽起衣袖来部署 ActiveX的部署其实就是客户端安装ActiveX组件,对未签 ...
- .Net魔法堂:史上最全的ActiveX开发教程——发布篇
一. 前言 接着上一篇<.Net魔法堂:史上最全的ActiveX开发教程——开发篇>,本篇讲述如何发布我们的ActiveX. 二.废话少讲,马上看步骤! 1. 打包 C#开发的Activ ...
- .Net魔法堂:史上最全的ActiveX开发教程——开发篇
一.前言 在设计某移动内部自动化运维平台时,经综合考虑终端机性能和功能需求等因素后,决定采用B/S模式,并且浏览器通过ActiveX组件实现与服务器Agent作P2P的通讯.好处,整个平台以网页形式存 ...
- 全网最全ASP.NET MVC 教程汇总
全网最全ASP.NET MVC 教程汇总 MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MV ...
- bootstrap-typeahead 自动补全简单的使用教程
参考链接: 参考1 : https://segmentfault.com/a/1190000006036166参考2 : https://blog.csdn.net/u010174173/articl ...
- 狗鱼IT教程:推介最强最全的Spring系列教程
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建. 简单来说,Spring是一个分层的JavaSE/EEfull-stack( ...
- 自学MVC看这里——全网最全ASP.NET MVC 教程汇总(转)
自学MVC看这里——全网最全ASP.NET MVC 教程汇总 MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要 ...
- [整理]Node入门 » 一本全面的Node.js教程 - Demo实践所遇到的问题
花了一个上午看完[转载]Node入门 » 一本全面的Node.js教程 根据里面的Demo自己手动实现过程中还是遇到了些问题,特整理在此. <1>.由于node.msi安装包已经自动添加了 ...
随机推荐
- Ubuntu安装后续工作
更新源: sudo gedit /etc/apt/sources.list 清华的源 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial ma ...
- 从头到尾说一次 Spring 事务管理(器)
事务管理,一个被说烂的也被看烂的话题,还是八股文中的基础股之一. 本文会从设计角度,一步步的剖析 Spring 事务管理的设计思路(都会设计事务管理器了,还能玩不转?) 为什么需要事务管理? 先看看 ...
- Linux 内核音频数据传递主要流程 (下)
来而不往非礼也.前面看到了用户空间应用程序和 DMA buffer 之间交换数据,并更新 runtime->control->appl_ptr 指针的过程,这里看一下硬件设备驱动程序在完成 ...
- ATtiny88初体验(六):SPI
ATtiny88初体验(六):SPI SPI介绍 ATtiny88自带SPI模块,可以实现数据的全双工三线同步传输.它支持主从两种模式,可以配置为LSB或者MSB优先传输,有7种可编程速率,支持从空闲 ...
- 【krpano】淘宝buy+案例
这是一个类似淘宝buy+的案例,是基于krpano全景开发工具二次开发的全景视频.WebVR.360°环物.全景视频热点添加于一身的综合性案例.现在将案例上传网站供krpano技术人员和爱好者大家共同 ...
- 4.3 IAT Hook 挂钩技术
IAT(Import Address Table)Hook是一种针对Windows操作系统的API Hooking 技术,用于修改应用程序对动态链接库(DLL)中导入函数的调用.IAT是一个数据结构, ...
- java类序列化和反序列化
参考:https://zhuanlan.zhihu.com/p/144535172?utm_id=0 https://blog.csdn.net/qq_42617455/article/details ...
- redisson分布式锁的应用——秒杀、超卖 简单例子(分布式锁相关)
1.常见的分布式事务锁 1.数据库级别的锁 乐观锁,给予加入版本号实现 悲观锁,基于数据库的for update实现 2.Redis,基于SETNX.EXPIRE实现 3.Zookeeper,基于In ...
- Note -「SOS DP」高维前缀和
本文差不多算是翻译了一遍 CF blog?id=45223 就是抄了一遍,看不懂可以去原文. 当然我的翻译并不是完全遵从原文的. Part. 1 Introduction 平时我们怎么求高维前缀和?容 ...
- Solution -「YunoOI 2007」rfplca
Description Link. Given is a rooted tree with the \(\sf1\)-th node as the root. The tree will be giv ...