分享

第六讲 数组维数的扩展和计算结果的分析

 xfzxlgs 2022-06-13 发布于江西
大家好,今日继续讲解VBA数组与字典解决方案,今日的内容是第6讲:数组维数的扩展和计算结果的分析。这讲的内容难度比较大,希望在工作中有能用到的数组的朋友仔细的验证一下,给自己的工作带来方便,也希望大家在学习EXCEL函数的时候可以参考。

1  数组公式中,对参数数组的理解

由于数组公式是以数组为参数进行的运算,数组可以是一维的也可以是二维的。一维数组可以是垂直的也可以是水平的。经过运算后,得到的结果可能是一维的,也可能是多维的,存放在不同的单元格区域中。

2  数组维数扩展的概念和意义

在公式或函数中使用数组常量时,其它运算对象或参数应该和第一个数组具有相同的维数。必要时,Excel 会将运算对象扩展,以符合操作需要的维数。换句话说:数组在参与运算时,每一个运算对象的行数必须和含有最多行的运算对象的行数一样,而列数也必须和含有最多列数对象的列数一样。
例如: = SUM({7,8,9}+{4,5,6})内的第一个数组为1×3,得到的结果为7+4、8+5 和 9+6 的SUM,也就是11+13+15=39。如果将公式写成 = SUM({7,8,9}+4),则第二个数据并不是数组,而是一个数值,为了要和第一个数组相加,Excel 会自动将数值扩充成1 ×3 的数组。使用=SUM({7,8,9}+{4,4,4})做计算,得到的结果为7+4、8+4和9+4的和, 即11+12+13=36。

3  数组维数和单元格区域的对应关系

将数组公式输入单元格区域中时,所使用的维数应和这个公式计算所得数组维数相同。这样, Excel 才能把计算所得的数组中的每一个数值放入数组区域的单元格内。
如果数组公式计算所得的数组比选定的数组区域还小,则 Excel会将这个数组扩展,以便将它填入整个数组区域内。例如:={5,6;3,4}*2扩充后的公式就会变为={5,6;3,4}*{2,2;2,2},则相应的计算结果为“10,12,6,8”。再如:输入公式={1,2;3,4}*{1,2}扩充后的公式就会变为={1,2;3,4}*{1,2;1,2} ,则相应的计算结果为“1,4,3,8”。

4  数组扩展后的异常值处理

如果 Excel 将一个数组扩展到可以填入比该数组公式大的区域内,而没有扩大值可用的单元格内,这样就会出现#N/A错误值。
例如:={1,2;3,4}*{1,2,3} 扩充后的公式就会变为={1,2,#N/A;3,4,#N/A}*{1,2,3;1,2,3} ,而相应的计算结果为“1,4,#N/A,3,8,#N/A”。
特别注意点:
a) 如果数组公式计算所得的数组比选定的数组区域还要大,则超过数组区域的值不会出现在工作表上。
b) 由于一个单元格内只能储存一个数值,所以当结果是一组数据时,单元格只返回第一个值,,在其他不同的单元格上能够看到不同元素参与运算得到的不同结果。

5  数组公式的实际应用

如下面的截图,用数组公式计算两个数据区域A1:E1和A2:E2的乘积放在A3:E3的区域内:
1)选取单元格区域A3:E3
2)输入公式“= A1:E1* A2:E2”。
 图片

3)按“Crtl+Shift+Enter”组合键。 图片
以上显示了数组公式利用的过程,在后面的数组计算中,我们还会详细的讲解有关数组维数扩展的问题,这里大家只要简单的掌握一下。


今日内容回向:
1  什么是数组的维数。
2  什么是数组维数的扩展?
3  什么情况下要维数扩展?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多