Excel SumIfs函數基本與用日期和數組組合同一列多條件的6個使用實例
在 Excel 中,SumIfs函數用于多個條件求和,與SumIf函數的區別是,SumIfs能組合多個條件,SumIf只能組合一個條件。SumIfs函數至少要有一個條件區域/條件對,最多只能有 127 個條件區域/條件對。

如果要用SumIfs函數在同一列求滿足多個條件的和,若條件是“與”關系,可以組合兩個條件區域/條件對;如果條件是“或”關系,可以用數組組合多條件;一般來說,如果要求指定日期內的和,即條件為“與”關系,要用前者;如果要求幾個分類的和,即條件為“或”關系,要用后者。
一、Excel sumifs函數語法
1、表達式:SUMIFS(Sum_Range, Criteria_Range1, Criteria1, [Criteria_Range2, Criteria2], ...)
中文表達式:SUMIFS(求和區域,條件區域1,條件1,[條件區域2,條件2],...)
2、說明:
A、SumIfs函數至少要有 Sum_Range、Criteria_Range1、Criteria1 三個參數,后兩個參數為條件區域和條件,也就是在條件區域內設定條件;條件區域1和條件1組成一個條件區域/條件對,SumIfs函數至少要有1個條件區域/條件對、最多只能有 127 個條件區域/條件對。
B、如果求和區域有空值、邏輯值(True 或 False)和不能轉為數字的文本,它們將被忽略。
C、條件 Criteria 可以是數字、字符(如“女裝”)、表達式(如 ">=0"、"<>1")、單元格引用(A1)、函數(如 NOW());條件中有文本、邏輯值或數學符號都要用雙引號括號起來,單獨數字不需用雙引號括起來。在條件中,可以使用通配符問號(?)和星號(*),問號表示一個字符,星號表示任意一個或多個字符;如果要查找問號或星號,要使用轉義字符~,例如查找問號,需這樣表示 ~?。
D、Sum_Range 與 Criteria_Range 形狀大小必須相同,即它們必須有相同的行數和列數,這點與SumIf函數不同。
二、Excel sumifs函數基本使用實例
(一)只有一個條件區域/條件對(求和與條件區域為同一列)的實例
1、假如要求所有男裝的銷量之和與求銷量大于 800 的服裝銷量之和。選中 F11 單元格,把公式 =SUMIFS(F2:F10,C2:C10,"男裝") 復制到 F11,按回車,返回求和結果 1879;雙擊 F11,把公式改為 =SUMIFS(F2:F10,F2:F10,">800"),按回車,返回求和結果 2771;操作過程步驟,如圖1所示:
圖1
2、公式 =SUMIFS(F2:F10,C2:C10,"男裝") 的求和區域為 F2:F10,條件區域為 C2:C10,條件為 "男裝",意思是把 C2:C10 中為“男裝”的服裝的銷量計入求和,即把 C5 和 C8 對應的 F5 和 F8 計入求和。
3、公式 =SUMIFS(F2:F10,F2:F10,">800") 的求和區域和條件區域都為 F2:F10,條件為 ">800",即求銷量大于 800 的所有服裝銷量之和。
(二)有兩個條件區域/條件對的實例
1、假如要求所有女裝且價格大于等于 70 的銷量之和。選中 F11 單元格,把公式 =SUMIFS(F2:F10,C2:C10,"女裝",E2:E10,">=70") 復制到 F11,按回車,返回求和結果 1420;操作過程步驟,如圖2所示:
圖2
2、公式 =SUMIFS(F2:F10,C2:C10,"女裝",E2:E10,">=70"),第一個條件區域/條件對為 C2:C10,"女裝",即在 C2:C10 中找出所有為“女裝”的服裝;第二個條件區域/條件對為 E2:E10,">=70",即在 E2:E10 中找出所有價格大于等于 70 的服裝;兩個條件是“與”的關系,即同時找到既是女裝并且價格大于等于 70 的所有服裝銷量,然后對它們求和。
(三)條件帶通配符問號(?)或星號(*)的實例
(1)條件帶通配符問號(?)
1、假如要求產品名稱以“粉紅”開頭且“粉紅”后只有兩個字的服裝銷量之和。選中 F11 單元格,把公式 =SUMIFS(F2:F10,B2:B10,"粉紅??") 復制到 F11,按回車,返回求和結果 892;操作過程步驟,如圖3所示:
圖3
2、公式 =SUMIFS(F2:F10,B2:B10,"粉紅??") 中的條件區域為 B2:B10,條件為 "粉紅??",條件的意思是以“粉紅”開頭且“粉紅”后只兩個字;B2:B10 中以“粉紅”開頭的共有三個單元格,分別為 B2、B7 和 B10,而僅有 B10 “粉紅”后只有兩個字,因此求和結果為 B10 對應的 F10 中的數值。
(2)條件帶通配符星號(*)
1、假如要求產品名稱以“白色”開頭且以“襯衫”結尾的服裝銷量之和。選中 F11 單元格,把公式 =SUMIFS(F2:F10,B2:B10,"白色*",B2:B10,"*襯衫") 復制到 F11,按回車,返回求和結果 897;操作過程步驟,如圖4所示:
圖4
2、公式說明:
A、B2:B10,"白色*" 是公式 =SUMIFS(F2:F10,B2:B10,"白色*",B2:B10,"*襯衫") 的第一個條件區域/條件對,意思是在 B2:B10 中找出以“白色”開頭的服裝,條件中的 * 表示任意一個或多個字符。
B、B2:B10,"*襯衫" 是公式 =SUMIFS(F2:F10,B2:B10,"白色*",B2:B10,"*襯衫") 的第二個條件區域/條件對,意思是在 B2:B10 中找出以任意一個或多個字符開頭且以“襯衫”結尾的服裝。
(四)條件中帶函數的實例
1、假如要求女裝且大于等于平均銷量的所有服裝銷量之和。選中 F11 單元格,把公式 =SUMIFS(F2:F10,C2:C10,"女裝",F2:F10,">"&AVERAGE(F2:F10)) 復制到 F11,按回車,返回求和結果 1657;操作過程步驟,如圖5所示:
圖5
2、公式第一個條件區域/條件對 C2:C10,"女裝" 是要在 C2:C10 中找出所有“女裝”;第二個條件區域/條件對為 F2:F10,">"&AVERAGE(F2:F10),意思是在 F2:F10 中找出大于所有服裝平均銷量的服裝,AVERAGE(F2:F10) 用于求所有服裝的平均銷量。
三、Excel SumIfs函數擴展使用實例
(一)SumIfs函數用數組組合同一列多條件求和
1、假如要求“大類”為“女裝”且“小類”為“襯衫或T恤”的所有服裝銷量之和。選中 F11 單元格,把公式 =SUM(SUMIFS(F2:F10,C2:C10,"女裝",D2:D10,{"襯衫","T恤"})) 復制到 F11,按回車,返回求和結果 2312;操作過程步驟,如圖6所示:
圖6
2、公式說明:
公式 =SUM(SUMIFS(F2:F10,C2:C10,"女裝",D2:D10,{"襯衫","T恤"})) 由 Sum 與 SumIfs 組合而成,由于 SumIfs 第二個條件 {"襯衫","T恤"} 是數組,而 SumIfs 默認只能返回符合數組第一個條件("襯衫")的求和值,加 Sum 后,SumIfs 才能以數組形式返回符數組中兩個條件的求和值,即 =SUM({1784;528}),再用 Sum 把兩個值相加。
(二)SumIfs函數日期條件求和
1、假如要求1月份“襯衫” 銷量之和。選中 C10 單元格,把公式 =SUMIFS(C2:C9,A2:A9,">=2018-01-01",A2:A9,"<=2018-1-31") 復制到C10,按回車,返回求和結果 1003,操作過程步驟,如圖7所示:
圖7
2、公式 =SUMIFS(C2:C9,A2:A9,">=2018-01-01",A2:A9,"<=2018-1-31") 的兩個條件區域都為 A2:A9,條件為 ">=2018-01-01" 和"<=2018-1-31",也就是找出 1 月的所有日期。
3、如果要求所有服裝 1 月份的銷量之和,再用 SumIfs 不好寫條件,用數組條件也不行,因為數組條件為“或”的關系而不是“與”的關系,這種情況可以 Sum + Month 函數實現。以下是用 Sum + Month 函數實現求 1 月份“襯衫”銷量之和與求 1 月份所有服裝銷量之和的演示,如圖8所示:
圖8
(1)演示說明:把公式 =SUM((C$2:C$9)*(MONTH(A$2:A$9)=1)) 復制到 C11 單元格,按 Ctrl + Shift + 回車,返回求和結果 1003;雙擊 C11,把 C$9 改為 E$9,按 Ctrl + Shift + 回車,返回求和結果 3995。
(2)公式說明
A、=SUM((C$2:C$9)*(MONTH(A$2:A$9)=1)) 是一個數組公式,因此要按 Ctrl + Shift + 回車。
B、C$2:C$9 以數組形式返回 C2 到 C9 中所有數值,即返回 {239;215;439;549;586;655;658;513}。
C、A$2:A$9 以數組形式返回 A2 到 A9 中所有日期,MONTH(A$2:A$9)=1 用于取 A2 到 A9 中每個日期的月份,然后與 1 比較,如果等于 1,返回 True,否則返回 False;例如取 A2(2018-01-01),MONTH(A1) = 1,再與 1 比較,由于相等,所以返回 True,其它的以此類推;最后返回數組 {True;True;False;True;False;False;False;False}。
D、則公式變為 =SUM({239;215;439;549;586;655;658;513}*{True;True;False;True;False;False;False;False}),再把兩個數組對應的元素相乘,相乘時由于 True 被轉為 1、False 被轉為 0,則公式變為 =SUM({239;215;0;549;0;0;0;0}),最后用 Sum 求和。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。