在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。

关于VLOOKUP函数的单条件查找的简单应用,您可以参阅文章:

使用VLOOKUP函数单条件查找的方法

http://www.officezhushou.com/vlookup/5524.html

②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)

转载于:https://www.cnblogs.com/janicemvidal/p/8603605.html

通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找的方法相关推荐

  1. 通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找

    在Excel中,通过VLOOKUP函数可以查找到数据并返回数据.不仅能跨表查找,同时,更能跨工作薄查找. 但是,VLOOKUP函数一般情况下,只能实现单条件查找. 如果想通过VLOOKUP函数来实现双 ...

  2. VLOOKUP函数返回错误值#N/A的两种解决方法

    VLOOKUP函数返回错误值#N/A的两种解决方法 参考文章: (1)VLOOKUP函数返回错误值#N/A的两种解决方法 (2)https://www.cnblogs.com/gonghongwei/ ...

  3. VLOOKUP函数将一个excel表格的数据匹配到另一个表中

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  4. 利用Vlookup函数在Excel中根据一列来筛选信息

    记录下折腾了好久的Vlookup函数 要根据右侧的信息,将B2:D4的信息填满,依据A列的ID值 只要在B2单元格内输入 =VLOOKUP( A 2 , A2, A2,F 5 : 5: 5:I$13, ...

  5. 再见了VLOOKUP函数!Excel 数据分析已成气候!

    前段时间,我有个同事跑去学 Excel 数据分析,整个办公室的人都炸锅了.很多人说,不就是做个表格嘛,至于单独跑去学习吗? 我想说,这样思考问题可就大错特错了! 尤其是这两年,几乎每个职场人都听说过数 ...

  6. 用VLOOKUP函数在Excel中批量替换值

    需求及背景: 开发给客户写了个tool,可以帮助客户批量建Document Set, Document Set里的某些Column是SharePoint中的Managed Metadata Colum ...

  7. c语言 lookup函数怎么用_菜鸟记502用lookup和vlookup函数核对数据的一个小栗子

    欢迎转发扩散点在看 万一您身边的朋友用得着呢? 各位朋友早上好,小菜继续和您分享经验之谈,截止今日小菜已分享400+篇经验之谈,可以文章编号或关键词进行搜索. 微信推送规则发生改变,如果您想看到小菜每 ...

  8. excel中vlookup函数的使用方法_EXCEL中查找匹配函数VLOOKUP使用技巧

    1.VLOOKUP基础用法 VLOOKUP 函数表示: = VLOOKUP (你想要查找的内容,要查找的位置,包含要返回的值的区域中的列号,返回近似或精确匹配-表示为 1/TRUE 或 0/假). 第 ...

  9. 自定义条件查询_数据查询不止有vlookup函数,自定义zlookup函数查询操作更高效...

    Excel数据查询,相信大家首先会想到vlookup函数.毋庸置疑vlookup函数在Excel数据查询中作用是非常的强大.但是它也有一些不能实现的数据查询. 如上图所示,我们需要根据人员的出现次数, ...

  10. excel VLOOKUP函数的使用方法(入门级)

    引用自:http://www.excelpx.com/home/show.aspx?id=31325 VLOOKUP函数是Excel中几个最重函数之一,为了方便大家学习,兰色幻想特针对VLOOKUP函 ...

最新文章

  1. python open找不到文件的原因_浅谈python在提示符下使用open打开文件失败的原因及解决方法...
  2. python unix时间戳转换成时间_关于python:将unix时间戳字符串转换为可读日期
  3. springmvc学习笔记(10)-springmvc注解开发之商品改动功能
  4. 【Git Bash】在window 下,设置打开gitbash快捷键、修改默认路径
  5. 数学图形(1.5)克莱线
  6. 跟着鸟哥学Linux系列笔记1
  7. websocket使用
  8. maven 学习---Maven本地资源库
  9. 使用C#: 自动切换鼠标的左右手习惯
  10. 混合选择集的坐标提起lisp_晓东CAD家园-论坛-A/VLISP-[LISP程序]:请教如何对选择集进行排序-我有(setq ss(ssget _w p0 p1 (list (0 . CIRC...
  11. 搜索关键词采集YouTube视频字幕
  12. 微信小程序 下拉刷新 上拉触底分页
  13. python断言语句_Python断言处理
  14. 免费在线的redmine项目演示,提供免费三级域名
  15. 7-24 约分最简分式 (15 分)
  16. 计算机网络机房需要气体灭火吗,机房排烟和机房消防要求有哪些
  17. Ubuntu20.04 系统安装USB无线网卡 TL-WDN5200免驱版 安转失败不显示WiFi的一种解决方案
  18. js去掉头尾空格、括号
  19. linux定时打加密压缩包
  20. 利用python进行数据分析——透视表与交叉表

热门文章

  1. ubuntu14上安装ros教程
  2. 转载 关于git的常用命令总结
  3. ckeditor+代码高亮
  4. php Output Control 深入理解 ob_flush 和 flush 的区别
  5. 四天玩转windows phone开发视频之第二天总结
  6. Java字符编码转换过程说明
  7. ACM-百度之星资格赛之Energy Conversion——hdu4823
  8. [leetcode]5-Longest Palindromic Substring
  9. LoadRunner 11简单使用
  10. asp.net的条形码