来自:Excel之家ExcelHome (ID:excelhome)
作者:罗国发
第一部分:了解数组公式
在开始讲数组公式之前,我们先来认识几个必要的概念。
1、数组
什么是数组?仁者见仁,智者见智。
我个人的感觉是:数组是具有某种联系的多个元素的组合。
某班级里有50个学生,这里,如果班级是数组,50个学生就是数组里的50个元素。当然,班级里的元素是可变的,可以是20个,可以是30个,也可以是60个。
放到Excel里,班级就相当于工作表,而学生就相当于工作表里的单元格数值。所以,Excel里的数组,我还把它理解是为多个单元格数值的组合。
2、公式
如果你在使用Excel,但是你说自己还没听过“公式”这个名词,我只能说:“你太OUT了!”
什么是公式?
我的理解是:在Excel里,凡是以半角符号“=”开始的、具有计算功能的单元格内容就是所谓的Excel公式。
如:=SUM(B2:D2)
=B2+C2+D2
这些都是公式。
3、数组公式
数组公式是相对于普通公式而言的。
普通公式(如上面的=SUM(B2:D2),=B2+C2+D2等),只占用一个单元格,只返回一个结果。
而数组公式可以占用一个单元格,也可以占用多个单元格。它对一组数或多组数进行多重计算,并返回一个或多个结果。
集合在教室外面的学生,老师把他们叫进教室。
老师说:“第一组第一桌的同学进教室。”于是第一组第一桌的同学走进教室。
老师接着叫:“第一组第二桌的同学进教室。”然后是第二桌的同学进教室。
老师再叫:“第一组第三桌的同学进教室。”然后第三桌的同学走进教室。
接着是第四桌,第五桌……,就这样一个学生一个学生的叫,这就是普通公式的做法,学生回到座位,就像数值回到工作表的单元格里,一个座位叫一次,就像一个单元格输入一个公式。
如果老师说:“第一组的全部进教室。”学生听到命令后,第一桌的同学走进去,然后是第二桌,第三桌……,老师不用再下第二个命令,这是数组公式的处理方法。
4、数组公式的标志
在Excel中,数组公式的显示是用大括号对“{ }”来括住以区分普通Excel公式。
如图:
(1)数组公式:
(2)普通公式:
输入数组公式:用Ctrl+Shift+Enter结束公式的输入。
特别提醒:这是最关键的,这相当于用户告诉Excel:“我不是一般人,爷我是数组公式,你得对我特别关照。”
于是,Excel明白了,不能用常规的逻辑来对待这位大爷。
当你按下三键后,Excel会自动给公式加上“{}”以和普通公式区别开来,不用用户输入“{ }”,但如是是想在公式里直接表示一个数组,就需要输入“{ }”来把数组的元素括起来。
如:
=IF({1,0},D2:D8,C2:C8)这个公式里的数组{1,0}的括号,就是用户自己输入的。
5、数组的维数
“维数”是数组里的又一个重要概念。
数组有一维数组,二维数组,三维数组,四维数组……
在公式里,我们更多接触到的只是一维数组和二维数组。
一维数组我们可以简单地看成是一行的单元格数据集合,比如A1:F1。
一维数组的各个元素间用英文的逗号“,”隔开(如果是单独的一列时,用英文分号“;”隔开)。
{1,2,3,4,5,6},这就是一个有6个元素的一维数组,或者说,只有一行的数组。数组的各个元素间用逗号“,”分隔。
如果想把这个数组输入到工作表的单元格里,同时选中同一行里相领的六个单元格,输入:
={1,2,3,4,5,6}
按Ctrl+Shift+Ente三键结束公式,你就可以看到这个一维数组被输入到工作表的单元格里了。
自己动手试一试。
二维数组可以看成是一个多行多列的单元各数据集合,也可以看成是多个一维数组的组合。
如单元格A1:D3,就是一个三行四列的二维数组。
我们可以把它看成是A1:D1、A2:D2与A3:D3这三个一维数组的组合。
二维数组里同行的元素间用逗号“,”分隔,不同的行用分号“;”分隔。
我们可以用上面的方法,在A1:D3区域输入数据,并引用地址,按F9来查看。
所以看到在数组里,换行的时候,元素间的分隔符是“;”,所以,要判断一个数组是几
行几列的数组,只需要看里面的逗号和分号就知道了。
如果需要把数组返回到单元格区域里,首先得看数组是几行几列,然后再选择相应的单元格区域,输入数组,三键结束。
对了,是哪三键可不要忘记了:Ctrl+Shift+Enter
记住:
(1)一维数组是单独的一行或一列。二维数组是多行多列。
(2)数组里的元素,同一行内不同列的各元素用英文逗号“,”分开,用英文分号“;”将同一列内的各行分开。
(3)二维数组的元素按先行后列的顺序排列。
总是这样:{第一行的第一个,第一行的第二个,第一行的第三个……;第二行的第一个
,第二行的第二个,第二行的第三个……;第三行的第一个……}
第二部分:数组公式的初步认识
还记得数组公式的输入方法是以下哪个?
1、Shift+Ctrl+Alt
2、Shift+Ctrl+Enter
3、Ctrl+Alt+Enter
答案是《?》
在对数组公式有了一个简单的了解之后,我们将通过一些简单的例子来进一步认识数组公式。
问题1:在D2:D4求出商品的销售金额。
现在你解决这个问题会用什么办法呢?
我知道很小儿科,千万不要在心里骂我拿这种简单的问题来考你。
是的,很简单,在D2单元格输入公式“=B2*C2”,下拉公式即可。
在这里,D2:D4三个单元格输入了三个普通公式,分别返回了三个值在三个单元格里。
这就是老师在点学生进教室,第一组第一桌的同学进教室入座,第一组第二桌的同学进教室入座……
我们试着用数组公式来解决这个问题,老师嗓子不好,让他叫一次我们就乖乖进教室去得了。
选中D2:D4输入公式
=B2:B4*C2:C4
三键结束输入数组公式,即可得到同样的结果。
这就是一个多单元格的数组公式,多单元格数组公式是进行批量计算,可节省计算的时间。
同时,它还有一个特点:当你输入完数组公式后,请你尝试修改公式区域里其中一个单元格的公式,看看会有什么结果。
是的,你已经发现了,会弹出一个对话框,提醒你:
不能修改数组的某一部分。
这就是多单元格数组公式的一个重要的特点:
保证公式集合的完整性不被修改。
这可以防止用户在操作时无意间修改到表格的公式,这是不是会安全得多?
当然,如果你要修改公式的话,必须得选中公式所在的所有单元格。
问题2:在F1求出商品的销售总金额
这一题如果你用普通公式又怎么解决呢?
我想象中可能有两种方法:
A、插入辅助列,先求出各商品的销售额,然后再求总和。
B、直接在F1输入公式
=SUM(B2*C2,B3*C3,B4*C4)
这样看上去不错,可是,如果有100行数据,一千行号数据呢?
先不考虑单元格能容纳多少字符的问题,就光输入公式,累也得把你累趴下,显然是行不通的。
这时候就需要用数组公式来完成了。
选中F1单元格,输入公式:
=SUM(B2:B4*C2:C4)
三键确认输入即可。