龙空技术网

数组的维数

VBA语言専攻 249

前言:

而今同学们对“c语言数组维数是什么意思”大概比较着重,同学们都需要知道一些“c语言数组维数是什么意思”的相关内容。那么小编在网上汇集了一些对于“c语言数组维数是什么意思””的相关知识,希望看官们能喜欢,兄弟们快快来学习一下吧!

【分享成果,随喜正能量】不管是阳光灿烂,还是聚散无常,一份好心情,是人生唯一不能被剥夺的财富。 知恩、感恩、报恩是一件非常重要的事情,能让我们心生欢喜,变得快乐。对于每一段代码,我们要有感恩之心,他给了我们欢喜之心,给了我们快乐。

《VBA数组与字典方案》教程是我推出第三套教程,目前已经是第一版修订了。这套教程定位于中级,是学完初级后,进入中级的第一个专题讲解。字典是VBA的精华,教程中详细讲解了EXCEL数组、VBA数组、VBA字典的相关知识点,程序文件已经通过32位,64位两种office系统测试,可以根据实测代码学习。

对于一般的应用人员,我都推荐七、一、三套教程,其中第七和一是初级,第三字典是中级偏下,字典是VBA的精华,我要求学员必学。这三套教程掌握后,可以解决大多数工作中遇到的实际问题。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第6讲:数组的维数。

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

大家好,今日继续讲解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 什么情况下要维数扩展?

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解

第1套教程(共三册):《VBA代码解决方案》是入门后的提高教程

第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)

第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解

第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解

第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用

第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解

第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用

上述教程的学习顺序:

① 7→1→3→2→6→5或者7→4→3→2→6→5。

② 7→8

标签: #c语言数组维数是什么意思