EXcel函数,N(IF({1},$B$1:$Z$1)) 这个是什么意思?求详解。谢谢!

2024-06-05 01:55:00
有1个网友回答
网友(1):

  这是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))

  返回余键的就是三列数值了