ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

[复制链接]

TA的精华主题

TA的得分主题

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

你没看后面的,已经修正了!

呵呵,等我发上后,前面已经续了好多帖了。
[此贴子已经被作者于2005-5-9 14:02:46编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-5-9 14:18 | 显示全部楼层
以下是引用apolloh在2005-5-9 13:55:00的发言: >

sumproduct如果需要用sum(参数1,参数2,参数3)的形式输入,必须每个数组参数的尺寸(行列数)相同。

谢谢指出.看来还是对函数的理解不够深呀:)

谢谢大家的参与.

TA的精华主题

TA的得分主题

发表于 2005-5-9 15:06 | 显示全部楼层
以下是引用apolloh在2005-5-9 13:51:00的发言:

如果按照EXCEL帮助中的定义,数组运算是否可等同于数组公式,还说不准。虽然其内部都是运用了数组同时进行多重计算,但数组公式的定义还在于其有个{}的形式来结束,这样做的目的在于明确告知EXCEL将该公式进行多重计算(数组运算)。大家是否混淆了数组运算和数组公式的概念呢?

[em30]偶轻轻地反对!

同意不应以{}确定是否数组运算。

偶觉得也不应以{}确定是否数组公式。

偶赞同gdliyy观点,有些公式会自动进行多重计算,不用你告诉excel,那就不用{}了,能不能说它进行了数组运算但不是数组公式?非得{}的才称为数组公式?

TA的精华主题

TA的得分主题

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

偶认为,数组公式和普通公式之说是,公式书写的形式,普通函数或表达式(没有执行数组运算的)如果以三键结束,那么在VBA中也会被认为是数组公式,而它是不执行数组运算的。

所以偶认为数组公式和数组运算是两个概念。

有一些数组运算如果不以数组公式的形式输入,那么无法返回正确结果,而有一些函数支持数组参数或以常量数组为参数所以,也不需要以数组公式的形式输入。当然也不能说以数组公式输入的公式都是进行了数组运算。如{=A1}。

所以说数组公式和普通公式是公式输入的两种形式而已。而数组运算和非数组运算式不能等同于这两个概念的。

[em05]

TA的精华主题

TA的得分主题

发表于 2005-5-9 15:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
笼统地区分数组公式和普通公式的意义不大,实际应用中都按三键输入不会带来不利影响。公式中是否涉及了数组运算才是学习数组公式必须要搞清楚的。

TA的精华主题

TA的得分主题

发表于 2005-5-9 15:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用apolloh在2005-5-9 15:16:00的发言:数组公式和普通公式是公式输入的两种形式而已。而数组运算和非数组运算式不能等同于这两个概念的。

偶的想法也是这样的.

TA的精华主题

TA的得分主题

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

将这段代码复制到工作表的代码窗

然后在B1输入=sumproduct(C1:C10,D1:D10) 在B2种输入{=C11}看看结果如何。

Sub tt()

Range("a1") = Range("B1").HasArray

Range("a2") = Range("B2").HasArray End Sub

结果应该是A1=false 而 A2=true,所以说所谓数组公式之说只是公式的形式,而不是指公式是否执行了数组运算。

TA的精华主题

TA的得分主题

发表于 2005-5-9 15:39 | 显示全部楼层
以下是引用chenjun在2005-5-9 15:23:00的发言: 笼统地区分数组公式和普通公式的意义不大,实际应用中都按三键输入不会带来不利影响。公式中是否涉及了数组运算才是学习数组公式必须要搞清楚的。

同意老大观点!学习以实质为重。

我们日常说的“数组公式”应该是广义的执行了数组运算的公式,而Excel所定义的数组公式的概念应该是指公式的书写形式,其目的是用来提醒excel将该公式进行数组运算。

TA的精华主题

TA的得分主题

发表于 2005-5-9 15:43 | 显示全部楼层

输入公式时直接按Enter就是普通公式,同时按Ctrl+Shift+Enter就是数组公式

TA的精华主题

TA的得分主题

发表于 2005-5-9 15:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用shuiyuan在2005-5-9 15:43:00的发言:

输入公式时直接按Enter就是普通公式,同时按Ctrl+Shift+Enter就是数组公式

如果这样说,那以后多条件求和就可以说,不必用数组公式,一般公式sumproduct()就可以了?

27楼apolloh兄用hasarray来判断的,我觉得只是形式上的判断,也就是说只是根据公式外面的{}来判断,并非从公式的实质上的判断。

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

本版积分规则

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

GMT+8, 2024-11-22 04:21 , Processed in 0.039235 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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