天天看點

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很好用,但在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。

        不知道看完了上面這些,大家對數組公式是否有所了解了,更進階的應用,且聽下回分解。

     本文轉自windyli 51CTO部落格,原文連結:http://blog.51cto.com/windyli/306009,如需轉載請自行聯系原作者

繼續閱讀