Excel中函数、公式你们都很是熟了,但“数组公式”你是否听过、用过?什么是数组公式呢?根据微软官方给出的解释,
数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。
1、什么是数组公式?
直接看微软的解释,也许并非很容易理解,根据我的的理解,让其更直白一点,能够这样简单理解,
引用了数组(能够是一个或多个数值,或是一组或多组数值),并在编辑栏能够看到以“{}”括起来的公式就是数组公式。而数组公式的做用就是对一组(单个数据能够当作是一组)、多组数据进行处理,而后获得想要的结果。
2、如何输入数组公式
既然数组公式是以“{}”括起来的,那是否是在编辑栏在公式的两端分别输入“{}”就能够了呢?答案是否认的,在Excel中要输入数组公式,必须以特定的方法来输入,算是告诉Excel,咱们这里输入的是数组公式。
在某个单元格输入数组公式的方法以下:
1.在编辑栏输入完整的公式,并使编辑栏仍处在编辑状态;
2.按下Ctrl+Shift+Enter快捷键
通过以上两步操做之后,编辑栏会自动脱离编辑状态,而且选中单元格后,在编辑栏能够看到公式的两端有“{}”符号标记,而双击进入公式的编辑状态时,你会发现“{}”符号是不存在的。
3、数组公式有什么用?
这里作了一个相似微软官网上的例子,这里详细说明一下用法及好处。
以上面图片中的内容为例,假设我一共买了三支股票,其股份及买入价格分别如图中所示,如今我要计算个人总股本。
正常状况下我应该如何作?在B4输入“=B2*B3”,而后填充至D4单元格,这样B四、C四、D4就分别是每一支股票的股本了,而后在B5单元格再输入“=SUM(B4:D4)”,这样总股本就出来了。
上面的计算过程能够说一点问题没有,也绝对正确。可是试想一下,若是相似的数据有不少,若是不是计算我本身买的几支股票而是其余相似状况的数据处理的时候,采用上面的方法时,其工做量可想而知了。
咱们再回到第一幅图中的公式“{=SUM(B2:D2*B3*D3}”,此公式即是一个典型的数组公式的应用,此公式的做用就是计算B2*B三、C2*C3以及D2*D3的和。而B2:D2*B3*D3即是一个数组,其中包含三个元素,各元素的值就分别是各项的乘积。
为了更好的验证数组说法,分别在B四、C四、D4单元格中分别输入=B2*B三、=C2*C三、=D2*D3,B七、C七、D7单元格中所有输入=B2:D2*B3:D3,结果以下图所示。
从上面的图中能够看到,第4行和第7行的计算结果是同样的,这就是数组的效果,数组会根据当前单元格所在位置自动取数组中对应序列的数值,若是将“=B2:D2*B3:D3”算式输入到其余的列中(非B、C、D列),这时你会看到“#VALUE!”的错误数值结果,由于在其余列时,Excel没法判断该取数组中的哪个数值。
若是将第7行中的算式外面加上SUM,你会发现结果仍然同样,由于默认状况下,数组算式只取对应序列的值,再加上SUM也只是对应的值,若是使用数组公式,即是告诉Excel计算数组中全部数值的和,也就是单元格B5中的结果。
3、数组公式应用进阶
数组公式最典型的应用应该是使用SUM替代SUMIF,虽然SUMIF很好用,但在Office 2007以前,也就是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。
不知道看完了上面这些,你们对数组公式是否有所了解了,更进阶的应用,且听下回分解。