糯米文學吧

位置:首頁 > 計算機 > office辦公

EXCEL2007函數SUMIFS 和COUNTIFS的深入理解

今天突然對sumifs的應用有了點興趣。個人覺得可以取代部分sumproduct的多條件求和功能。

EXCEL2007函數SUMIFS 和COUNTIFS的深入理解

1、客户A的銷售額

=SUMIFS(C2:C22,A2:A22,"A")

可替換公式

=SUMPRODUCT(C2:C22*(A2:A22="A"))

=SUMIF(A2:A22,"A",C2:C22)

2、客户A的1月份銷售額

=SUMIFS(C2:C22,A2:A22,"A",B2:B22,1)

可替換公式:

=SUMPRODUCT(C2:C22*(A2:A22="A")*(B2:B22=1))

3、客户A的1月份和3月份銷售額

=SUM(SUMIFS(C2:C22,A2:A22,"A",B2:B22,{1,3}))

可替換公式:

=SUMPRODUCT(C2:C22*(A2:A22="A")*(B2:B22={1,3}))

4、客户A和C的銷售額

=SUM(SUMIFS(C2:C22,A2:A22,{"A","C"}))

可替換公式:

=SUMPRODUCT(C2:C22*(A2:A22={"A","C"}))

=SUM(SUMIF(A2:A22,{"A","C"},C2:C22))

5、客户A和C的.1月份銷售額合計

=SUM(SUMIFS(C2:C22,A2:A22,{"A","C"},B2:B22,1))

可替換公式:

=SUMPRODUCT(C2:C22*(A2:A22={"A","C"})*(B2:B22=1))

6、客户A的1月份和客户C的3月份銷售額合計

=SUM(SUMIFS(C2:C22,A2:A22,{"A","C"},B2:B22,{1,3}))

可替換公式:

=SUMPRODUCT(C2:C22*(A2:A22={"A","C"})*(B2:B22={1,3}))

7、客户A和客户C的1月份和3月份銷售額合計

=SUM(SUMIFS(C2:C22,A2:A22,{"A","C"},B2:B22,{1;3}))

*注意此公式7和公式6的差異僅為{1,3}和{1;3}中間的符號。

可替換公式:

=SUMPRODUCT(C2:C22*(A2:A22="A")*(B2:B22={1,3}))+SUMPRODUCT(C2:C22*(A2:A22="C")*(B2:B22={1,3}))

8、客户A和客户C的1月份3月份4月份銷售額合計

=SUM(SUMIFS(C2:C22,A2:A22,{"A","C"},B2:B22,{1;3;4}))

可替換公式:

=SUMPRODUCT(C2:C22*(A2:A22="A")*(B2:B22={1,3,4}))+SUMPRODUCT(C2:C22*(A2:A22="C")*(B2:B22={1,3,4}))

9、客户ABC的1月份3月份4月份銷售額合計

=SUM(SUMIFS(C2:C22,A2:A22,{"A","B","C"},B2:B22,{1;3;4}))

替代公式:

=SUMPRODUCT(C2:C22*(A2:A22="A")*(B2:B22={1,3,4}))+SUMPRODUCT(C2:C22*(A2:A22="B")*(B2:B22={1,3,4}))+SUMPRODUCT(C2:C22*(A2:A22="C")*(B2:B22={1,3,4}))

如果再次增多就可以看到SUMIFS的優勢了。

大家可以看到,SUMIFS在7和8的情況下,字符明顯減少。(當然上面的情況好些還能用MMULT完成,但感覺SUMIFS更加簡潔易懂)

大家一起來探討一下,這個新函數的還有什麼新特性。。。。。

10、客户A的數量

=COUNTIFS(A2:A22,"A")

替代公式:

=SUMPRODUCT(--(A2:A22="A"))

=COUNTIF(A2:A22,"A")

11、客户A和B的數量

=SUM(COUNTIFS(A2:A22,{"A","B"}))

替代公式:

=SUMPRODUCT(--(A2:A22={"A","B"}))

=SUM(COUNTIF(A2:A22,{"A","B"}))

12、客户A和B的1月份數量

=SUM(COUNTIFS(A2:A22,{"A","B"},B2:B22,1))

替代公式:

=SUMPRODUCT((A2:A22={"A","B"})*(B2:B22=1))

13、客户A和B的13月份數量

=SUM(COUNTIFS(A2:A22,{"A","B"},B2:B22,{1;3}))

替代公式:

=SUMPRODUCT((A2:A22={"A","B"})*(B2:B22=1))+SUMPRODUCT((A2:A22={"A","B"})*(B2:B22=3))

*如果條件更多,COUNTIFS的優勢就顯現出來了。

14、客户A的1月份和客户B的3月份數量

=SUM(COUNTIFS(A2:A22,{"A","B"},B2:B22,{1,3}))

替代公式:

=SUMPRODUCT((A2:A22={"A","B"})*(B2:B22={1,3}))

15、客户和月份的不重複個數

=SUMPRODUCT(1/COUNTIFS(A2:A22,A2:A22,B2:B22,B2:B22))

替代公式:

=SUMPRODUCT(--(MATCH(A2:A22&B2:B22,A2:A22&B2:B22,)=ROW(A2:A22)-1))

=SUMPRODUCT(1/COUNTIF(D2:D22,D2:D22)) (D列為輔助列)

*感覺這個是今天最有收穫的公式。這個公式可以適用3列、4列到更多列。