多条件查找函数,excel怎么设置有条件查找(Excel中的Vlookup函数)
关于【多条件查找函数】,excel怎么设置有条件查找,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
1、多条件查找函数:Excel中的Vlookup函数,轻松实现多条件查询!
VLOOKUP函数,原始数据中存在重复值
我们在使用VLOOKUP函数的时候,如果查找区域内有多个可以查找的到的值的话,Excel会默认返回第一个查找的到的值
在E2单元格中输入公式:
=VLOOKUP(D2,A:B,2,0)
从上表我们可以看到,原始数据区域中A,有两个价格一个是1000,一个是888,但VLOOKUP函数返回的结果是1000,返回的是从上至下第一次出现的结果。
这是VLOOKUP函数算法决定的这一个匹配原则,所以我们在VLOOKUP函数匹配的时候,都要求匹配的数据列是唯一的。
VLOOKUP函数多条件查询
举下面工作中的一个实例,每天各种产品都有一个价格,如果我们现在要查找出对应日期对应产品的价格,这就是一个多条件查找匹配的问题,如下所示:
首先,我们要建立一个辅助项,在B列前面插入一列,输入的公式是:
=B2&C2
得到的A列是唯一值的列,至于2019-4-16和A连起来为什么会变成43571A,我们经常解释过,数字1代表1900-1-1,每1个数字代表1天,数字43571就代表了2019-4-16
我们在F列前面也插入一列,也是辅助列2,输入 公式:G2&H2
最后我们在I2单元格中输入公式:
=VLOOKUP(F2,A:D,4,0)
或者说第2个辅助列不用建立,直接输入公式:
=VLOOKUP(F2&G2,A:D,4,0)
2、多条件查找函数,excel怎么设置有条件查找
Excel中的多条件查找,其实不是很难,很多小伙伴都知道查找用lookup、vLOOKUP函数,但具体怎么使用却不知所措。
今天跟大家分享多条件查找最常用的8个方法,如果你以前不懂,现在看看这篇文章,绝对可以给你带来收获~
下图是一个学科成绩表,我们需要通过左表的姓名和学号两个条件在右表中查找对应的成绩并返回到左表的E列中。
方法一:使用LOOKUP函数。
具体操作步骤如下:
1、选中E2单元格 -- 在编辑栏中输入公式“=LOOKUP(1,0/(A2=$G$2:$G$11)*(B2=$H$2:$H$11),$I$2:$I$11)”-- 按回车键回车,并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)(A2=$G$2:$G$11)*(B2=$H$2:$H$11):
首先,将A2单元格的内容与G2:G11单元格区域的内容作对比,将B2单元格的内容与H2:H11单元格区域的内容作对比。如果A2单元格的内容与G2:G11单元格区域的内容相等,B2单元格的内容与H2:H11单元格区域的内容相等,则返回TRUE,不相等时,返回FALSE。根据逻辑值TRUE=1,FALSE=0,所以这部分公式得到的结果可能有3种情况:0*1;1*1;1*0。公式A2=$G$2:$G$11返回的结果为{0;0;0;0;0;1;0;0;0;0},因为只有G6单元格的值与A2相等。公式B2=$H$2:$H$11返回的结果为{0;0;0;0;0;1;0;0;0;0},因为只有H6单元格的值与B2相等。所以公式(A2=$G$2:$G$11)*(B2=$H$2:$H$11)返回的结果为{0;0;0;0;0;1;0;0;0;0}。
(2)0/(A2=$G$2:$G$11)*(B2=$H$2:$H$11):
LOOKUP函数,如果要精确查找,第2个参数查找区域必须升序排序,得到的结果才是正确的。但我们这里没有升序排序,用到的是LOOKUP函数的二分法原理,用0来除以(A2=$G$2:$G$11)*(B2=$H$2:$H$11)这个公式的结果值,这里只会产生两种情况:0/0或0/1。而在除法运算中,被除数不能为0,也就是分母不能为0,所以在Excel中,0/0会得到错误值#DIV/0!,而0/1的结果为0。所以该公式返回的结果为{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}。
(3)=LOOKUP(1,0/(A2=$G$2:$G$11)*(B2=$H$2:$H$11),$I$2:$I$11):
根据第(2)步公式返回的结果{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!},再根据LOOKUP函数的查找原理,忽略错误值查找,所以该公式的意思是,找到与1最接近的值,在第(2)步返回的结果数组中,错误值被忽略,只有一个0,0<1,因此返回I2:I11单元格范围内的第6个数据,即I7单元格的内容“68”。
方法二:使用VLOOKUP函数。
具体操作步骤如下:
1、选中E2单元格 -- 在编辑栏中输入公式“=VLOOKUP(A2&B2,IF({1,0},$G$2:$G$11&$H$2:$H$11,$I$2:$I$11),2,0)”-- 按组合键“Ctrl Shift Enter”回车 -- 并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)A2&B2:
我们都知道,VLOOKUP函数查找时查找值默认只能有一个条件,我们这里是多条件查找,所以可以通过文本连接符&将两个条件连接起来作为新的查找值。新的查找值也就是“姓名学号”。
(2)IF({1,0},$G$2:$G$11&$H$2:$H$11,$I$2:$I$11):
{1,0}相当于{TRUE,FALSE}。所以该公式就有两种情况:第一种情况:=IF(1,$G$2:$G$11&$H$2:$H$11,$I$2:$I$11),这种情况返回G2:G11单元格区域内容和H2:H11单元格区域内容合并后的结果。第二种情况:=IF(0,$G$2:$G$11&$H$2:$H$11,$I$2:$I$11),这种情况返回I2:I11单元格区域内容。所以{1,0}相当于重新构建了两列数据,第1列数据是以G2:G11单元格区域内容和H2:H11单元格区域内容合并后的数据,第2列数据是I2:I11单元格区域构建的数据,如下图所示。
(3)=VLOOKUP(A2&B2,IF({1,0},$G$2:$G$11&$H$2:$H$11,$I$2:$I$11),2,0):
第一个参数查找值“A2&B2”,要返回的结果值在IF构建的新数据区域中,属于第2列,所以第3个参数为2,这里是精确查找,所以第4个参数为0或者FALSE。
方法三:使用OFFSET函数 MATCH函数。
具体操作步骤如下:
1、选中E2单元格 -- 在编辑栏中输入公式“=OFFSET($I$1,MATCH(A2&B2,$G$2:$G$11&$H$2:$H$11,0),)”-- 按组合键“Ctrl Shift Enter”回车 -- 并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)MATCH(A2&B2,$G$2:$G$11&$H$2:$H$11,0):
将A2单元格的姓名与B2单元格的学号通过用文本连接符合并作为新的查找内容,将G列的姓名和H列的学号通过文本连接符合并作为新的查找区域,0表示精确查找。该公式返回的结果为“6”。
(2)=OFFSET($I$1,MATCH(A2&B2,$G$2:$G$11&$H$2:$H$11,0),):
OFFSET函数是指以指定的单元格引用为参照系,通过给定偏移量得到新的引用。返回对单元格或单元格区域中指定行数和列数的区域的引用。 返回的引用可以是单个单元格或单元格区域。 可以指定要返回的行数和列数。该公式表示以$I$1为参照单元格,通过MATCH查找出来顺序作为向下偏移的行数,偏移列数量省略表示不偏移,第三个、第四个参数省略表示只返回一个单元格区域。第(1)步MATCH函数得到的结果为6,所以向下偏移6行时找到“68”。
方法四:使用SUM函数。
具体操作步骤如下:
1、选中E2单元格 -- 在编辑栏中输入公式“=SUM((A2=$G$2:$G$11)*(B2=$H$2:$H$11)*($I$2:$I$11))”-- 按组合键“Ctrl Shift Enter”回车 -- 并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)A2=$G$2:$G$11:
判断A2单元格的内容是否与G2:G11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。该公式返回一个逻辑值数组{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}。
(2)B2=$H$2:$H$11:
判断B2单元格的内容是否与H2:H11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。该公式返回一个逻辑值数组{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}。
(3)=SUM((A2=$G$2:$G$11)*(B2=$H$2:$H$11)*($I$2:$I$11)):
3个值相乘,只有当前面2个值都为TRUE时,最后的结果才为TRUE,而TRUE=1,FALSE=0,从上面2步中,我们可以看到只有第6个值为TRUE,其余都为FALSE。再与I2:I11的值相乘,最后通过SUM函数将得到的值相加起来,最后的结果“68”,将公式往下填充,即可得到其他单元格的值。
方法五:使用SUMPRODUCT函数。
具体操作步骤如下:
1、选中E2单元格 -- 在编辑栏中输入公式“=SUMPRODUCT((A2=$G$2:$G$11)*(B2=$H$2:$H$11)*($I$2:$I$11))”-- 按Enter键回车 -- 并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)A2=$G$2:$G$11:
判断A2单元格的内容是否与G2:G11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。该公式返回一个逻辑值数组{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}。
(2)B2=$H$2:$H$11:
判断B2单元格的内容是否与H2:H11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。该公式返回一个逻辑值数组{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}。
(3)=SUMPRODUCT((A2=$G$2:$G$11)*(B2=$H$2:$H$11)*($I$2:$I$11)):
3个值相乘,只有当前面2个值都为TRUE时,最后的结果才为TRUE,而TRUE=1,FALSE=0,从上面2步中,我们可以看到只有第6个值为TRUE,其余都为FALSE。再与I2:I11的值相乘,最后通过SUMPRODUCT函数将每个数组对应元素的值相乘,最后再相加,得到的结果为“68”,将公式往下填充,即可得到其他单元格的值。
方法六:使用MAX函数。
具体操作步骤如下:
1、选中E2单元格 -- 在编辑栏中输入公式“=MAX((A2=$G$2:$G$11)*(B2=$H$2:$H$11)*($I$2:$I$11))”-- 按组合键“Ctrl Shift Enter”回车 -- 并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)A2=$G$2:$G$11:
判断A2单元格的内容是否与G2:G11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。该公式返回一个逻辑值数组{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}。
(2)B2=$H$2:$H$11:
判断B2单元格的内容是否与H2:H11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。该公式返回一个逻辑值数组{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}。
(3)=MAX((A2=$G$2:$G$11)*(B2=$H$2:$H$11)*($I$2:$I$11)):
将(A2=$G$2:$G$11)*(B2=$H$2:$H$11)*($I$2:$I$11)这3个数组相乘,最后得到的结果为{0;0;0;0;0;68;0;0;0;0},根据MAX函数的原理,找到一组值中的最大值并返回,很显然,结果数组中的最大值为“68”,所以返回的结果为68,将公式往下填充,即可得到其他单元格的值。
方法七:使用MIN函数 IF函数。
1、选中E2单元格 -- 在编辑栏中输入公式“=MIN(IF((A2=$G$2:$G$11)*(B2=$H$2:$H$11),$I$2:$I$11))”-- 按组合键“Ctrl Shift Enter”回车 -- 并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)(A2=$G$2:$G$11)*(B2=$H$2:$H$11):
判断A2单元格的内容是否与G2:G11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。判断B2单元格的内容是否与H2:H11单元格区域的内容相等,如果相等,返回TRUE,否则,返回FALSE。该公式返回一个0和1组成的数组{0;0;0;0;0;1;0;0;0;0}。
(2)IF((A2=$G$2:$G$11)*(B2=$H$2:$H$11),$I$2:$I$11):
如果(A2=$G$2:$G$11)*(B2=$H$2:$H$11)为TRUE,返回$I$2:$I$11单元格区域的内容,如果为FALSE,返回空。所以该公式返回的结果为{FALSE;FALSE;FALSE;FALSE;FALSE;68;FALSE;FALSE;FALSE;FALSE}。
(3)=MIN(IF((A2=$G$2:$G$11)*(B2=$H$2:$H$11),$I$2:$I$11)):
MIN函数是返回一组值中的最小值,空单元格、逻辑值和文本将被忽略。由第(2)步可知,只有68是数值,所以返回的结果就是68,将公式往下填充,即可得到其他单元格的值。
方法八:使用INDEX函数 MATCH函数。
1、选中E2单元格 -- 在编辑栏中输入公式“=INDEX($I$2:$I$11,MATCH(A2&B2,$G$2:$G$11&$H$2:$H$11,0))”-- 按组合键“Ctrl Shift Enter”键回车 -- 并将公式下拉填充至E11单元格。
2、动图演示如下。
3、公式解析。
(1)$I$2:$I$11:
要返回的结果所在的单元格区域。该公式得到一组数组{80;71;82;84;70;68;90;74;70;89}。
(2)MATCH(A2&B2,$G$2:$G$11&$H$2:$H$11,0):
将A2单元格的姓名与B2单元格的学号通过用文本连接符合并作为新的查找内容,将G列的姓名和H列的学号通过文本连接符合并作为新的查找区域,0表示精确查找。该公式返回的结果为“6”。
(3)=INDEX($I$2:$I$11,MATCH(A2&B2,$G$2:$G$11&$H$2:$H$11,0)):
INDEX函数的作用是:返回表或区域中的值或值的引用。上述公式由第(1)步和第(2)步得到的结果,可将公式写成=INDEX({80;71;82;84;70;68;90;74;70;89},6)。6是行号,也就是从在{80;71;82;84;70;68;90;74;70;89}这组值中返回第6行单元格值的引用,所以为68,将公式往下填充,即可得到其他单元格的值。
本文关键词:excel多条件查找函数,多条件查找函数公式,多条件查找函数lookup怎么用,多条件查找函数并引用,多条件查找函数vlookup怎么用。这就是关于《多条件查找函数,excel怎么设置有条件查找(Excel中的Vlookup函数)》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。