这是INDEX函数的其中一部分吧?
=N(IF({1},$B$1:$Z$1))
或
=N(IF(1,$B$1:$Z$1))
得到的其实是一个我们称之为“内存数组”的东西, 单独使用没有什么意义
如:
=N(IF({1},ROW(A1:A3)))
这个公式返回值是 !VALUE!
但按F9计算它时, 它实际是一个数组: {1;2;3}
当前面用其它函数引用它时, 如
=SUM(N(IF({1},ROW(A1:A3))))
按 Ctrl+shift+回车 三键结束
该公式的值则显示为 6 , 即 相当于 SUM(1,2,3)
由于INDEX、VLOOKUP等一些函数比较例外, 比如
=INDEX(A1:A10,{1;2;3})
不能得到3行1列的内存数组而下面这个公式
=INDEX(A1:A10,N(IF({1},{1;2;3})))
却可以, 也就是说N(IF(1,数组))可以突破INDEX那个限制. 根据计算步骤, N(IF(1,{1;2;3})) 得到的就是{1;2;3},缺了N或IF都不能让INDEX得到内存数组. 至于什么原因还不知道,或许函数本身设计就是这样.
能想到的就这么多, 表达能力不行, 期待高手纠正补充.
啰嗦了这么多, 忘了正题:
=N(IF({1},$B$1:$Z$1))
返回的是一列数值
如果是:
=N(IF({1;1;1},$B$1:$Z$1))
返回的就是三列数值了