当前位置: > 热文

VLOOKUP与LOOKUP的1,0详解(通俗版)

时间:2022-04-22 21:12:03 热文 我要投稿

这是根据身份证,判断性别的通用公式,想必你应该看过。

=IF(MOD(MID(A2,15,3),2),"男","女")

MOD(数字,2),奇数返回1,偶数返回0。再嵌套IF,1的返回男,0的返回女。

标准写法是这样的,需要=1这个判断。这里的1等同于TRUE,也就是满足条件返回IF的第2参数,0等同于FALSE,不满足返回第3参数。

=IF(MOD(MID(A2,15,3),2) =1,"男","女")

IF函数的参数,除了可以直接写,也可以引用单元格。比如引用H1、I1的单元格,也就是男、女。

=IF(MOD(MID(A2,15,3),2)=1,$H$1,$I$1)

=IF(MOD(MID(A2,15,3),2),$H$1,$I$1)

第2参数H1也就是区域的左边,第3参数I1也就是区域的右边。继续拓展,IF除了可以引用单元格,也能引用区域,只是引用区域是数组公式而已。

现在要根据班级查找分类,而VLOOKUP默认情况下只能从左往右查,而不能从右往左查。

这时就要构造一个新区域,班级在左边,分类在右边,上面讲的一大堆基本概念就派上用场。左边的区域有多少行,右边的新区域也要选中多少行,输入公式后,按Ctrl+Shift+Enter结束。不是下拉,而是选中多个单元后三键结束。

=IF({1,0},$C$1:$C$11,$B$1:$B$11)

有了新区域,就可以直接用VLOOKUP查找了。

=VLOOKUP(F2,$I$1:$J$11,2,0)

再将新区域套进去就大功告成。

=VLOOKUP(F2,IF({1,0},$C$1:$C$11,$B$1:$B$11),2,0)

再重复一遍,IF函数部分就相当于组成一个新区域,1代表区域的左边,0代表区域的右边。

再来说说LOOKUP,这个也有类似的1,0用法,叫经典查找模式。

=LOOKUP(1,0/(查找值=查找区域),返回区域)

还是继续根据班级查找分类。

=LOOKUP(1,0/(F2=$C$2:$C$11),$B$2:$B$11)

F2=$C$2:$C$11,单元格跟区域比较,一样的就返回TRUE,不一样的就返回FALSE。可以在编辑栏选中,然后按F9键,这样就可以看到运算结果。

0/(F2=$C$2:$C$11),0除以TRUE,也就是0/1得到0。0除以FALSE,也就是0除以0得到错误值。同样,可以在编辑栏选中,然后按F9键。

LOOKUP在查找的时候忽略错误值,这样就变成用1来查找0,然后返回对应值。

这种以1查找0的,叫做以大欺小法。用大于0的任意数字都可以查找到0。

这回应该懂了吧?

推荐:VLOOKUP与LOOKUP的1,0详解

上篇:别再坚持用IF函数,难道你想IF到天上?

还想知道什么用法?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)