IF({1,0}...结构(图解)


有很多同学好奇这个结构=IF({1,0},B4:B7,A4:A7)的含义:

其实只要弄清楚了数据规则,这个结构不难理解。

首先,If的基本用法:

=IF(条件,是则结果,否则结果)

这三个参数都是单个的值,现在我们进行一下数组扩展,先把第二个参数和第三个参数扩展成一列四行,即:

=IF(条件,B4:B7,A4:A7)

这要一来,当条件为逻辑真时,这个公式的结果是B4:B7;当条件为逻辑假时,这个公式的结果为A4:A7。

而逻辑真除了用True以外,还可以用不为0的数值,常用的是1;逻辑假除了用Fasle以外,还可以用数值0,公式就变成了:

{=IF(1,B4:B7,A4:A7)}

{=IF(0,B4:B7,A4:A7)}

让我们先记住这两个公式的结果。

 

再来看{1,0},这是一个一行两列的常量数组排列。因为是一行两列,所以行方向上可以扩展,比如就扩展成4行两列吧:

那么当这个{1,0}放到If的条件参数里去时,B9:B12中结果为1的,就会返回If函数对应的是则结果;C9:C12中结果为0的,就会返回If函数对应的否则结果。

不过因为数组公式影响运算速度,所以现实中的反向查找更建议使用Index套Match结构,当然,最好是不要让你的数据存在反向查找的麻烦。

 

这篇文档我一直以为是我自己写的,因为我写过之后就再也没有打开看过,不过发给过别人几次,等到这次打开一看才发现截图里面有“Excel精英培训”论坛的标记,或许是我当时用了那位大佬的图吧,或者直接copy了别人的帖子,以上!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM