今天,坛子里有朋友在我帖子里跟帖让解释下公式{=if({1,0},D2:D8,C2:C8)},这个是一个老话题了。不过相信很多初学的朋友拿到后同样会有丈二和尚摸不着头脑的感觉。这个公式之所以“难”,就“难”在IF的第一个参数为什么是{1,0}。
那么,什么是{1,0},我简单地作了以下的回复。
==================================================================================
原帖地址:http://club.excelhome.net/viewthread.php?tid=511876&page=77#pid3837485
=================================================================================
借用EH论坛里胡剑版主的一句话:“数组公式是需要悟的。”
其实不光是数组公式,普通的公式也需要悟。当明白一个公式的计算结果后,需要慢慢去理解和掌握,直到熟练运用它们。对于较长的公式,我推荐把它大卸八块,然后再来慢慢理解。
1、IF(条件值,返回值1,返回值2)
解读上面的公式,首先得弄清楚IF函数的计算原理。这个很简单,查一下帮助就明白:当条件值为真,则结果为返回值1,当条件值为假,则结果为返回值2。
这个函数实际上可以说成“如果......那么......,否则......”的语句形式。即:如果条件值为真,则等于值1,否则等于值2。
如:
IF(10>5,10,20)=10
IF(10>20,10,20)=20
IF(True,10,20)=10
IF(False,10,20)=20
2、什么是{1,0}
经过前面帖子的学习,我们知道:{1,0}是个水平数组,它有两个值,一个是1,另一个是0。
这里的{1,0}是用来作IF函数的第一个参数,1代替的是“真”,即True,0代替的是“假”,即“False”。
如:
IF(1,10,20)=10
IF(0,10,20)=20
在公式中,只有0才能代替False,但并不是只有1才能代替True,所有非0的数都可以代替True。
如:
IF(-1,10,20)=10
IF(0.2,10,20)=10
3、什么是{=IF({1,0},D2:D8,C2:C8)}
用了数组{1,0}作为IF函数的第一参数,实际上这个公式可以分成两个公式来理解,即:
IF(1,D2:D8,C2:C8)
IF(0,D2:D8,C2:C8)
两个公式的计算结果分别为:
IF(1,D2:D8,C2:C8)=D2:D8
IF(0,D2:D8,C2:C8)=C2:C8
这也是IF({1,0},D2:D8,C2:C8)公式的返回结果。
所以,这个公式实际上是调换两列数据的位置,经常用于Vlookup函数当中!