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

janicemvidal 2021-12-12 原文


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


在Excel中,通过VLOOKUP函数可以查找到数据并返回数据。不仅能跨表查找,同时,更能跨工作薄查找。

但是,VLOOKUP函数一般情况下,只能实现单条件查找。

如果想通过VLOOKUP函数来实现双条件查找或多条件的查找并返回值,那么,只需要加上IF({1,0}就可以实现。

下面,就一起来看看IF({1,0}和VLOOKUP函数的经典结合使用例子吧。

要实现的功能是,根据Sheet1中的产品类型和头数,找到Sheet2中相对应的产品类型和头数,并获取对应的价格,然后自动填充到Sheet1的C列。实现此功能,就涉及到两个条件了,两个条件都必须同时满足。

如下图,是Sheet1表的数据,三列分别存放的是产品类型、头数和价格。

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

上图是一张购买产品的表,其中,购买产品的行数据,可能存在重复。如上图的10头三七,就是重复数据。

现在,再来看第二张表Sheet2。

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

上表,是固定好的不存在任何重复数据的产品单价表。因为每种三七头对应的头数是不相同的,如果要找三七头的单价,那么,要求类型是三七头,同时还要对应于头数,这就是条件。

现在,我们在Sheet1中的A列输入三七头,在B列输入头数,然后,利用公式自动从Sheet2中获取相对应的价格。这样就免去了输入的麻烦。

公式比较复杂,因为难于理解,先看下图吧,是公式的应用实例。

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

下面,将给大家大体介绍公式是如何理解的。比如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)

 
发表于
2018-03-19 17:43 
janicemvidal 
阅读(4389
评论(0
编辑 
收藏 
举报

 

版权声明:本文为janicemvidal原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/janicemvidal/p/8603605.html

通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找的方法 - janicemvidal的更多相关文章

  1. 使用 Github + Hexo 从 0 搭建一个博客

    最近有几位同学在公众号后台留言问我的博客站是怎么建站的,思来想去,还是写一篇从 0 开始吧。 前置准备 我们先 […]...

  2. 基于AE的个人地理数据库(mdb格式)导入到企业级数据库(sde数据库中)中(C#)[原创] – 圣殿GIS

    基于AE的个人地理数据库(mdb格式)导入到企业级数据库(sde数据库中)中(C#)[原创]   基于AE的个 […]...

  3. Windows日志获取方法 – 王.小辉

    Windows日志获取方法 cmd控制台—输入“eventvwr” 打开Windows事件探查器 (1)鼠标右 […]...

  4. 物联网网关开发:进程之间通信方式–MQTT消息总线 – jack_Meng

    物联网网关开发:进程之间通信方式–MQTT消息总线 道哥的第 020 篇原创   目录 一、Lin […]...

  5. PHP 源码 — implode 函数源码分析

    PHP 源码 — implode 函数源码分析 本文首发于 https://github.com/suhany […]...

  6. [网络分析]WEBQQ3.0协议分析—good good study – 木鱼哥

    [网络分析]WEBQQ3.0协议分析—good good study 声明:研究学习使用,严禁商业 […]...

  7. Elasticsearch由浅入深(一)简介、、安装、CRUD – 一个大西瓜咚咚咚

    Elasticsearch由浅入深(一)简介、、安装、CRUD 什么是Elasticsearch 什么是搜索 […]...

  8. 机器学习入门必读:6种简单实用算法及学习曲线、思维导图 – 金色小蜜蜂

    机器学习入门必读:6种简单实用算法及学习曲线、思维导图   机器学习入门必读:6种简单实用算法及学习曲线、思维 […]...

随机推荐

  1. 前后端分离——使用Ajax跨域请求数据并分页展示

    前后端分离的意思是,前后端只通过 JSON 来交流,组件化、工程化不需要依赖后端去实现: 下面以代码来讲解使用 […]...

  2. 为什么有那么多人愿意喝”鸡汤”?

    什么是心灵鸡汤   心灵鸡汤,就是“充满知识与感情的话语”,柔软、温暖,充满正能量。心灵鸡汤是一种安慰剂,可以 […]...

  3. react-ant-admin后台管理系统,用于快速创建后台项目模板

    react-ant-admin TypeScript 版GitHub(国外地址) |TypeScript 版码 […]...

  4. 【Eclipse】修改 编码格式

    eclipse 默认编码居然是GBK,js文件默认编码是ISO-….怎么可以这样呢?都修改成UTF […]...

  5. 实习感受

      出来实习两个月了,写写感受吧!   我是普通的二本院校的学生,从11月初开始实习的,在学校里学习的方向是做 […]...

  6. 解决:Mac安装HOME brew 拒绝了我们的连接请求解决方案 – 季枫

    官网地址: https://brew.sh/index_zh-cn.html 安装方法: /bin/bash […]...

  7. excel连续格式刷_使用格式刷复制Excel格式的简便方法

    excel连续格式刷 The Format Painter in Excel makes it easy to […]...

  8. 第二次博客作业

    《学习通》软件评测描述报告 一.同类软件产品对比分析(钉钉、雨课堂、腾讯课堂、学习通) (一)各个软件主要功能 […]...

展开目录

目录导航