Excel 2003 的多條件計數&Excel 2007 中新增的函數

前兩天有一個學員問請教張老師一個Excel多條件計數的問題。這個問題很有代表性

我決定這裡正好把Excel2003 及 Excel2007/2010 的解決方法都寫出來跟大家一起分享!

大概是這樣子的

基礎數據:

物料號

規格

領用數量

領用人

46020440000(A2)

50ML(B2)

1(C2)

A(D2)

58082800300

50ML

1

A

65102203000

50ML

1

B

58081200000

50ML

1

C

64019505000

50ML

1

B

目的做下面這張表:

物料號

規格

領用人 A

領用人 B

46020440000

50ML

C9單元格

 

58082800300

50ML

 

 

65102203000

50ML

 

 

58081200000

50ML

 

 

64019505000

50ML

 

 

請問我該用哪個函數?

在Excel2003 中如果要解決這個問題,我當時就想出了兩個方案(如果您還有更好的方法請告訴我,我們一起分享)

第一:使用數據透視表,這個方法很快。但是,數據透視表有它自己的局限性。

第二:使用Sum函數,這個函數,每個使用Excel的朋友大家都知道。

但是,這個函數可以用來做多條件計數/求和。

sum函數原本是求和函數,很多朋友也知道 sumif函數是一個條件求和函數,countif函數做條件計數。但是這兩個函數僅僅是單條件求和/計數函數,使用sum函數做多條件計數/求和的格式如下:

進行多條件求和的格式為:Sum((條件一)*(條件二)*(條件三)*(求和列)) 進行多條件計數的格式為:Sum((條件一)*(條件二)*(條件三))

在上面的案例中 要計算出領用人 A 的不同產品的數量則在C9單元格中輸入:

=sum(($D$2:$D$6="A")*($A$2:$A$6="46020440000")*($B$2:$B$6="50ML"))

注意:特別重要的是,在輸入完這一組公式(也就是輸入完最後一個括弧後)

用一定要使用ctrl+shift+Enter來完成公式輸入。這樣就ok了。

當然,為了輸入方便,"A" 以及"46020440000"、"50ML"等都可以使用單元格的引用來完成。

此外,這裡還能用sumproduct 我就不說了

在Excel2007/2010中要實現這個結果,就很簡單了,因為在2007和在2010中新增了

sumifs 和 countifs 這兩個函數,看著兩個函數名字大家就不難看出這兩個函數就是sumif和countif這兩個函數的複數形式,因此,他們的作用就是多條件求和/計數啦。簡單吧!!

看看countifs的參數吧:

就跟那剛才上面那個問題用這個函數來解決的話,那就是

=countifs($D$2:$D$6,"A",$A$2:$A$6,"4602044000",$B$2:$B$6,"50ML")

如果是條件求和:

=sumifs(求和區域,條件區域1,條件1,條件區域2,條件2,....)

另外,在Excel2003中,單條件平均值要用 sumif/countif

在2007及2010中,則新增了averageif函數。

那麼,你還會發現有averageifs,明白了吧?

哈哈!

推薦閱讀:

Excel209 | OFFSET函數提取銷量前三位所在整列信息
Excel數組簡介
用Excel處理網上資料
Excel函數與公式-2
Excel中,這9個函數公式,很常用,你都會了嗎?

TAG:函數 | Excel | 條件 | 計數 | 2007 |