(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”。
如果数组公式计算所得的数组比选定的数组区域还要大,则超过的值不会出现在工作表上。
1.23 数组的应用
(1)数组公式的实现方法:
其实这些都是数组公式,数组公式的输入方法是将公式输入后,不要直接按回车键(Enter),而是要同时按Ctrl+Shift+Enter,这时电脑自动会为你添加“{ }”的。
在论坛上,为了告诉大家这是数组公式,故在公式的头尾都加上了“{ }”。如果不小心按回车了,可以用鼠标点一下编辑栏中的公式,再按Ctrl+Shift+Enter。
编辑或删除数组公式编辑数组公式时,须选取数组区域并且激活编辑栏,公式两边的花括号将消失,然后编辑公式,最后按Ctrl+Shift+Enter键。选取数组公式所占有的全部区域后,按Delete键即可删除数组公式。
数组常量的使用数组公式中还可使用数组常量,但必须自己键入花括号“{ }”将数组常量括起来,并且用“,”和“;”分离元素。其中“,”分离不同列的值,“;”分离不同行的值。
2、数组公式的原理:
数组公式,说白了就是同时对一组或几组数同时处理,然后得到需要的答案。运用数组公式的最重要的原理是数于数之间一一对应。
1、假设要将A1:A50区域中的所有数值舍入到2位小数位,然后对舍入的数值求和。很自然地就会想到使用公式:=ROUND(A1,2)+ROUND(A2,2)+…+ROUND(A50,2)。或者添加ROUND辅助列(A1=ROUND(A1,2)),然后对辅助用SUM函数合计(=SUM(A1:A50))。
如果用数组公式就不要这么麻烦,公式为:
{=SUM(ROUND(A1:A50,2))},它的意思即为在数组A1:A50用ROUND函数进行二位小数的四舍五入,然后进行合计。
2、假设一题为A1:A10区域中为商品单价,B1:B10为对应的销售数量,需要统计总销售额,常规做法需要添加辅助列C列,在C列中计算出C1:C10的每个单价的销售额(C1=A1*B1),然后进行SUM合计(C11=SUM(C1:C10))。
而数组公式为:
{=SUM(A1:A10*B1:B10)}
3、注意:关于常数项的数组可以直接手工添加{ },如此公式 = SUM({1,2,3}+{4,5,6}),这也是数组公式的一种形式。
需要统计如下图所示销量的频率分布,即分别统计销量在50