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。
不知道看完了上面這些,你們對數組公式是否有所瞭解了,更進階的應用,且聽下回分解。