楼主 gouweicao78 |
Q:为何INDEX对一维常量数组取值有时会返回单元素数组?例如: =INDEX({1,2,3,4,5},2)——返回单值2 =INDEX({1,2,3,4,5},,2)——却返回单元素数组{2} 如果数据放在A1:E1 =INDEX(A1:E1,2)和=INDEX(A1:E1,,2)——都返回单值 请问是什么原因? A:这个问题可以从函数的帮助文档中找答案。INDEX函数的语法有2种形式,即数组形式和引用形式。 1、引用形式(第1参数为单元格区域的引用)。 当引用要以数组的形式出现时,即“区域数组”(Excel中函数与公式中所指的数组通常分为哪几类? ttp://www.exceltip.net/thread-100-1-1.html单一的单元格引用是无法成为单元素数组的。比如=A1,永远也不能被识别为单元素数组。 因而,根据帮助文件: 以下两个公式是等价的: =INDEX(A1:E1,2)根据第1点,只有1行,所以只需1个参数,返回交叉处的值; =INDEX(A1:E1,0,2)根据第2点,row为0返回整列引用,而A1:E1中的第2列整列也只有1个单元格,单一单元格不能被识别为单元素数组。 如果是=INDEX(A1:E2,0,2),返回的就是第2列整列即B1:B2的数组数值了。 2、数组形式 同理,帮助文件中也有这2点: 此时: =INDEX({1,2,3,4,5},2)是根据第1点,返回对应交叉处的值; =INDEX({1,2,3,4,5},0,2)是根据第2点,返回整个第2列的数组数值。 如果是1列的常量数组: =INDEX({1;2;3;4;5},2)——相当于=INDEX({1;2;3;4;5},2,0),返回单元素数组{2} =INDEX({1;2;3;4;5},2,1)——返回单值2。 |
2楼 laowuwyx |
又知道了一个知识点,谢谢草版! |
3楼 好大一棵树王玉 |
这种东西细细品起来,真的有味道啊! |