
该文节选自《函数宝典》2019.2版
16、 乾坤大挪移--神奇大法{0,1}
这里用的方法是先选中一个灰色区域,再在编辑栏输入公式,然后按 Ctrl +Shift + Enter 三键后结束.

解赋解析
{1,0} 是一个 一行两列 的数组常量.
现在官方对IF函数的是:IF 语句可能有两个结果.第一个结果是比较结果为 True,第二个结果是比较结果为 False.
那么我们可以理解为:=IF(条件,真,假)
目前我们遇到的问题是,这句话不好解析,因为现在第一个参数是 数组条件 包含两个内容,真与假都存在.
直译就有可能是,真的在真的那儿,假的在假那儿,也可能是真的在假那儿,假的在真的那儿.
现在我们换个思路解析.
{1,0} 代表 {真,假} .
如果数据不动,那么原数据的品类是在B列,IF 语句第一个结果是比较结果为 True,为真,这里叫"真列".原数据的数量是在C列,IF 语句第二个结果是比较结果为 False.,这里叫"假列".
{=IF({真,假},真列,假列}
结论:
要想列左右乾坤大挪移,只要记住一点,前面写的真、假,后面的就先写假列再写真列.
前面写的假、真,后面的就先写真列再写假列.
也就是,前后的真、假真位置必须互换.
17、 下面出来我们的主角:
VLOOKUP反向查找
这是大家很常用的公式,但很多人一直在用,就是不知道为什么要这样写.看完例子就全明白了.
18、 乾坤大挪移--神奇大法功力二层{0,1,1}

解赋解析:
这时真列已增加到 3 列,即 B、C、D列
假列还是一列,即E列.
数组{1,1,0}增加到了 3 个.
通过前面的详解我们学会了,{0,1}两个数组,那三个的{1,1,0} {0,1,0} {0,1,1} 数组怎么区分呢?
记住下面列 的真、假
真列上是 B285:D289 ,那就是说真有 3 列,分别是 B C D 列,
假列是一列,即 E 列.
这里有点绕,大家看清楚。
B285:D289 分别是 B C D 列,下面是对应位置图.

数组的第一个数字 1 为真,选 B C D 列的第一个 B列 ,第二个数字 1 为真,选 B C D 列的第二个 C 列,第三个数字 0 为假,是 E 列.

数组的第一个数字 1 为真,选 B C D 列的第一个 B列 ,第二个数字 0 为假,是 E 列,第三个数字 1 为真,排在数组的{1, 0, 1}的第三个,因为是真,选 B C D 列的第三个,是 D 列.

数组的第一个数字 0 为假,是 E 列,第二个数字 1 ,排在数组的 {0, 1, 1} 的第二个,选 B C D 列的第二个的 C 列,第三个数字 1 ,排在数组的 {0, 1, 1} 的第三个,因为是真,选 B C D 列的第三列的 D 列.

数组的第一个数字 1 为真,选 B C D 列的第一个的 B 列,第二个数字 1 ,排在数组的 {1, 1, 1} 的第二个,因为是真,选 B C D 列的第二个的 C 列,第三个数字 1 ,排在数组的 {1, 1, 1} 的第三个,因为是真,选 B C D 列的第三列的 D 列.
看完上面的解析,接下来看实例:(左边为数据源,右边为计算结果)

公式显示
{=IF({1,1,0},B325:C329,D325:D329)}
解赋解析:
因为{1,1,0}数组体现的是真真假,后面参数也是真真假,数组与函数参数真假列的位置一样,所以结果与原表一样.

公式显示
{=IF({0,1,1}, ,E333:E337)}
解赋解析:
因为{0,1,1}数组体现的是假真真,第一列结果取假的那列,也就是第三个参数列, E 列 .
数组第二个数字是 1 ,为真,取公式第二个参数 B333:D337 ,因为这个 1 是在数组中排第二个,取 B333:D337 中的第二个列, C 列.
数组第三个数字是 1 ,为真,取公式第二个参数 B333:D337 ,因为这个 1 是在数组中排第三个,取 B333:D337 中的第二个列, D 列.

公式显示
{=IF({0,1,0},B341:D345,E341:E345)}
解赋解析:
因为{0,1,0}数组体现的是假真假,第一列结果取假的那列,也就是第三个参数列, E 列 .
数组第二个数字是 1 ,为真,取公式第二个参数 B341:D345 ,因为这个 1 是在数组中排第二个,取 B341:D345 中的第二个列, C 列.
数组第三个数字是 0 ,为假,结果取假的那列,也就是第三个参数列, E 列 .

公式显示
{=IF({1,0,1},B349:D353,E349:E353)}
解赋解析:
因为{1,0,1}数组体现的是真假真,取公式第二个参数 B349:D353 ,因为这个 1 是在数组中排第一个,取 B349:D353 中的第一个列, B 列.
数组第二个数字是 0 ,为假,结果取假的那列,也就是第三个参数列, E 列 .
数组第三个数字是 1 ,为真,取公式第二个参数 B349:D353 ,因为这个 1 是在数组中排第三个,取 B349:D353 中的第三个列, B 列.
19、 乾坤大挪移--神奇大法功力三层{0,1;1,0;0,1;1,0;0,1;1,0;0,1;1,0;0,1;1,0}
注意:逗号 表示 列分割,分号 表示 行分割.

公式显示
=IF({0,1;1,0;0,1;1,0;0,1},B361:B365,C361:C365)
解赋解析:
公式很长,其实意思很短,相信你能看清楚.
先说数组
{0,1;1,0;0,1;1,0;0,1}
分号 表示 行分割,就是换到下一个行,相当于你输入完后回车.
逗号 表示 列分割,上面已经说过了,,相当于A列换到B列的意思.
那这进而的意思就很好理解,
0,1 : 0 为假, 1 为真,意思是第二参数列与第三参数列互换位置,
接下去是 分号 表示 换行
再下面是 1,0 : 1 为真,意思是对应第二参数真列,还是在原来位置,0为假,对应第三参数假列,也是还在原来位置,
接下去是 分号 表示 换行
0,1 : 0 为假, 1 为真,意思是第二参数列与第三参数列互换位置,
…………
完毕
公式意思是隔行位置互换.
写公式时,你可以先数行,一共几行,数组里也得有几个 0 与 1 ,可以多,不能少.
说明:这里的标题左右是一样的,方便大家阅读.
下载Excel文档附件
该文节选自《函数宝典》2019.2版
发布于 2022-10-04 22:47