Excel 数组的使用
数组就是单元的集合或是一组处理的值集合。可以写一个数组公式,即输入一个单个的公式,它执行多个输入的操作并产生多个结果——每个结果显示在一个单元中。数组公式可以看成是有多重数值的公式。与单值公式的不同之处在于它可以产生一个以上的结果。一个数组公式可以占用一个或多个单元。数组的元素可多达6500个。
数组就是单元的集合或是一组处理的值集合。可以写一个数组公式,即输入一个单个的公式,它执行多个输入的操作并产生多个结果——每个结果显示在一个单元中。数组公式可以看成是有多重数值的公式。与单值公式的不同之处在于它可以产生一个以上的结果。一个数组公式可以占用一个或多个单元。数组的元素可多达6500个。
7.12.1 了解数组
首先我们通过几个例子来说明数组是如何工作的。我们可以从图7-35中看到,在“B”列中的数据为销售量,在“C”列中的数据是销售单价,要求计算出每种产品的销售额和总的销售金额,一般的做法是计算出每种产品的销售额,然后再计算出总的销售额。但是如果我们改用数组,就可以只键入一个公式来完成这些运算。
输入数组公式的步骤为:
选定要存入公式的单元格,在本例中我们选择“D4”单元格。输入公式=SUM(B2:B4*C2:C4),但不要按下[Enter]键(输入公式的方法和输入普通的公式一样)。按下[Shift]+[Ctrl]+[Enter]键。我们就会看到在公式外面加上了一对大括号“{}”,如图 7-36所示。
在单元格“D”中的公式“=SUM(B2:B4*C2:C4)”, 表示“B2: B4”范围内的每一个单元格和“C2:C4”内相对应的单元格相乘,也就是把每个地区的销售量和销售单价相乘,相乘的结果共有3个数字,每个数字代表一个地区的销售额,而“SUM”函数将这些销售额相加,就得到了总的销售额。
下面我们再以使用数组计算3种产品的销售额为例,来说明如何产生多个计算结果。其操作过程如下:
(1) 选择“D2:D4”单元格区域,该区域中的每个单元格保存的销售金额。如图7-37所示。
(2) 在“D2”单元格中输入公式“=B2:B4*C2:C4”(不按[Enter]键)按下[Shift]+[Ctrl]+[Enter]”键,我们就可以从图7-38中看到执行后的结果。同时我们可以看到“D2”到“D4”的格中都会出现用大括弧“{ }”框住的函数式,这表示“D2” 到“D4”被当作一个单元格来处理,所以不能对“D2”到“D4”中的任一格作任何单独处理,必须针对整个数组来处理。
7.12.2 使用数组常数
我们也可以在数组中使用常数值。这些值可以放在数组公式中使用区域引用的地方。要在数据公式中使用数组常数,直接将该值输入到公式中并将它们放在括号里。例如,在图7-39中,就使用了数组常数进行计算。
常数数组可以是一维的也可以是二维的。一维数组可以是垂直的也可以是水平的。在一维水平数组中的元素用逗号分开。下面是一个一维数组的例子。例如数组:{10,20,30,40,50}。在一维垂直数组中的元素用分号分开。在下面的例子是一个6×1的数组,{100;200;300;400;500;600}。
对于二维数组,用逗号将一行内的元素分开,用分号将各行分开。下一个例子是“4 ×4”的数组(由4行4列组成):{100,200,300,400;110, … … ;130,230,330,440}。
注意:不可以在数组公式中使用列出常数的方法列出单元引用、名称或公式。例如:{2*3,3*3,4*3}因为列出了多个公式,是不可用的。{A1,B1,C1}因为列出多个引用,也是不可用的。不过可以使用一个区域,例如{A1:C1}。
对于数组常量的内容,可由下列规则构成:
数组常量可以是数字、文字、逻辑值或错误值。
数组常量中的数字,也可以使用整数、小数或科学记数格式。
文字必须以双引号括住。
同一个数组常量中可以含有不同类型的值。
数组常量中的值必须是常量,不可以是公式。
数组常量不能含有货币符号、括号或百分比符号。
所输入的数组常量不得含有不同长度的行或列。
7.12.3 数组的编辑
数组包含数个单元格,这些单元格形成一个整体,所以,数组里的某一单元格不能单独编辑。在编辑数组前,必须先选取整个数组。
选取数组的步骤为:
(1) 选取数组中的任一单元格。
(2) 在“编辑”菜单中选择“定位”命令或者按下[F5]键,出现一个“定位”对话框。按下“定位条件”按钮,出现一个定位条件对话框,如图7-40所示。
选择“当前数组”选项,最后按下“确定”按钮,就可以看到数组被选定了。
编辑数组的步骤为:
选定要编辑的数组,移到数据编辑栏上按[F2]键或单击左键,使代表数组的括号消失,之后就可以编辑公式了。编辑完成后,按下[Shift] +[Ctrl] + [Enter]键。
若要删除数组,其步骤为:选定要删除的数组,按[Ctrl]+[Delete]或选择编辑菜单中的“清除”命令。
7.12.4 数组的扩充
在公式或函数中使用数组常量时,其它运算对象或参数应该和第一个数组具有相同的维数。必要时,Microsoft Excel 会将运算对象扩展,以符合操作需要的维数。每一个运算对象的行数必须和含有最多行的运算对象的行数一样,而列数也必须和含有最多列数对象的列数一样。
例如: = SUM({1,2,3}+{4,5,6})内的第一个数组为1×3,得到的结果为1+4、2+5和3+6的和,也就是21。如果将公式写成 = SUM({1,2,3}+4}),则第二个数据并不是数组,而是一个数值,为了要和第一个数组相加,Excel 会自动将数值扩充成1 ×3 的数组。使用=SUM({1,2,3}+{4,4,4})做计算,得到的结果为1+4、2+4和3+4的和, 即18。
将数组公式输入单元格区域中时,所使用的维数应和这个公式计算所得数组维数相同。这样,Microsoft Excel 才能把计算所得的数组中的每一个数值放入数组区域的一个单元格内。
如果数组公式计算所得的数组比选定的数组区域还小,则 Microsoft Excel会将这个数组扩展,以便将它填入整个数组区域内。例如:={1,2;3,4}*2扩充后的公式就会变为={1,2;3,4}*{2,2;2,2},则相应的计算结果为“2,4,6,8”。再如:输入公式={1,2;3,4}*{2,3}扩充后的公式就会变为={1,2;3,4}*{2,3;2,3} ,则相应的计算结果为“2,6,6,12”。
如果 Microsoft Excel 将一个数组扩展到可以填入比该数组公式大的区域内,而没有扩大值可用的单元格内,这样就会出现#N/A错误值。例如:={1,2;3,4}={1,2,3} 扩充后的公式就会变为={1,2,#N/A;3,4,#N/A}*{1,2,#/A;1.2.#N/A} ,而相应的计算结果为“2,4,#N/A,4,6,#N/A”。
如果数组公式计算所得的数组比选定的数组区域还要大,则超过的值不会出现在工作表上。
7.12.1 了解数组
首先我们通过几个例子来说明数组是如何工作的。我们可以从图7-35中看到,在“B”列中的数据为销售量,在“C”列中的数据是销售单价,要求计算出每种产品的销售额和总的销售金额,一般的做法是计算出每种产品的销售额,然后再计算出总的销售额。但是如果我们改用数组,就可以只键入一个公式来完成这些运算。
输入数组公式的步骤为:
选定要存入公式的单元格,在本例中我们选择“D4”单元格。输入公式=SUM(B2:B4*C2:C4),但不要按下[Enter]键(输入公式的方法和输入普通的公式一样)。按下[Shift]+[Ctrl]+[Enter]键。我们就会看到在公式外面加上了一对大括号“{}”,如图 7-36所示。
在单元格“D”中的公式“=SUM(B2:B4*C2:C4)”, 表示“B2: B4”范围内的每一个单元格和“C2:C4”内相对应的单元格相乘,也就是把每个地区的销售量和销售单价相乘,相乘的结果共有3个数字,每个数字代表一个地区的销售额,而“SUM”函数将这些销售额相加,就得到了总的销售额。
下面我们再以使用数组计算3种产品的销售额为例,来说明如何产生多个计算结果。其操作过程如下:
(1) 选择“D2:D4”单元格区域,该区域中的每个单元格保存的销售金额。如图7-37所示。
(2) 在“D2”单元格中输入公式“=B2:B4*C2:C4”(不按[Enter]键)按下[Shift]+[Ctrl]+[Enter]”键,我们就可以从图7-38中看到执行后的结果。同时我们可以看到“D2”到“D4”的格中都会出现用大括弧“{ }”框住的函数式,这表示“D2” 到“D4”被当作一个单元格来处理,所以不能对“D2”到“D4”中的任一格作任何单独处理,必须针对整个数组来处理。
7.12.2 使用数组常数
我们也可以在数组中使用常数值。这些值可以放在数组公式中使用区域引用的地方。要在数据公式中使用数组常数,直接将该值输入到公式中并将它们放在括号里。例如,在图7-39中,就使用了数组常数进行计算。
常数数组可以是一维的也可以是二维的。一维数组可以是垂直的也可以是水平的。在一维水平数组中的元素用逗号分开。下面是一个一维数组的例子。例如数组:{10,20,30,40,50}。在一维垂直数组中的元素用分号分开。在下面的例子是一个6×1的数组,{100;200;300;400;500;600}。
对于二维数组,用逗号将一行内的元素分开,用分号将各行分开。下一个例子是“4 ×4”的数组(由4行4列组成):{100,200,300,400;110, … … ;130,230,330,440}。
注意:不可以在数组公式中使用列出常数的方法列出单元引用、名称或公式。例如:{2*3,3*3,4*3}因为列出了多个公式,是不可用的。{A1,B1,C1}因为列出多个引用,也是不可用的。不过可以使用一个区域,例如{A1:C1}。
对于数组常量的内容,可由下列规则构成:
数组常量可以是数字、文字、逻辑值或错误值。
数组常量中的数字,也可以使用整数、小数或科学记数格式。
文字必须以双引号括住。
同一个数组常量中可以含有不同类型的值。
数组常量中的值必须是常量,不可以是公式。
数组常量不能含有货币符号、括号或百分比符号。
所输入的数组常量不得含有不同长度的行或列。
7.12.3 数组的编辑
数组包含数个单元格,这些单元格形成一个整体,所以,数组里的某一单元格不能单独编辑。在编辑数组前,必须先选取整个数组。
选取数组的步骤为:
(1) 选取数组中的任一单元格。
(2) 在“编辑”菜单中选择“定位”命令或者按下[F5]键,出现一个“定位”对话框。按下“定位条件”按钮,出现一个定位条件对话框,如图7-40所示。
选择“当前数组”选项,最后按下“确定”按钮,就可以看到数组被选定了。
编辑数组的步骤为:
选定要编辑的数组,移到数据编辑栏上按[F2]键或单击左键,使代表数组的括号消失,之后就可以编辑公式了。编辑完成后,按下[Shift] +[Ctrl] + [Enter]键。
若要删除数组,其步骤为:选定要删除的数组,按[Ctrl]+[Delete]或选择编辑菜单中的“清除”命令。
7.12.4 数组的扩充
在公式或函数中使用数组常量时,其它运算对象或参数应该和第一个数组具有相同的维数。必要时,Microsoft Excel 会将运算对象扩展,以符合操作需要的维数。每一个运算对象的行数必须和含有最多行的运算对象的行数一样,而列数也必须和含有最多列数对象的列数一样。
例如: = SUM({1,2,3}+{4,5,6})内的第一个数组为1×3,得到的结果为1+4、2+5和3+6的和,也就是21。如果将公式写成 = SUM({1,2,3}+4}),则第二个数据并不是数组,而是一个数值,为了要和第一个数组相加,Excel 会自动将数值扩充成1 ×3 的数组。使用=SUM({1,2,3}+{4,4,4})做计算,得到的结果为1+4、2+4和3+4的和, 即18。
将数组公式输入单元格区域中时,所使用的维数应和这个公式计算所得数组维数相同。这样,Microsoft Excel 才能把计算所得的数组中的每一个数值放入数组区域的一个单元格内。
如果数组公式计算所得的数组比选定的数组区域还小,则 Microsoft Excel会将这个数组扩展,以便将它填入整个数组区域内。例如:={1,2;3,4}*2扩充后的公式就会变为={1,2;3,4}*{2,2;2,2},则相应的计算结果为“2,4,6,8”。再如:输入公式={1,2;3,4}*{2,3}扩充后的公式就会变为={1,2;3,4}*{2,3;2,3} ,则相应的计算结果为“2,6,6,12”。
如果 Microsoft Excel 将一个数组扩展到可以填入比该数组公式大的区域内,而没有扩大值可用的单元格内,这样就会出现#N/A错误值。例如:={1,2;3,4}={1,2,3} 扩充后的公式就会变为={1,2,#N/A;3,4,#N/A}*{1,2,#/A;1.2.#N/A} ,而相应的计算结果为“2,4,#N/A,4,6,#N/A”。
如果数组公式计算所得的数组比选定的数组区域还要大,则超过的值不会出现在工作表上。