Excel SumIf函數條件帶?/*、Average和數組多條件求和及兩區域不相同的13個實例
在 Excel 中,SumIf函數用于單條件求和,它共有三個參數,分別為條件區域、條件和實際求和區域;其中實際求和區域可以省略,若省略,則把條件區域作為求和區域;在條件中可以使用數學符號、通配符和函數;條件區域與實際求和區域既可以相等也可以不相等。
一般情況下,SumIf函數只能有一個條件,但可以用數組組合條件加Sum函數實現SumIf函數多條件求和;另外,還可以用SumIf函數求指定數值范圍的和;此外,還能用SumIf函數只求到當前行的和。
一、Excel SumIf函數語法
1、表達式:SUMIF(Range, Criteria, [Sum_Range])
中文表達式:SUMIF(條件區域,條件,[求和區域])
2、說明:
A、如果省略 Sum_Range,則在 Range 中求和;如果有 Sum_Range,則在 Sum_Range 中求和。求和區域中若有空值、邏輯值和不能轉為數字的文本,它們將被忽略。
B、條件 Criteria 可以是數字、字符(如“女裝”)、表達式(如 ">=10"、"<>1")、單元格引用(A1)、函數(如 NOW());條件中有文本、邏輯值或數學符號都要用雙引號括號起來,單獨數字不需用雙引號括起來。在條件中,可以使用通配符問號(?)和星號(*),問號表示一個字符,星號表示任意一個或多個字符;如果要查找問號或星號,要使用轉義字符~,例如查找問號,需這樣表示 ~?。
C、Sum_Range 與 Range 形狀大小可以不相同,求和的實際單元格區域以 Sum_Range 左上角的單元格為起點一直到它右下角的單元格,Range 取與 Sum_Range 對應的單元格,具體見實例。另外,Sum_Range 與 Range 形狀大小不相同時,執行速度比相同時慢。
D、當SumIf函數匹配的字符串超過 255 個字符時,將返回值錯誤 #VALUE!。
二、Excel SumIf函數基本使用實例
(一)省略實際求和區域的實例
1、假如要求服裝銷量大于 700 的所有服裝銷量之和。選中 F11 單元格,把公式 =SUMIF(F2:F10,">700") 復制到 F11,按回車,返回求和結果 3536;操作過程步驟,如圖1所示:
圖1
2、公式 =SUMIF(F2:F10,">700") 省略了實際求和區域 Sum_Range,因此把條件區域 Range(F2:F10)作為求和區域。">700" 是條件,意思是把 F2 至 F10 中每個數值與 700 比較,如果大于 700,則計入求和。
提示:條件 ">700" 也可以這樣寫:">"&"700",把大于號與數值分開寫,然后用 & 連接。
(二)有實際求和區域的實例
1、假如要求所有男裝的銷量之和。選中 F11 單元格,把公式 =SUMIF(C2:C10,"男裝",F2:F10) 復制到 F11,按回車,返回求和結果 1879;操作過程步驟,如圖2所示:
圖2
2、公式 =SUMIF(C2:C10,"男裝",F2:F10) 中,C2:C10 為條件區域,條件為“男裝”,F2:F10 為實際求和區域,意思是:如果 C2:C10 中為“男裝”,則把 F2:F10 與之對應數值計入求和;例如 C5 中為“男裝”,則把 F5 計入求和。
(三)條件帶通配符問號(?)或星號(*)的實例
(1)條件帶通配符問號(?)
1、假如要求以“T恤”結尾并且“T恤”前只有兩個字的服裝銷量之和。選中 F11 單元格,把公式 =SUMIF(B2:B10,"??T恤",F2:F10) 復制到 F11,按回車,返回求和結果 2844;操作過程步驟,如圖3所示:
圖3
2、公式 =SUMIF(B2:B10,"??T恤",F2:F10) 中的條件為 "??T恤",條件中共有兩個問號,每個問號表示一個字符,意思是找出 B2:B10 中由四個字組成,前兩個字可以為任意字符,后兩個字為“T恤”的服裝。
(2)條件帶通配符星號(*)
1、假如要分別求以“T恤”結尾、以“粉紅”開頭、以“粉”開頭且以“襯衫”結尾的服裝銷量之和。選中 F11 單元格,把公式 =SUMIF(B2:B10,"*T恤",F2:F10) 復制到 F11,按回車,返回求和結果 3482;雙擊 F11 單元格,把公式中的條件改為 "粉紅*",按回車,返回求和結果 1784;再次雙擊 F11,把公式中的條件改為 "粉*襯衫",按回車,返回求和結果 1784;操作過程步驟,如圖4所示:
圖4
2、公式說明:
A、公式 =SUMIF(B2:B10,"*T恤",F2:F10) 中的條件為 "*T恤",條件中的 * 表示任意字符,可以是一個也可以是多個;條件的意思是找出以“T恤”結果的服裝。
B、公式 =SUMIF(B2:B10,"粉紅*",F2:F10) 中的條件為 "粉紅*",意思是找出以“粉紅”開頭的服裝。
C、公式 =SUMIF(B2:B10,""粉*襯衫",F2:F10) 中的條件為 ""粉*襯衫",意思是找出以“粉”開頭且以“襯衫”結尾的服裝。
(四)條件中帶函數的實例
1、假如要求大于等于服裝平均銷量的所有服裝銷量之和。選中 F11 單元格,把公式 =SUMIF(F2:F10,">="&AVERAGE(F2:F10)) 復制到 F11,按回車,返回求和結果 3536;操作過程步驟,如圖5所示:
圖5
2、公式 =SUMIF(F2:F10,">="&AVERAGE(F2:F10)) 中的條件為 ">="&AVERAGE(F2:F10),條件中的 AVERAGE(F2:F10) 用于求服裝的平均銷量。
三、Excel SumIf函數 Sum_Range 與 Range 大小形狀不同的實例
〈一〉Sum_Range 與 Range 都為一列
(一)Sum_Range 在上,Range 在下
1、選中 F11 單元格,把公式 =SUMIF(C5:C10,"男裝",F2:F5) 復制到 F11 單元格,按回車,返回求和結果 1226;操作過程步驟,如圖6所示:
圖6
2、公式說明:
實際求和區域 Sum_Range 為 F2:F5,條件區域 Range 為 C5:C10,兩個區域大小形狀不相同,F2:F5 在上,C5:C10 在下,求和時把 C5與 F2 對應,C6 與 F3 對應,其它的以此類推,相當于把 C5:C10 上移;C5:C10 中只有 C5 和 C8 為“男裝”,它們對應 F2 和 F5,求和算式為 329 + 897 = 1226。
(二)Sum_Range 在下,Range 在上
1、選中 F11 單元格,把公式 =SUMIF(C2:C6,"男裝",F5:F10) 復制到 F11,按回車,返回求和結果 982,操作過程步驟,如圖7所示:
圖7
2、公式說明:
實際求和區域 Sum_Range 為 F5:F10,條件區域 Range 為 C2:C6,F5:F10 在下,C2:C6 在上,求和時把 C2 與 F5 對應,C3 與 F6 對應,其它的以此類推,相當于把 C5:C10 下移;C2:C6 中只有 C5 為“男裝”,它對應 F8,因此返回 F8 的數值 897。
(三)Sum_Range 與 Range 起始位置相同
1、選中 F11 單元格,把公式 =SUMIF(C2:C6,"男裝",F2:F10) 復制到 F11,按回車,返回求和結果 897,操作過程步驟,如圖8所示:
圖8
2、公式說明:
實際求和區域 Sum_Range 為 F2:F10,條件區域 Range 為 C2:C6,兩個區域起始位置相同,只是 F2:F10 比 C2:C6 多四個單元格,求和時多出的單元格被忽略,而 C2:C6 中只有 C5 為“男裝”,C5 對應 F5,因此返回 F5 的數值 897。
〈二〉Sum_Range 與 Range 都為多列
(一)Sum_Range 在上,Range 在下
1、選中 E10 單元格,把公式 =SUMIF(B5:C9,">700",D2:E6) 復制到 E10,按回車,返回求和結果 582;操作過程步驟,如圖9所示:
圖9
2、公式說明:
實際求和區域 Sum_Range 為 D2:E6(在上),條件區域為 B5:C9(在下);它們的對應關系為:B5 對應 D2、C5 對應 E2,B6 對應 D3、C6 對應 E3,其它的以此類推,相當于把 B5:C9 上移;在 B5:C9 中,只有 B6 和 C9 大于 700,它們分別對應 D3 和 F6,求和算式為 253 + 329 = 582。
(二)Sum_Range 在下,Range 在上
1、選中 E10 單元格,把公式 =SUMIF(B2:C6,">700",D4:E8) 復制到 E10,按回車,返回求和結果 876;操作過程步驟,如圖10所示:
圖10
2、公式說明:
實際求和區域 Sum_Range 為 D4:E8(在下),條件區域為 B2:C6(在上);它們的對應關系為:B2 對應 D4、C2 對應 E4,B3 對應 D5、C3 對應 E5,其它的以此類推,相當于把 B2:C6 下移;在 B2:C6 中,只有 B6 大于 700,它對應 D8,而 D8 的數值為 876,所以求和結果返回 876。
四、Excel SumIf函數擴展使用實例
(一)SumIf函數多條件求和
1、假如要求服裝名稱以“白色和黑色”開頭的所有服裝銷量之和。選中 F11 單元格,把公式 =SUMIF(B2:B10,{"白色*","黑色*"},F2:F10) 復制到 F11,按回車,返回求和結果 1535;雙擊 F11,把公式改為 =SUM(SUMIF(B2:B10,{"白色*","黑色*"},F2:F10)),按回車,返回求和結果 3282;操作過程步驟,如圖11所示:
圖11
2、公式說明:
A、=SUMIF(B2:B10,{"白色*","黑色*"},F2:F10) 中的條件為{"白色*","黑色*"},它是一個數組,由兩個元素組成,是要求服裝名稱以“白色和黑色”開頭服裝的銷量之和,但公式執行后,只返回第一個元素 "白色*" 作為條件的求和值,第二個元素的求和值被忽略,因此,只能求出以服裝名稱“白色”開頭的銷量之和;如果要求滿足兩個條件的和,Excel2007 及以上版本可以用 SumIfs函數,Excel2007 以下版本可以用 Sum + SumIf,也就演示的第二個公式。
B、公式 =SUM(SUMIF(B2:B10,{"白色*","黑色*"},F2:F10)) 用Sum函數把 SumIF 返回的分別滿足條件 "白色*" 和 "黑色*"的求和結果再次求和。
(二)SumIf函數求指范圍的和
1、假如要求銷量在 600 到 800 的所有服裝銷量之和。選中 F11 單元格,把公式 =SUMIF(F2:F10,">=600")-SUMIF(F2:F10,">800") 復制到 F11,按回車,返回求和結果 1403,操作過程步驟,如圖12所示:
圖12
2、公式 =SUMIF(F2:F10,">=600")-SUMIF(F2:F10,">800") 是把銷量把大于等于 600 的求和結果減去銷量大于 800 的求和結果,恰好求出銷量在 600 到 800 之間的所有服裝銷量之和。
(三)SumIf函數求和到當前行
1、假如要求價格大于 55 的服裝銷量和且只求到當前行。選中 G2 單元格,把公式 =SUMIf(E$2:E2,">=55",F$2) 復制到 G2,按回車,返回求和結果 329;再次選中 G2,把鼠標移到 G2 左下角的單元格填充柄上,按住左鍵,往下拖,拖到第3行則求和到第3行,拖到第4行則求和第4行;操作過程步驟,如圖13所示:
圖13
2、公式說明:
A、公式 =SUMIF(E$2:E2,">=55",F$2) 中 E$2 表示對列相對引用對行絕對引用(2 前的 $ 表示絕對引用),即往下拖時列和行都不變,往右拖時,列變行不變;E2 表示對列和行都是相對引用,往下拖時,列不變行變,E2 變自動變為 E3、E4、……。
B、F$2 為實際求和區域,它后面其實省略了 F2,完整的應該是 F$2:F2;在引用方面 F$2 與 E$2 是一個意思,當往下拖到 F4 時,F$2 省略的是 F4。