这是根据身份证,判断性别的通用公式,想必你应该看过。
=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)