在Excel公式中的運(yùn)算分為兩種形式,一種是常規(guī)運(yùn)算,另一種是數(shù)組運(yùn)算。而數(shù)組運(yùn)算的公式兩邊就需要輸入大括號。
那什么是數(shù)組公式呢?
所謂數(shù)組運(yùn)算,就是一對多或多對多的逐個運(yùn)算。如果要使用數(shù)組公式,在編輯欄輸入完公式以后一定要按下“Ctrl+Shift+Enter”組合鍵,使編輯欄的公式處在“{}”之中。
注意:不要自己鍵入花括號,否則,Excel認(rèn)為輸入的是一個正文標(biāo)簽。在Excel中也有不需要按這三個鍵的數(shù)組函數(shù),如: sumproduct函數(shù)與 lookup函數(shù)
所謂數(shù)組運(yùn)算,就是一對多或多對多的逐個運(yùn)算。
如:=sum(A1:A10*10)
是A1:A10區(qū)域單元格值,逐個乘10,然后再求和,這就是數(shù)組運(yùn)算。
同理: =sum(A1:A10*B1:B10)
是A1:A10和區(qū)域B1:B10一一對應(yīng)相乘然后再求和,也屬數(shù)組運(yùn)算。
例如:求1到100的和,大家想一下,如果讓你來處理該如何來處理呢?
問題分析:求1到100的和,答案是5050(小學(xué)生都知道^-^),但Excel必須是你告訴了它正確的方法,它才能知道。計算從1到100的和,實際上就是計算1+2+3+4+……+98+99+100,好了,答案出來了,在編輯欄中輸入 “=sum(1+2+3+4+……+98+99+100)”。相信聰明的一定對此答案不滿意,雖然能得到正確的結(jié)果,但很明顯是“錯誤”的方法。
要得到1到100的正確數(shù)列,最簡單的方法就是使用Row()或是Column()函數(shù),ROW()是用于返回單元格行號的函數(shù),通常它只能引用一個參數(shù)。如果使用Row(1:100)就表示一個數(shù)組,其中包含的便是第一到第一百行的行號,即1、2、3、……、98、99、100這些數(shù)值,現(xiàn)在我們就把這個數(shù)組應(yīng)用到公式中。
在工作表的任意一個單元格中輸入“=sum(Row(1:100))”,然后按Ctrl+Shift+Enter組合鍵,你會驚喜的發(fā)現(xiàn),我們要的結(jié)果出現(xiàn)了。
解答:{=SUM(ROW(1:100))}
當(dāng)然COLUMN()的作用和ROW()是相同的,上面的計算也能用以下公式:
{=SUM(COLUMN($A$1:$CV$1))}
利用數(shù)組公式進(jìn)行多條件求和,如圖:
求產(chǎn)品BB的8月份產(chǎn)量
條件求和的公式,我們一般都會使用SUMIF或SUMIFS,但是SUMIFS能進(jìn)行多個條件求和,而復(fù)雜的多條件求和,sumifs就做不出來,這就需要用數(shù)組公式來進(jìn)行多條件求和。
公式: {=SUM(IF(($B$7:$B$20='BB')*(MONTH($C$7:$C$20)=8),($E$7:$E$20),0))}
思路:用IF()來判斷,如果$B$7:$B$20='BB'而且MONTH($C$7:$C$20)=8的話,那么我們就取$E$7:$E$20中對應(yīng)的值,否則就讓它等于0。公式中的'*'相當(dāng)于AND,即同時滿足條件。
該公式可以作如下簡化
{=SUM(($B$7:$B$20='BB')*(MONTH($C$7:$C$20)=8)*$E$7:$E$20)}
聯(lián)系客服