ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: gouweicao78

[讨论] 我对数组与多维引用的认识(欢迎探讨)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-10-22 16:54 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组公式
原帖由 gouweicao78 于 2009-10-22 14:43 发表
近日屡见关于多维引用理解上的诸多疑问,在此,将本人的看法阐述如下:

1、数组的维度
关于Excel函数领域的“数组”,有单元素数组、一维数组、二维数组,具体阐述见我对数组与数组运算的认识(欢迎探讨)
也就 ...


您对F9看到的与在单元格中显示的结果不一致了做了解释。我就此有一点疑问,我先说两种情况,一、F9查看结果显示错误值,多单元格显示正确值;二、F9查看结果显示数组,但是与多单元格显示值不一致。我想针对第二种情况问一下,假设按F9显示的数组为Array1,在单元格中显示的数值所组成的数组为Array2,Array1与Array2不一致。此中情况虽出现不一致,但是公式返回的肯定是内存数组,这一点无疑问,对吧!而且所返回的内存数组作为其他函数的参数的时候(比如返回的数组作为indirect函数的第一个参数的时候)用的就是Array1,而不是Array2,我简单测试了一下,是这样的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-22 17:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 12楼 evillenlee 的帖子

实例?

TA的精华主题

TA的得分主题

发表于 2009-10-23 08:54 | 显示全部楼层
是不是可以说:1、函数参数中为reference的就是引用函数,而不是reference就不是引用函数?2、引用函数肯定能得到引用,而得到引用不一定需要引用函数?(如上例中的if,如=A1都可以得到引用)3、引用单元格的最终目的是得到单元格数据,而得到单元格的数据不一定是通过引用(如VLOOKUP)?

[ 本帖最后由 onthetrip 于 2009-10-23 09:06 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-10-23 09:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 13楼 gouweicao78 的帖子

原帖由 gouweicao78 于 2009-10-22 17:49 发表
实例?

实例见附件

编辑栏里查看的结果和多单元格的结果不一致.zip

2.7 KB, 下载次数: 132

TA的精华主题

TA的得分主题

发表于 2009-10-23 10:08 | 显示全部楼层

回复 15楼 evillenlee 的帖子

你有没有试过把那个index公式也写成多单元格的数组公式?

TA的精华主题

TA的得分主题

发表于 2009-10-23 11:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 15楼 evillenlee 的帖子

我的理解是:公式返回的虽然是内存数组,但确是多维的内存数组;而F9只能显示平面的内存数组;
而IF逻辑参数使用数组,后面的结果又是三维引用,这种计算情况恐怕就比较复杂了

TA的精华主题

TA的得分主题

发表于 2009-10-23 11:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 16楼 子元女王 的帖子

刚才试了一下,如果INDEX也写成多单元格的数组公式,那么INDEX参数后面两个参数可以随便写,返回的区域值与灰色区域是一样的

TA的精华主题

TA的得分主题

发表于 2009-10-23 11:18 | 显示全部楼层

回复 15楼 evillenlee 的帖子

我的理解是:
1、公式返回的虽然是内存数组,但确是多维的内存数组;index也只能处理平面内存数组
2、觉得应该把重点放在理解IF逻辑参数使用数组的情况,盼高手释惑

[ 本帖最后由 onthetrip 于 2009-10-23 12:00 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-23 17:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 15楼 evillenlee 的帖子

=INDEX(IF(NOT(ISBLANK(A1:F8)),T(INDIRECT(ADDRESS(ROW(A1:F8),COLUMN(A1:F8)))),""),6,3)

还是加T()的问题啊。
你15楼这个现象,只能说明SUMIF、SUBTOTAL支持引用函数产生的多维引用,但INDEX不支持。

TA的精华主题

TA的得分主题

发表于 2009-10-27 10:09 | 显示全部楼层
原帖由 gouweicao78 于 2009-10-22 14:44 发表
占位。
还没到点子上,呵呵。暂先歇歇再谈。  对于上面1楼、2楼的观点,欢迎大家讨论

还是期待版主继续谈谈您的观点
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 11:39 , Processed in 0.043251 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表