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個函數公式,很常用,你都會了嗎?