在Excel表格中,Vlookup一直被lookup、Xlookup等函数嫌弃,原因是Vlookup有太多软肋:
无法反向查找
无法多条件查找
无法从后向前查找
无法一对多查找
众所周之,有一个函数可以帮Vlookup函数完成逆袭,它就是IF函数。 一、Vlookup函数4个逆天公式 1、从右向从左查找
【例】根据姓名查部门
=VLOOKUP(G2,IF({1,0},B1:B8,A1:A8),2,0)
2、多条件查找
【例】根据部门和姓名查工资
=VLOOKUP(E2&F2,IF({1,0},A2:A8&B2:B8,C2:C8),2,0)
3、查找最后一个 【例】查找A产品最后一次进货价格 =VLOOKUP(1,IF({100,0},0/(B2:B10='A'),C2:C10),2)
4、一对多查找 【例】查找出人事部所有员工
数组公式输入完成后按Ctrl+shift+enter结束后自动添加大括号 {=VLOOKUP(E$2&ROW(A1),IF({1,0},A$2:A$8&COUNTIF(INDIRECT('a2:a'&ROW($2:$8)),E$2),B$2:B$8),2,0)}
二、IF函数为什么这么牛 IF函数的用法很简单,但为什么它竟然可以让Vlookup实现这么多逆天的功能,其实这才是兰色写本篇教程的主要目的。
IF函数基本语法为:
=IF(判断条件,条件成立时返回的值,不成立返回的值)
最常见的IF公式是这样的 : 第一个参数是一个很明显的判断表达式 =IF(A1>60,'及格','不及格')
我们选中公式中的A1>60,可以选中按【F9】键查看它的结果,如果成立是true,否则是False
也就是说,第一个结果是TRUE返回第2个参数
=IF(TRUE,'及格','不及格') 第一个结果是False返回第3个参数
=IF(FALSE,'及格','不及格') 而在Excel公式中,判断时 非0数字等同于True(条件成立),一般是用 1 0等同于False(条件不成立)
所以:
=IF(1,'及格','不及格') =IF(0,'及格','不及格')
如果IF第1个参数是一组数,返回结果也是一组数(多个数放在大括号{}内) 如:
=IF({1,0},'及格','不及格') 结果是: {'及格','不及格'} 你以为if的第2、3个参数只能是数值?No! 它们还可以是引用区域。可以用来: 1、颠倒两列位置,构成新的两列数组,帮助Vlookup实现从左向右的查找
【例】根据姓名查部门
=VLOOKUP(G2,IF({1,0},B1:B8,A1:A8),2,0)
2、多列连接成一列,再和另一列组合成新的两列数据,帮助Vlookup实现多条件查找等。 【例】根据部门和姓名查工资
=VLOOKUP(E2&F2,IF({1,0},A2:A8&B2:B8,C2:C8),2,0)
现在,你是不是有点明白IF({1,0}在Vlookup中的用法了? 兰色说:在excel中有很多会用但不知道原理的Excel公式,如果同学们喜欢这种解析的方法,就点赞转发支持一下。兰色将继续讲解其他难理解的公式。 下周六,兰色将继续带大家一起学习Excel,具体内容还没定好,同学们可以把你们想学的知点在下方留言。点赞最多的将加入到兰色下周的课件中。
|