通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找的方法
发布时间:2023-03-06 00:31:16
在Excel中,通过VLOOKUP函数可以查找到数据并返回数据。不仅能跨表查找,同时,更能跨工作薄查找。
但是,VLOOKUP函数一般情况下,只能实现单条件查找。
如果想通过VLOOKUP函数来实现双条件查找或多条件的查找并返回值,那么,只需要加上IF({1,0}就可以实现。
下面,就一起来看看IF({1,0}和VLOOKUP函数的经典结合使用例子吧。
要实现的功能是,根据Sheet1中的产品类型和头数,找到Sheet2中相对应的产品类型和头数,并获取对应的价格,然后自动填充到Sheet1的C列。实现此功能,就涉及到两个条件了,两个条件都必须同时满足。
如下图,是Sheet1表的数据,三列分别存放的是产品类型、头数和价格。
上图是一张购买产品的表,其中,购买产品的行数据,可能存在重复。如上图的10头三七,就是重复数据。
现在,再来看第二张表Sheet2。
上表,是固定好的不存在任何重复数据的产品单价表。因为每种三七头对应的头数是不相同的,如果要找三七头的单价,那么,要求类型是三七头,同时还要对应于头数,这就是条件。
现在,我们在Sheet1中的A列输入三七头,在B列输入头数,然后,利用公式自动从Sheet2中获取相对应的价格。这样就免去了输入的麻烦。
公式比较复杂,因为难于理解,先看下图吧,是公式的应用实例。
下面,将给大家大体介绍公式是如何理解的。比如C2的公式为:
{=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)}
请注意,如上的公式是数组公式,输入的方法是,先输入
=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)之后,再按新Ctrl+Shift+Enter组合键,才会出现大括号。大括号是通过组合键按出的,不是通过键盘输入的。
公式解释:
①VLOOKUP的解释
VLOOKUP函数,使用中文描述语法,可以这样来理解。
VLOOKUP(查找值,在哪里找,找到了返回第几列的数据,逻辑值),其中,逻辑值为True或False。
再对比如上的公式,不能发现。
A2&B2相当于要查找的值。等同于A2和B2两个内容连接起来所构成的结果。所以为A2&B2,理解为A2合上B2的意思。
IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)相当于要查找的数据
2代表返回第二列的数据。最后一个是False。
②IF({1,0}的解释
IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)相当于VLOOKUP函数中的查找数据的范围。
由于本例子的功能是,根据Sheet1中的A列数据和B列数据,两个条件,去Sheet2中查找首先找到对应的AB两列的数据,如果一致,就返回C列的单价。
因此,数据查找范围也必须是Sheet2中的AB两列,这样才能被找到,由于查找数据的条件是A2&B2两个单元格的内容,但是此二单元格又是独立的,因此,要想构造查找范围,也必须把Sheet2中的AB两列结合起来,那就构成了Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12;
Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12:相当于AB两列数据组成一列数据。
那么,前面的IF({1,0}代表什么意思呢?
IF({1,0},相当于IF({True,False},用来构造查找范围的数据的。最后的Sheet2!$C$2:$C$12也是数据范围。
现在,整个IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)区域,就形成了一个数组,里面存放两列数据。
第一列是Sheet2AB两列数据的结合,第二列数据是Sheet2!$C$2:$C$12。
公式{=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)}中的数字2,代表的是返回数据区域中的第二列数据。结果刚好就是Sheet2的C列,即第三列。因为在IF({1,0}公式中,Sheet2中的AB两列,已经被合并成为一列了,所以,Sheet2中的第三列C列,自然就成为序列2的列编号了,所以,完整的公式中,红色的2代表的就是要返回第几列的数据。
上面的完整的公式,可以使用如下两种公式来替代:
=VLOOKUP(A2&B2,CHOOSE({1,2},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)
=VLOOKUP(A2&B2,IF({TRUE,FALSE},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)
猜你喜欢
- win7系统中虚拟机在运行过程中会占用比较大的内存,为此,虚拟机中增添了一个动态内存的功能,方便用户调整虚拟机使用的内存量。那么,win7虚
- wps文字写文档时,通常要从标题写起,那么做标题该注意哪些地方?下面是小编为大家精心整理的关于wps文字中如何做标题?希望能够帮助到你们。方
- Win11如何单独设置耳机音量?本文就为大家带来了Win11单独设置耳机音量的方法,需要的朋友一起看看吧我们有时候会因为个人原因使用多个声音
- 对于已经过升级到Windows10系统的用户来说,相信都有遇到这么一个情况,有时一关机,总会看到电脑迟迟不进入关机状态,而是提醒不要断电,电
- 在Excel中录入数据前都需要制作表格,或许有的朋友并不知道表格该如何制作,如果不懂的朋友欢迎一起来学习探讨。接下来是小编为大家带来的mic
- 相信大家都知道Win7系统中自带有Msconfig.exe程序,它可以帮助电脑禁止不需要运行的程序,这样可以加快你的电脑运行。那么,Win7
- 我们在使用wps文字编写文档的时候,有时想要使用全屏显示,这样更能让人集中精力。下面是小编整理的wps文字全屏查看的方法,供您参考。wps文
- 最近有用户跟小编反映自己最近才安装上win10系统,但是安装完成之后发现是英文版的,如果要更换成中文版,就需要下载中文语言包。那win10系
- Win10文件检查器怎么检查修复系统的受损文件?在系统没有出现无法启动时,用什么方法可以检测系统文件是否受损,如果系统文件受损,又该如何修复
- 小牛作为部门资产管理员,每月领退大量物料月底盘点需提交自盘结存报表,与财务ERP报表比对差异小牛根据日常领退明细导出了以下表格表格中同一物料
- 当进行文档编辑时,有时需要从文档的某一位置跳到同一文档的另一位置;或者同时打开了多个不同的文档,可能经常要从一个文档移到另一个文档当进行文档
- 最近有朋友问我,在网上复制文字到word或者WPS文字软件中,会出现背景颜色,不知道怎么去掉,今天,小编就教大家在Wps中word文档去除背
- 爱思助手怎么使用压缩照片功能?爱思助手是款专注于苹果机型的苹果助手软件,为用户们提供海量的正版苹果软件、热门游戏等多种功能,更是可以帮助我们
- WPS表格软件的最新版本集成了强大的函数功能和数据处理功能,在计算机办公领域内,基本胜任常用数据统计管理的办公任务。那么怎么给WPS表格数据
- Excel已经为我们准备了大量的内置数字格式,但是如果Excel内置的数字格式仍然满足不了需要,那么我们还可以自定义数字格式。如下图所示,在
- 升级win10系统之后会遇到各种不同的问题,今天我们来学习一下,升级win10之后,屏幕不停闪烁的解决方法相信各位在升级到Windows10
- excel逆向查询的解决办法有三种:index+match组合,lookup和vlookup,很多人对lookup和vlookup望而却步,
- 描述:win10系统让当前用户拥有管理员权限步骤:1.按键win+R,输入lusrmgr.msc,进入系统用户和组管理界面;2.点击用户,指
- 大家都知道,网络连接有无线的和有线的,两者各有优势,有线网络相对稳定些,而无线网络相对要较灵活。当Windows10电脑中存在无线网络和有线
- 每次我们编辑数字时,看见这些没有对齐的数字时,就会感到很郁闷。为了方便数字大小的直观对比,要是它们能够按小数点对齐该多好啊!现在不用怕了,看