本帖最后由 qweedc 于 2012-9-27 14:59 编辑
看了这个后觉得这个应该更清楚点
Q:公式中经常看到有用IF({1,0}……之类的用法,到底是什么意思呢?
A:这个是利用常量数组作为IF函数的第1个参数,实现构建新的2列数组的用法,简单地说:
=IF(1,A1,B1)——返回A1
=IF(0,A1,B1)——返回B1
那么,=IF({1,0},A1,B1)——返回一个2列的数组{A1,B1} (注意:这个写法只是为了让大家了解数组中的值是哪个单元格的,下同),这个我们都容易理解,扩大一点:
=IF(1,A1:A5,B1:B5)——返回A1:A5
=IF(0,A1:A5,B1:B5)——返回B1:B5
=IF({1,0},A1:A5,B1:B5)——返回一个2列的数组{A1,B1;A2,B2;A3,B3;A4,B4;A5,B5}
再扩大一点:
=IF(1,A1:A5&C1:C5,B1:B5)——返回A1:A5&C1:C5
=IF(0,A1:A5&C1:C5,B1:B5)——返回B1:B5
=IF({1,0},A1:A5&C1:C5,B1:B5)——返回一个2列的数组,{A1&C1,B1;A2&C2,B2;A3&C3,B3;A4&C4,B4;A5&C5,B5}
从而,我们需要用A与C列作为条件时查询B列时,就可以利用了。
IF({1,0},A2:A5&B2:B5,C2:C5)——返回2列的数组,第1列是A2:A5&B2:B5,第2列是C2:C5
这个重新构建的数组,作为VLOOKUP查找的表,首列满足E9&F9的话就返回第2列的值,也就是说:A2:A5&B2:B5——如果与E9&F9相同,就返回对应的C2:C5的值。
|