Excel數組公式及運用快速學習
在Excel公式中的運算分為兩種形式,一種是常規運算,另一種是數組運算。而數組運算的公式兩邊就需要輸入大括弧。
那什麼是數組公式呢?
所謂數組運算,就是一對多或多對多的逐個運算。如果要使用數組公式,在編輯欄輸入完公式以後一定要按下「Ctrl+Shift+Enter」組合鍵,使編輯欄的公式處在「{}」之中。
注意:不要自己鍵入花括弧,否則,Excel認為輸入的是一個正文標籤。在Excel中也有不需要按這三個鍵的數組函數,如: sumproduct函數與 lookup函數
所謂數組運算,就是一對多或多對多的逐個運算。
如:=sum(A1:A10*10)
是A1:A10區域單元格值,逐個乘10,然後再求和,這就是數組運算。
同理: =sum(A1:A10*B1:B10)
是A1:A10和區域B1:B10一一對應相乘然後再求和,也屬數組運算。
例如:求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(1:100)就表示一個數組,其中包含的便是第一到第一百行的行號,即1、2、3、……、98、99、100這些數值,現在我們就把這個數組應用到公式中。
在工作表的任意一個單元格中輸入「=sum(Row(1:100))」,然後按Ctrl+Shift+Enter組合鍵,你會驚喜的發現,我們要的結果出現了。
解答:{=SUM(ROW(1:100))}
當然COLUMN()的作用和ROW()是相同的,上面的計算也能用以下公式:
{=SUM(COLUMN($A$1:$CV$1))}
利用數組公式進行多條件求和,如圖:
求產品BB的8月份產量
條件求和的公式,我們一般都會使用SUMIF或SUMIFS,但是SUMIFS能進行多個條件求和,而複雜的多條件求和,sumifs就做不出來,這就需要用數組公式來進行多條件求和。
公式: {=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中對應的值,否則就讓它等於0。公式中的"*"相當於AND,即同時滿足條件。
該公式可以作如下簡化
{=SUM(($B$7:$B$20="BB")*(MONTH($C$7:$C$20)=8)*$E$7:$E$20)}
推薦閱讀: