SUM 函數是大家最為熟悉的,也是 Excel 中最簡單的求和函數,但很多人對它的了解僅限於對所選單元格或單元格區域進行求和運算。
其實,SUM 函數並沒有我們想像得那麼簡單,它能幫助我們完成多種求和,如常規求和、單條件求和、多條件求和、合併單元格求和、多表求和等。
1 常規求和
WINTER
常規求和是 SUM 函數最基本的用法,就是對所選單元格或單元格區域進行求和,既可對連續的單元格區域求和,也可對不連續的單元格或單元格區域求和。
當對連續的單元格區域進行求和時,可以直接選擇需要參與計算和存放計算結果的單元格區域,單擊「自動求和」按鈕即可。
例如,A 是一家汽車銷售公司,如下圖所示為 A 公司 2019年各汽車產品每月的銷量,對各產品的總銷量進行計算時,可直接選擇 B2 : N17 單元格區域,單擊「公式」選項卡「函數庫」組中的「自動求和」按鈕,即可計算出各產品在 2019 年的總銷量。
當對不連續的單元格或單元格區域進行求和時,則需要用英文狀態下輸入的逗號(,)隔開。
例如,對各汽車產品第 1 季度(1~3 月)和第 4 季度(10~12 月)的總銷量進行統計時,需要先在 N2 單元格中輸入公式「=SUM(B2 : D2,K2 : M2)」,按【Enter】鍵計算出產品「SA001」的總銷量,然後向下填充公式,即可計算出其他產品第 1 季度和第 4 季度的總銷量,效果如圖 2-5 所示。
注意!
使用 SUM 函數進行求和計算時,如果參數是文本、邏輯值和空格,則都將會自動被忽略。
但錯誤值不會被忽略,如果參數中包含錯誤值,則公式將返回錯誤值。
2 單條件求和
WINTER
條件求和是指對滿足某個條件的區域進行求和運算。
例如,某公司有 3 個銷售門店,如下圖所示為2019年10月1日每個門店各銷售人員的簽單數,公司要求統計出各銷售門店當天的總簽單數。
SUM 函數並不能直接對滿足條件的區域進行求和運算,此時需要使用數組公式,先將符合條件的數據存放在虛擬內存中,再利用 SUM 函數從內存中提取要求和的數據進行求和。
另外,因為是對求和區域中滿足條件的單元格進行計算,所以需用「*」將條件和求和區域連接起來。
如本例中要對「清水店」的總簽單數進行統計,需要在 F2 單元格中輸入公式「=SUM(($A$2 :$A$13=E2)*($C$2 : $C$13))」,按【Ctrl+Shift+Enter】組合鍵,將公式轉換為數組公式「{=SUM(($A$2 :$A$13=E2)*($C$2 : $C$13))}」, 並得出計算結果。
如果要計算其他銷售門店的總簽單數,則可向下填充公式。
公式中的 A2 : A13 和 C2 : C13 單元格區域使用絕對引用,是為了方便向下填充公式,這樣在計算「龍馬店」和「來新店」的總簽單數時,就不用對公式進行任何修改了。
數組公式「{=SUM(($A$2 : $A$13=E2)*($C$2 : $C$13))}」表示,如果 A2 : A13 範圍內的值等於E2 單元格內的值,則返回 TRUE,即 1,否則返回 FALSE,即 0,返回的值形成一個內存數組,分別和 C2 : C13 範圍內相對應的值相乘,然後再對相乘之後的結果進行求和運算,從而得到符合條件的和。
3 多條件求和
WINTER
多條件求和是指對滿足多個條件的區域進行求和運算。
例如,要統計公司「清水店」簽單數大於或等於 15 的總簽單數,可在 I6 單元格中輸入公式「=SUM((A2 : A13=" 清水店 ")*(C2 : C13>=15)*(C2 : C13))」,按【Ctrl+Shift+Enter】組合鍵,將公式轉換為數組公式「{=SUM((A2 : A13=" 清水店 ")*(C2 : C13>=15)*(C2 : C13))}」, 並得出計算結果。
公式「{=SUM((A2 : A13=" 清水店 ")*(C2 : C13>=15)*(C2 : C13))}」的含義與單條件求和公式表示的含義類似,表示「(A2 : A13=" 清水店 ")」返回的值形成一個內存數組,「(C2 : C13>=15)」返回的值形成一個內存數組,然後將兩個內存數組中對應的值分別相乘,得到的結果再分別乘「(C2 : C13)」範圍內的值,最後再將得到的結果進行求和運算,即可得到滿足條件的和。
4 合併單元格求和
WINTER
在日常工作中,經常會將連續的相同類別的數據合併到一個單元格中進行顯示。
在使用 SUM 函數對合併單元格進行求和運算時,通常會遇到下圖所示的兩種情況,不同的情況需要採用不同的求和運算公式。
如果表格中合併的單元格大小相同,如左下圖所示的「門店日報表 2」,那麼在使用SUM 函數進行求和運算時,只需要在 D2 單元格中輸入公式「=SUM(C2 : C5)」,然後向下填充公式,即可計算出 3 個銷售門店的總簽單數,效果如右下圖所示。
如果表格中合併的單元格大小不相同,如左下圖所示的「門店日報表 3」,那麼使用上述公式,則會彈出右下圖所示的提示對話框,提示「所有合併單元格需大小相同」,也就是說,通過此方法是行不通的,此時可以考慮使用兩個求和函數來實現一次性求和。
例如,對上圖所示表格中的合併單元格進行求和運算時,可先選擇D2 : D14單元格區域,輸入公式「=SUM(C2 : C14)-SUM(D3 : D14)」,按【Ctrl+Enter】組合鍵,將公式批量輸入所選單元格中,並自動更新參數,計算出正確的結果,如下圖所示。
使用 SUM 函數對合併單元格大小不相同的數據進行計算時,必須確保計算區域下的單元格是空白的,否則會導致計算結果錯誤。
因為減去的區域會引用相同的單元格數量,如 D2 單元格公式中的「D3 : D14」區域引用的是 12 個單元格,那麼 D7 和 D11 單元格中的相同部分也會引用 12 個單元格,而且會依次向下引用,所以引用的區域會超出數據區域。引用數據外區域時,如果引用的單元格中有數據,則會導致計算結果錯誤。
5 多表求和
WINTER
多表求和就是將多個數據結構完全一致的工作表中的數據匯總到一個新的工作表中。
例如,某生產公司有 3 個車間,每個車間生產的產品相同,但每月生產的數量並不相同,如下圖所示為一車間和三車間的表格數據。現在需要對 3 個車間每月生產的產品總量進行匯總,此時就可以使用 SUM 函數快速實現多表求和。
如果要匯總「產品生產匯總表」中 1 月份「產品 1」的生產總量,則需要在 B2 單元格中輸入公式「=SUM( 一車間 : 三車間 !B2)」,按【Enter】鍵即可計算出結果。如果要計算其他產品 3 個車間每月的生產總量,則可將鼠標指針移動到 B2 單元格右下角,向右拖動至 F2 單元格,再向下拖動至 F13 單元格即可。