很多小伙伴对if({1,0}的迷惑不解,大部分都来自于vlookup函数的从右至左查找公式中看到有if{1,0}。比如昨天我们推送的教程:学习VLOOKUP函数路上的第二个坑
if({1,0}是利用常量数组作为IF函数的第1个参数,实现构建新的两列数组的用法。
想彻底了解它,我们还得从IF函数的基本用法说起~~
=IF(A1>=0,"正数","负数"),这个很容易理解,如果条件成立,就返回后面第一个值,条件不成立就返回第二个。
A1>=0(条件表达式)的结果只有两种:A1的值>=0时,结果是TRUE,否则结果是FALSE,而在IF结构中,所有非0的数字都等同于TRUE,而0相当于FALSE。
由此,下面两个公式的结果也可以理解了:
=IF(1,"正数","负数"),结果是"正数";=IF(0,"正数","负数"),结果是"负数"。
IF函数不仅可以返回一个值,也可以返回区域引用。所以下面的公式也应该可以理解了:
=IF(1,A2:A3,B2:B3),返回的是A2:A3
=if(0, A2:A3,B2:B3) 返回的是B2:B3
而如果IF函数第一个参数是一个数组{1,0}
=IF({1,0},A2:A3,B2:B3)
参数为数组时,会分别进行计算。先用1作为参数判断,返回A2:A3;然后用0作为参数判断,又返回一个结果B2:B3。两个结果重新组合一个数组:A2:A3在第一列,B2:B3在第二列。
我们选中公式,按下F9键,可以看到结果:{1,"滴答老师";2,"小奇老师"}。
下面通过案例再来回顾一下上面所讲解的:
案例1:将AB列构成DE列的效果
操作:选中D1:E5单元格区域,输入公式:=IF({1,0},B1:B5,A1:A5),记得按下ctrl+shift+回车,完成多单元格公式输入。
案例2:HLOOKUP中的运用
HLOOKUP函数的用法和VLOOKUP函数的用法相似,只是vlookup函数是垂直方向的判断,而HLOOKUP函数是水平方向的判断。
根据项目来查找姓名,B5公式为:
=HLOOKUP(B4,IF({1;0},B2:E2,B1:E1),2,0)
加入QQ群:247329767下载整套Excel技巧视频教程。