Vlookup的4种逆天用法,背后的这个函数太厉害

在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公式,如果同学们喜欢这种解析的方法,就点赞转发支持一下。兰色将继续讲解其他难理解的公式。

(0)

相关推荐