ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[函数讨论系列5] 何谓数组公式[已结],何谓数组运算[继续讨论]?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-5-10 08:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:数组公式

数组公式不能简单的看书写形式,其实质是数组的运算。

数组公式是对一组或者多组值执行多重计算,并返回一个或多个结果。

TA的精华主题

TA的得分主题

发表于 2005-5-10 08:30 | 显示全部楼层
以下是引用apolloh在2005-5-9 16:28:00的发言:

如果没有数组公式{}这样的一种形式,Excel还真的无法区分除来内置执行数组运算的公式外,哪些公式也是需要“特别对待”的,这也是“数组公式”这个概念存在并区别于“普通公式”的意义吧!

  其实我也没真正想过Excel内部是怎样来判断数组公式的,如果是需要我们告诉Excel这个是数组公式,Excel才知道怎样做,那在“名称、条件格式和有效性”中的公式又如何解释呢?除非它全部都将其采用“数组公式方式”来运算,否则就是Excel自己去判断的。

TA的精华主题

TA的得分主题

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

名称、条件格式、有效性的公式我觉得 在EXCEL内部执行的是另一种计算规则,本来其的计算就与单元格公式有很大的区别,比如,条件格式和有效性里不可以有常量数组,名称、条件格式、有效性中相对引用的判断机制等等,都说明了这三类功能单元格执行的是不同的运算规则。

在VBA中则表现为名称、条件格式、有效性都没有Hasarray属性。

[此贴子已经被作者于2005-5-10 9:02:58编辑过]

TA的精华主题

TA的得分主题

发表于 2005-5-10 11:43 | 显示全部楼层

大家讨论得很精彩,

个人理解为数组公式的本质就是进行了数组运算,而{=A1}并没有进行数组运算所以不能算是数组公式.不能以{}从表面上判断其是否为数组公式。

TA的精华主题

TA的得分主题

发表于 2005-5-10 12:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-5-10 12:30 | 显示全部楼层
以下是引用rongjun在2005-5-10 11:43:00的发言:

大家讨论得很精彩,

个人理解为数组公式的本质就是进行了数组运算,而{=A1}并没有进行数组运算所以不能算是数组公式.不能以{}从表面上判断其是否为数组公式。

以数组公式形式输入的{=A1}和以普通公式形式输入的公式,在Excel内部执行的计算模式是不同的。

虽然两者的结果相同,但是对于前者,Excel将其看作数组运算,按多重计算的模式来计算其值,其实质是一个一元数组参与的多重计算;对于后者,Excel只是按照单一计算的模式来计算其值,参与计算的不是一元数组,而是一个值。

我想表述的意思实际上就是,数组公式这个概念本来就不是用来概括那些含有数组运算的公式,它只是一种输入方式,这种输入方式用来通知Excel执行多重计算模式,其对应面为“普通公式”。

而对于那些不论是否以数组公式的方式输入的,但都含有数组运算的公式,我们就不能再通称其为数组公式了,可以换个称呼,比如“数组运算”,而其的对应面不含数组运算的公式,就称为“非数组运算式”

TA的精华主题

TA的得分主题

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

大家可以再思考下面的问题

问题一:在B1单元格输入 {=A1} 那么,请问

1、是数组公式还是普通公式吗,为什么?

2、有数组运算和数组参数吗,为什么?

3、是多重计算吗,为什么?

问题二、在B2:B10的9个单元格中输入{=A1} 那么,请问

1、是数组公式还是普通公式吗,为什么?

2、有数组运算和数组参数吗,为什么?

3、是多重计算吗,为什么?

然后,再请仔细读数组公式的定义:

数组公式:对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号 ({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。)

最后思考下面的问题:

1、数组运算=数组公式 吗?

2、多重计算=数组运算 吗?

3、非数组运算一定不是数组公式 吗?

TA的精华主题

TA的得分主题

发表于 2005-5-11 08:32 | 显示全部楼层

今天查阅excel2002函数应用宝典,上面是这么描述的把一个公式输入到一个单元格或者一个区域中,必须遵循特定的程序(ctrl+shift+enter还是enter),这样excel才知道你输入的是一个数组公式还是一个一般公式,然后执行单一计算还是多重计算!所以说数组公式还是以ctrl+shift+enter为界定!

这应该是一个充分条件,不是充要条件!

已知ctrl+shift+enter,结果为数组公式

另:不知版主区分数组公式和普通公式有何意义?能否举个实例来说明.我个人认为区分数组公式和普通公式意义不大,我们应该讨论数组公式和普通公式是如何运算的?尤其是数组公式,他的运算规则是什么?

数组公式运算我个人认为:

1.遵循一一对应;

2.遵循逻辑运算规则;

说得不对,大家可以砸我!

[此贴子已经被作者于2005-5-11 8:38:20编辑过]

TA的精华主题

TA的得分主题

发表于 2005-5-11 08:42 | 显示全部楼层
你没有正面回答问题,我们不应该把数组运算和数组公式混为一谈才对!

TA的精华主题

TA的得分主题

发表于 2005-5-11 08:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我同意这个观点:区分“数组公式”和“普通公式”的标志就是是否以三键结束。

至于“多重计算”这个是帮助中提到的概念,“数组运算”我没有找到它的定义。

“数组公式”对两组或多组被称为“数组参数”的数值进行运算。每个数组参数必须有相同数量的行和列。

也就是说这些“数组参数”可能是只有一个元素的数组。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 21:12 , Processed in 0.039062 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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