2016-03-19 33 views
1

Ich habe folgende Ergebnisse übertreffen doc:SUMMENPRODUKT Zeile ignorieren, wenn leer?

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     | 

Ich versuche, ihre CHAMP CLASS Position zu berechnen, wo die Ergebnisse wie diese mit dieser Formel

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 

aussehen sollte:

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

Ich lande mit der CHAMP CLASS POSITION so:

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 

weil Auto 9 in Klasse 5 nicht fertig ist und kein Klassenresultat hat, schlägt es alle Klasse 5 Positionen um 1?

Gibt es eine Möglichkeit, die Formel zu optimieren, um Ergebnisse auszuschließen, bei denen die Klassenendposition BLANK ist?

offensichtlich kann ich die Klassenzelle für Auto 9 löschen, damit es funktioniert, aber dieses Blatt würde für mehrere Ereignisse verwendet werden?

Dank

Antwort

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

sollten leere Zellen genug sein

zu ignorieren, aber man kann es auch als COUNTIFS tun: -

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

die countIf funktioniert auch wie folgt aus: '= IF (C2> 0, COUNTIFS ($ B $ 2: $ B $ 28, B2, $ C $ 2: $ C $ 28, "<" & C2) +1, "") "(Keine Notwendigkeit für den nicht leeren Check) –

+0

Du bist richtig (kann nicht einfach denken warum)! –

+1

während "ist" und "ist nicht" mit jedem Wert funktioniert, wird "<"' and '">" 'für alle nicht-numerischen Zellen übersprungen (sie werden nicht gezählt). aber das ist für countifs, die meisten anderen Funktionen werden wie eine leere Zelle ist Null, während eine leere Zeichenfolge '=" "' immer noch Text (kann mit der ursprünglichen Formel getestet werden, wenn in C10 '= "" eingegeben wird 'Die Berechnung wird korrekt sein);) –

Verwandte Themen