ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 为何INDEX对一维常量数组取值会返回单元素数组?

为何INDEX对一维常量数组取值会返回单元素数组?

作者:绿色风 分类: 时间:2022-08-17 浏览:84
楼主
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楼
好大一棵树王玉
这种东西细细品起来,真的有味道啊!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap