2016-03-19 205 views
1

我有以下結果優於DOC:SUMPRODUCT如果空白忽略行?

CAR|CLASS|CLASS FINISH POSITION| 
1 |5 |1     | 
2 |1 |1     | 
3 |2 |2     | 
4 |  |      | 
5 |3 |3     | 
6 |5 |2     | 
7 |  |      | 
8 |2 |5     | 
9 |5 |      | 
10 |5 |8     | 

我想計算他們的CHAMP CLASS位置,結果應該是這樣的

CAR|CLASS|CLASS FINISH POSITION|CHAMP CLASS POSITION 
1 |5 |1     |1 
2 |1 |1     |1 
3 |2 |2     |1 
4 |  |      | 
5 |3 |3     |1 
6 |5 |2     |2 
7 |  |      | 
8 |2 |5     |2 
9 |5 |      | 
10 |5 |8     |3 

這個公式:

=IF(C2>0,SUMPRODUCT((B2=$B$2:$B$28)*(C2>$C$2:$C$28))+1,"") 

我結束了像這樣的CHAMP CLASS POSITION:

CAR|CLASS|CLASS FINISH POSITION|CHAMP CLASS POSITION 
1 |5 |1     |2 
2 |1 |1     |1 
3 |2 |2     |1 
4 |  |      | 
5 |3 |3     |1 
6 |5 |2     |3 
7 |  |      | 
8 |2 |5     |2 
9 |5 |      | 
10 |5 |8     |4 

因爲5班車9沒有完成,沒有班級成績,所有班級5的職位都是1?

有沒有一種方法來調整公式,以排除任何結果,其中類的完成位置是空白?

很明顯,我可以刪除汽車9的班級單元格爲它工作,但這張表將用於多個事件?

感謝

回答

2
=IF(C2>0,SUMPRODUCT((B2=$B$2:$B$28)*(C2>$C$2:$C$28)*($C$2:$C$28<>""))+1,"") 

應該足以忽略空白單元格

,但你也可以做到這一點作爲一個COUNTIFS: -

=IF(C2>0,COUNTIFS($B$2:$B$28,B2,$C$2:$C$28,"<"&C2,$C$2:$C$28,"<>"&"")+1,"") 
+1

的COUNTIF也是這樣的:'= IF (C2> 0,COUNTIFS($ B $ 2:$ B $ 28,B2,$ C $ 2:$ C $ 28,「<」&C2)+1,「」)'(不需要非空檢查) –

+0

正確(不能只是想爲什麼)! –

+1

'is'和'not'不適用於每個值,'「<"' and '">」'將爲所有非數值單元格跳過(它們不會被計數)。但對於countifs來說,大多數其他函數的行爲就像一個空單元格爲零,而空字符串'=「」'仍然是文本(可以用原始公式測試,如果在C10中輸入'=「」' '計算將是正確的);) –