彻底教会你使用Excel数组公式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
彻底教会你使用Excel数组公式
Excel中函数、公式大家都非常熟了,但“数组公式”你是否听过、用过?什么是数组公式呢?根据微软官方给出的解释,数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。
一、什么是数组公式?
直接看微软的解释,也许并不是很容易理解,根据个人的理解,让其更直白一点,可以这样简单理解,引用了数组(可以是一个或多个数值,或是一组或多组数值),并在编辑栏可以看到以“{}”括起来的公式就是数组公式。而数组公式的作用就是对一组(单个数据可以看成是一组)、多组数据进行处理,然后得到想要的结果。
二、如何输入数组公式
既然数组公式是以“{}”括起来的,那是不是在编辑栏在公式的两端分别输入“{}”就可以了呢?答案是否定的,在Excel中要输入数组公式,必须以特定的方法来输入,算是告诉Excel,我们这里输入的是数组公式。
在某个单元格输入数组公式的方法如下:
1.在编辑栏输入完整的公式,并使编辑栏仍处在编辑状态;
2.按下Ctrl+Shift+Enter快捷键
经过以上两步操作以后,编辑栏会自动脱离编辑状态,并且选中单元格后,在编辑栏可以看到公式的两端有“{}”符号标记,而双击进入公式的编辑状态时,你会发现“{}”符号是不存在的。
三、数组公式有什么用?
这里做了一个类似微软官网上的例子,这里详细说明一下用法及好处。
以上面图片中的内容为例,假设我一共买了三支股票,其股份及买入价格分别如图中所示,现在我要计算我的总股本。
正常情况下我应该如何做?在B4输入“=B2*B3”,然后填充至D4单元格,这样B4、C4、D4就分别是每一支股票的股本了,然后在B5单元格再输入“=SUM(B4:D4)”,这样总股本就出来了。
上面的计算过程可以说一点问题没有,也绝对正确。但是试想一下,如果类似的数据有很多,如果不是计算我自己买的几支股票而是其他类似情况的数据处理的时候,采用上面的方法时,其工作量可想而知了。
我们再回到第一幅图中的公式“{=SUM(B2:D2*B3*D3}”,此公式便是一个典型的数组公式的应用,此公式的作用就是计算B2*B3、C2*C3以及D2*D3的和。而
B2:D2*B3*D3便是一个数组,其中包含三个元素,各元素的值就分别是各项的乘积。
为了更好的验证数组说法,分别在B4、C4、D4单元格中分别输入=B2*B3、=C2*C3、=D2*D3,B7、C7、D7单元格中全部输入=B2:D2*B3:D3,结果如下图所示。
从上面的图中可以看到,第4行和第7行的计算结果是一样的,这就是数组的效果,数组会根据当前单元格所在位置自动取数组中对应序列的数值,如果将
“=B2:D2*B3:D3”算式输入到其他的列中(非B、C、D列),这时你会看到“#VALUE!”的错误数值结果,因为在其他列时,Excel无法判断该取数组中的哪一个数值。
如果将第7行中的算式外面加上SUM,你会发现结果仍然一样,因为默认情况下,数组算式只取对应序列的值,再加上SUM也只是对应的值,如果使用数组公式,便是告诉Excel计算数组中所有数值的和,也就是单元格B5中的结果。
三、数组公式应用进阶
数组公式最典型的应用应该是使用SUM替代SUMIF,虽然SUMIF很好用,但在Office2007之前,也就是SUMIFS函数出现之前,如果想利用SUMIF进行一次多重条件判断的求和计算是很难实现的。
为了更便于理解,这里再用上面的例子进行一个比较简单的运算,上面只是列出了三支股票,如果我同时购买了多支股票,现在想知道这些股票当中,股价小于5
元的股票有几支(这一功能可以使用Countif函数来实现,这里为了让数组公式更便于理解,所以使用SUM、IF相结合的数组公式来实现。
在B10单元格输入公式“=SUM(IF(B3:D3<5,1))”,按钮按下
Ctrl+Shift+Enter组合键,使公式变成数组公式“{=SUM(IF(B3:D3<5,1))}”。
从上图中可以看到,计算结果为2,计算正确。如果对此怀疑,可以扩大数据区域,从而更容易理解。
下面说一下公式的整个运算过程。
1.IF(B3:D3<5,1),计算B3:D3区域内数值小于5的个数,因为使用IF判断,数值小于5时,取值1,所以该公式计算的结果是1,false,1,然后SUM进行数组求和也就是1+false+1,所以结果为2。SUM在求值时会自动忽略False,我们也可以把False 直接当作0来处理。或者将公式改成IF(B3:D3<5,1,0),这样计算的结果就是1,0,1了。
如果要统计股价低于5的股价和要怎么办呢?将上述公司修改成
“{=SUM(IF(B3:D3<5,B3:D5))}”即可,因为数组公式是一一对应的,也就是说IF条件满足时就取对应的数值,所以此公式的计算结果为4.04,false,4.43,最后的结果是
4.04+false+4.43=8.47。
不知道看完了上面这些,大家对数组公式是否有所了解了,更进阶的应用,且听下回分解。
Excel数组公式从入门到精通之精通篇
一、课程回忆
什么是数组公式呢?顾名思义就是公式中包含数组的了,详细含义请参看前文。但这里重点提醒的一点就是,如果要使用数组公式,在编辑栏输入完公式以后一定要按下“Ctrl+Shift+Enter”组合键,使编辑栏的公式处在“{}”之中。
二、数组公式继续深入
印象中是好几年前了,当时看过的一篇扫盲贴中,作者举的例子真是太实用了。具体细节记不太清楚了,大致意思就是使用函数计算1到100的和。这里同样以此为例。
1.求1到100的和
在往下看之前,大家想一下,如果让你来处理该如何来处理呢?只用一个函数解决1到100的和,当然也可以是1000、10000甚至更多。讨论具体的数值没有太大意义,此处只是希望通过此例让大家更进一步的了解数组公式的用法。
解答:{=SUM(ROW(1:100))}
问题分析:求1到100的和,答案是5050(小学生都知道^-^),但Excel 必须是你告诉了它正确的方法,它才能知道。计算从1到100的和,实际上就是计算
1+2+3+4+……+98+99+100,好了,答案出来了,在编辑栏中输入“=sum(1+2+3+4+……
+98+99+100)”。相信聪明的一定对此答案不满意,虽然能得到正确的结果,但很明显是“错误”的方法。
要得到1到100的正确数列,最简单的方法就是使用Row()或是Column()函数,由于个人习惯,我比较习惯于Row(),所以这里以Row()函数为例。
熟悉Row()函数:在A1单元格中输入“=Row()”,使用填充柄填充至A5,看到什么结果?是不是每一个单元格中值就是其对应的行数。