史上最全Excel條件求和函數SUMIF經典教程
在職場辦公中,經常需要對數據進行條件求和匯總,SUMIF函數是工作中使用頻率超高的條件求和函數之一。
本文介紹了SUMIF函數的豐富用法,便于你在自己的實際工作中直接借鑒和使用。
函數基礎語法解析
SUMIF函數可以對范圍中符合指定條件的值求和,該函數擁有十分強大的條件求和功能,在工作中有極其廣泛的應用,其基本語法為:
SUMIF(range,criteria,[sum_range])
range:必需。用于條件計算的單元格區域。每個區域中的單元格都必須是數字或名稱、數組或包含數字的引用。空值和文本值將被忽略。
criteria:必需。用于確定對哪些單元格求和的條件,其形式可以為數字、表達式、單元格引用、文本或函數。
sum_range:可選。要求和的實際單元格(如果要對未在range參數中指定的單元格求和)。如果省略sum_range參數,Excel會對在range參數中指定的單元格(即應用條件的單元格)求和。
說明:
(1)criteria中的任何文本條件或任何含有邏輯或數學符號的條件都必須使用雙引號括起來。如果條件為數字,則無需使用雙引號。
(2)criteria參數中支持使用通配符(包括問號“?”和星號“*”)。問號匹配任意單個字符;星號匹配任意一串字符。如果要查找實際的問號或星號,請在該字符前鍵入波形符“~”。
(3)使用SUMIF函數匹配超過255個字符的字符串或字符串#VALUE!時,將返回不正確的結果。
(4)當sum_range參數與range參數的大小和形狀可以不同。求和的實際單元格通過以下方法確定:使用sum_range參數中左上角的單元格作為起始單元格,然后包括與range參數大小和形狀相對應的單元格。注意,這種情況下會使SUMIF函數具有易失性,即引發工作表重算。
SUMIF函數本身不是易失性函數,但當SUMIF函數中的range和sum_range參數包含的單元格個數不相等時,會具備易失性。如以下公式:
"=SUMIF(B2:B9,”女”,C2:C3)
=SUMIF(B2:B9,”女”,C2:C99)
=SUMIF(B2:B9,”女”,C2)
三個公式返回的結果一致,SUMIF函數的sum_range參數的單元格個數都與range的單元格個數不同,但都會將sum_range的區域按照C2:C9計算,即以C2為起始單元格,延伸至大小和形狀與B2:B9相同的單元格。相當于以下公式:
=SUMIF(B2:B9,”女”,C2:C9)
易失性會引發工作表的重新計算,計算時間會比預期的要長,工作中應盡量避免這種情況出現。
(5)SUMIF函數中criteria參數的格式會限定其選擇條件求和的范圍。即如果第二參數是數值,SUMIF函數就只對第一參數是數值格式的單元格對應的求和區域中進行統計,而忽略其他格式如文本、邏輯值、錯誤值等。利用SUMIF函數的這個特性,我們可以排除錯誤值進行求和。
單字段單條件求和
工作中最常見的需求當然就是單條件求和啦,SUMIF函數在這方面可謂得心應手!
下面就來講講SUMIF函數統計單字段單條件求和條件求和,還講解了當SUMIF的第三參數缺省時的運算方式和原理。
SUMIF函數的單條件求和應用非常廣泛,在很多情況下,當條件區域和求和區域重合時還可以簡化公式寫法,下面結合一個案例來介紹具體的方法。
"要求從數據源中統計90分以上的成績之和,先給出公式
=SUMIF(B2:B12,”>90″)
單字段多條件求和
上一節教程中我們學會了SUMIF函數的單條件求和,那么當工作中出現對某個字段并列多條件求和的需求,又如何應對呢?
我們結合下面這個案例來具體介紹。
"表格中左側是數據源區域,要求統計北京分公司、上海分公司、廣州分公司這三家銷售額總和,如果是只求一家分公司(如北京)的銷售額那很簡單,公式為
=SUMIF(A2:A12,”北京”,B2:B12)
多家怎么辦呢?最直接的辦法當然是這樣:
=SUMIF(A2:A12,”北京”,B2:B12)+ SUMIF(A2:A12,”上海”,B2:B12)+ SUMIF(A2:A12,”廣州”,B2:B12)
是不是只有這種方法呢?如果需要統計的分公司增加,豈不是公式越來越長?
當然會有更好的辦法啦!
給出這里使用的公式:
=SUM(SUMIF(A2:A12,{“北京”,”上?!?”廣州”},B2:B12))
統計前三名成績和
前面的課程中我們學會了SUMIF函數的單條件求和、多條件求和,那么當我們在工作中遇到涉及數值大小的問題,該用什么思路去解決呢?
下面這個案例,我們就用SUMIF函數結合LARGE函數配合搞定一個極值統計問題。
"表格中左側是數據源區域,要求統計前三名成績之和。
我們可以分為兩步來思考這個問題,第一步是需要從數據中用公式提取前三名的成績,第二部是將它們匯總求和。這樣即可數據源變動,前三名成績也會隨公式結果動態更新,從而始終保證結果的正確。
這里給出公式
=SUMIF(B2:B12,”>”&LARGE(B2:B12,4))
模糊條件求和
有時我們要按照模糊條件求和,而SUMIF函數支持通配符的使用,下面我們結合案例來介紹模糊條件求和的方法。
"表格左側是數據源區域,要求統計姓“張”的員工成績之和,也就是姓名中以“張”開頭的,給出公式。
=SUMIF(A2:A12,”張*”,B2:B12)
根據日期區間統計
在工作中我們經常遇到按日期區間統計的需求,比如需要統計月初到當前日期的銷售額,或統計周年慶(比如歷時5天)的銷售額……針對這類條件求和如何實現呢?
今天我們結合一個簡單案例,來介紹以日期區間作為條件的求和方法。
"下面給出公式。
=SUM(SUMIF(A2:A12,{“>=2016/4/1″,”>2016/4/5″},B2:B12)*{1,-1})
統計登記人非空的入庫數
工作中的數據源可能來自多種渠道,有的是系統導出,有的是人工填寫收集,有的是第三方機構提供,都難免遇到數據源中某字段有空值或者無效值的情況,這時往往需要排除這些無效記錄進行統計。
今天我們結合一個簡單案例,講解如何利用SUMIF函數統計求和條件涉及非空值的方法。
"登記人為空的記錄都屬于無效記錄,統計入庫數量時不予考慮,僅統計登記人非空的入庫數。
給出公式:
=SUMIF(A2:A8,”*”,B2:B8)
隔列分類匯總
SUMIF函數強大的條件求和功能在多種工作場景中均有廣泛應用。無論是財務還是市場銷售人員,都會面臨在數據源中跨列條件求和的需求,比如在包含計劃和實際銷售額的表格中分別匯總計劃總和、實際完成總和。
"在這里案例中,每個業務員制定的計劃數據和實際完成數據交替出現,最后要在黃色區域輸入公式,完成對應的計劃和實際總和的統計。
在H3單元格輸入以下公式,填充至H3:I9單元格區域即可
=SUMIF($B$2:$G$2,H$2,$B3:$G3)
實現查找引用功能
看了這個標題有的小伙們就納悶了,查找引用不是VLOOKUP函數、INDEX+MATCH他們的事嗎?怎么SUMIF也來湊熱鬧?
你沒看錯,SUMIF除了條件求和,在一些場景下也能實現查找引用功能。
"這個案例的表格中,左側是數據源區域,右側的黃色區域是公式區域。
要實現按照業務員查找對應的成績,一個公式搞定。
給出公式(H2輸入)
=SUMIF($A$2:$A$12,$G2,B$2:B$12)
排除錯誤值求和
出于各種原因,我們在處理數據時難免遇到錯誤值,當數據源中包含錯誤值時,普通的求和公式返回的也是錯誤值,那么如何既能排除錯誤值又能不影響條件求和呢?
我們來看這個案例:
"如果是職場小白,一看這數據源就蒙圈了,各種錯誤值差不多都來報道啦,怎么辦?
行家伸伸手,便知有沒有
給出公式,D2單元格輸入以下公式
=SUMIF(B2:B12,”<9e307″)
統計入庫日期非空的數量和
我們遇到的數據源難免遇到某字段有空值或者無效值的情況,這時往往需要排除這些無效記錄進行統計。
之前我們介紹過當文本數據中摻雜空值的處理方法,見《SUMIF函數統計登記人非空的入庫數》,今天再來介紹下日期數據中摻雜空值的處理方法。
下面我們結合案例,講解如何利用SUMIF函數統計求和條件涉及空值的方法。
"入庫日期為空的記錄都屬于無效記錄,統計入庫數量時不予考慮,僅統計登記人非空的入庫數。
給出公式:
=SUMIF(A2:A8,”<>”,B2:B8)
多列區域條件求和
前面的教程中我們介紹了SUMIF函數各種各樣的條件求和方法,都是條件區域只有一列,求和區域也只有一列的場景,那么如果遇到條件區域和求和區域都是多列區域,如何處理呢?
"上圖展示的是某企業的員工工號信息表,工號和對應姓名放置在多列區域中,需要在B10:B12單元格區域根據員工的姓名提取對應的員工工號。
給出公式
在B10單元格輸入以下公式,將公式向下復制到B12單元格。
=SUMIF(B$2:D$6,A10,A$2:C$6)