ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 彻底理解数组以及数组的运算原理

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2016-7-3 00:23 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 boyihuang 于 2016-7-3 00:25 编辑

对于Excel中的“数组”,很多初学者甚至一些中级使用者都觉得很复杂。因为一个单元格的数据可以是一个数组(单元素数组),单行数据,单列数据(一维数组),多行多列数据(二维数组),都可以是一个数组。当不同的数组进行运算,很多人就要彻底绕晕了。


数组是一个比较常见而且好用的工具,所以我想用一种比较简单的方法结合例子让大家清晰地理解数组的概念以及数组与数组之间的运算原理。


人的大脑决定了我们往往更容易接受视觉化的图片,色彩,而非枯燥的文字和数字。在Excel,我们往往会用图表的方式来呈现数据,目的也是为了更直观,突显视觉化效果。所以我要通过GIF动态图的演示结合文字,让大家轻松地理解数组以及数组的运算原理。


1.    数组的表现方式
首先,所有的数组,都能在一定连续单元格区域表示出来,如下图:
数组.jpg

用花括号{}表示数组5,是这样的:{10,20,30;40,50,60}。其中,30后面,跟的是分号;,表示40要换行了。以此类推。
数组中逗号与分号的意义一定要理解。


2.    两个数组运算,结果是几行几列的数据?
两个数组的行数取最大值,列数取最大值,即为结果的行列数。
例如,数组4区域是4行2列,数组5:区域是2行3列,运算结果区域的行列数即为:4行3列


3.    数组与数组间的数值如何运算?
这是今天的重点,我希望用一个最直观最简单最容易记忆的方法展示给大家。

数组1+数组2
数组1 数组2.gif
l  已知:结果区域为1行3列。
l  数组1自动扩充区域,并填充数据,然后执行运算。


数组2+数组3
数组2 数组3.gif
l  已知:结果区域为3行3列。
l  数组2,数组3都会自动扩充区域,并填充数据,然后执行运算。


数组3+数组4
数组3 数组4.gif
l  已知:结果区域为4行2列。
l  数组3先横向扩充区域并填充列数据,然后再纵向扩充区域。但是尝试纵向填充数据的时候,Excel无法判断应该填充什么数据,所以会填充“#N/A”错误值。
l  数组4为4行2列的二维数组,所以无须再扩充区域。
l  执行运算的时候,对#N/A进行运算的结果为#N/A。


数组4+数组5
l  已知:结果区域为4行3列。
l  数组4,数组5都会自动扩充区域,但是Excel都无法判断该填充什么数据,所以都会填充#N/A。
l  执行运算的时候,对#N/A进行运算的结果为#N/A。


4.    输入数组公式的注意事项
l  先选择要输出结果的区域(正确的行数,列数);
l  输入数组公式后,一定要按Ctrl+Shift+Enter三键结束。


总结
概括来讲,数组之间运算。遵循以下顺序:
根据数组的行列数确定运算结果的行列数—参与运算的数组扩充区域—填充数据—进行运算。
即使是多个数组之间的运算,同样也遵循以上规则。


读完这篇文章,是不是有一种对着数组有“疤丁解牛”的感觉?

数组4 数组5.gif

评分

11

查看全部评分

TA的精华主题

TA的得分主题

发表于 2016-7-3 08:53 | 显示全部楼层
讲的很不错。我也正是这么理解的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-7-3 21:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jiny680p 发表于 2016-7-3 08:53
讲的很不错。我也正是这么理解的。

嗯嗯,个人认为这样理解数组是最简单又好记的。

TA的精华主题

TA的得分主题

发表于 2017-2-22 13:51 | 显示全部楼层
讲的 简明易懂 又 很形象。好

TA的精华主题

TA的得分主题

发表于 2017-4-4 21:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-4-4 22:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-4-5 07:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-4-27 21:32 | 显示全部楼层
谢谢楼主,我也是想开始好好利用数组

TA的精华主题

TA的得分主题

发表于 2017-7-29 08:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-7-31 11:07 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-12-24 01:35 , Processed in 0.043394 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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