《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。
这套字典教程共两册,一共八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA字典与数组第十二讲:行列数相同的数组间运算
【分享成果,随喜正能量】灵魂的一半是学识,另一半是支撑风骨的涵养,人到一定的年龄,便没兴趣在乎自己在别人眼中的定位,只想跟懂自己的人,说一声幸会。。
第十二讲 行列数相同的数组间运算
大家好,今天我们继续讲解VBA数组与字典解决方案的第12讲,从这讲开始,我们讲数组的运算。通过之前的讲解,我们了解了数组的定义,数组的性质,一些重要的知识点我们再回顾一下:
1) 在数组的录入时需要三键输入。
2) 数组公式可以同时进行多个计算,可返回一个或多个结果。
3) 多单元格数组公式需选择多个单元格进行输入,编辑修改时不可以只改变其中一部分。
4) 数组公式具有集合性和制约性。
从今日开始,我们讲解数组的运算规则,通过讲解,读者要掌握各种数组的运算规律。这讲的内容是行列数相同数组的运算。
1 横向一维数组间的运算规律
如下截图,我们录入数组公式:{=B1:F1+B3:F3}
对于这类横向一维数组间的运算,这是一个多单元格的数组公式,如:数组1+数组2,运算规律是:第一个数组的第一个元素与第二个数组的第一个元素相加,结果作为数组公式结果的第一个元素;然后第一个数组的第二个元素与第二个数组的第二个元素相加,结果作为数组公式结果的第二个元素;接着是第三个元素……直到第N个。
2 纵向一维数组间的运算规律
如下截图:数组1*数组2,这也是多单元格的数组公式,录入公式:{=A9:A13*C9:C13},这个时候的运算规律是:第一个数组的第一个元素与第二个数组的第一个元素相乘,结果作为数组公式结果的第一个元素;然后第一个数组的第二个元素与第二个数组的第二个元素相乘,结果作为数组公式结果的第二个元素;接着是第三个元素……直到第N个。
如下截图:
3 二维数组与二维数组间的运算规律
下面将计算{=I2:J6-L2:M6}的结果:
运算后将生成一个新的二维数组的多单元格数组公式。同样的计算过程:第一个数组的第一行第一个元素与第二个数组的第一行第一个元素相减,结果为数组公式结果的数组第一行第一个元素;第一个数组的第一行第二个元素与第二个数组的第一行第二个元素相减,结果为数组公式结果的数组第一行的第二个元素;接着是第三个……直到第N个。
综述上面的结果:行列数相同数组的运算规律很简单,两个同行同列的数组计算是对应元素间进行运算,并返回同样大小的数组。
正如穿鞋要穿合脚的才走得了路一样,在公式或函数中使用数组时,运算对象或参数的数组维数要匹配,否则计算会出错。教室里,第一排的有18个同学,第二排有19个同学,老师说:“第一排和第二排的同学交换作业,互相检查。”第二排的第19个同学和谁交换?这就是数组的不匹配。数组不匹配时,工作就不能完成了。上面的解释也是数组制约性的体现。
今日内容回向:
1 行列数相同数组的运算规律是什么?
2 上面内容中就是讲的是数组的制约性,如何理解?
我多年的VBA实践经验,全部浓缩在以下教程中: