從簡單的運算,了解Excel陣列公式的原理
我們從下圖的簡單範例可以了解,在得知15項產品的單價(B欄)與數量(C欄)後,只要增加一個輔助欄位(D欄小計),將單一產品進行簡單的乘法(單價乘以數量),就可以取得該產品的小計,透過填滿控點的操作,整欄的小計結果就完成了:
接著,再透過SUM函數,將整個小計欄位進行加總,那麼,15項產品的總計就運算出來了。由此可知,小計欄位有多麼的重要。但是,一定非得建立輔助欄後,才能進行總計的運算嗎?其實不然,如果您有陣列運算的概念,不需要事先建立輔助欄位的狀況下,也可以直接運算出總計喔!
想像,儲存格範圍B2:B16,猶如包含了15個元素的單價陣列:
{100,90,90,60,60,50,70,50,90,70,80,60,60,90,80}
而儲存格範圍C2:C16,猶如包含了15個元素的數量陣列:
{5,6,4,10,6,5,8,2,7,8,7,10,5,5,8}
若裡面的每一個元素,逐一對應並相乘,那麼便可以產生一個也是包含15個元素(乘積)的小計陣列:
{500,540,360,600,360,250,560,100,630,560,560,600,300,450,640}
而這個小計陣列若要存放在工作表上,勢必要準備好15個儲存格,但是,如果我們只是要取得這個小計陣列裡每一個元素加總其來的結果,那麼,只要準備好一個儲存格來輸入=SUM函數就好了,例如:
=SUM({500,540,360,600,360,250,560,100,630,560,560,600,300,450,640})
因此,在儲存格裡僅是輸入=(B2:B16)*(C2:C16)是沒有作為的,不過,若是以上述陣列公式的原理來輸入這個公式,並且外圍再加上SUM函數,也就是寫成:
=SUM((B2:B16)*(C2:C16))
最後,按下Ctrl+Shift+Enter表示所輸入的公式是以陣列公式的理論來執行,那麼,就大功告成了!想想,陣列公式的入門,也沒那麼複雜嘛!
當然!在Excel函數中所提供的SUMPRODUCT函數,也可以達到類似情境的運算,譬如:SUMPRODUCT(B2:B16,C2:C16)
也是您的另一種選擇喔!
註:此Excel陣列函數系列文章內文實作活頁簿檔案載點。