Ich habe folgendes Problem:
Ich habe eine Liste mit 2 Spalten, in den ersten Spalten gibt es mehrere Kostenstellen und in der zweiten sind Werte. Ich suche eine Formel, die jede Kostenstelle zählt, wenn der Wert nicht 0 ist, sondern nur einmal. Daher wird jede Kostenstelle einmal gezählt, wenn der Wert nicht 0 ist. Ich habe verschiedene Kombinationen von countif verwendet, erhalte jedoch keine korrekte Lösung, wie in der folgenden Abbildung dargestellt:
Wie kann ich das erreichen?
Antworten:
Sie können Folgendes verwenden:
= SUMME (WENN ($ B $ 2: $ B $ 14,1 / (COUNTIFS ($ B $ 2: $ B $ 14, "<>" & 0, $ A $ 2: $ A $ 14, $ A $ 2 : $ A $ 14)), 0))
Matrixformel Drücken Sie gleichzeitig Ctrl+ Shift+ Enteranstelle von Enter
B2: B14 ist der Spaltenwert
A2: A14 ist die Kostenstellenspalte
1 / (COUNTIFS ($ B $ 2: $ B $ 14, "<>" & 0, $ A $ 2: $ A $ 14, $ A $ 2: $ A $ 14)) ergibt:
1 / {3; 3; 3; 3; 1; 1; 1; 1; 0; 0; 0; 1}
it result {0.33333333333333333; 0,333333333333333; 0,333333333333333; 0,333333333333333; 1; 1; 1; 1; # DIV / 0!; # DIV / 0!; # DIV / 0!; 1; 1}
IF ($ B $ 2: $ B $ 14) wird zu True ausgewertet, wenn B2: B14 <> 0 ist, und zu False, wenn B2: B14 = 0 ist.
Dies bedeutet, dass bei True 1 / countifs () berechnet wird, um verschiedene Werte zu zählen,
und 0, wenn False
Und ich wiederhole, es ist eine Matrixformel, keine einfache Formel
quelle
Sie können zuerst eine Hilfsspalte erstellen, um nur Kostenstellen mit Werten ungleich Null anzuzeigen, indem Sie
=IF(B2=0,"",A2)
C2 eingeben.Zählen Sie dann die eindeutigen Texte in der Hilfsspalte, während Sie die Leerzeichen
=SUMPRODUCT((helper<>"")*(1/COUNTIF(helper,helper&"")))
in C12 ignorierenquelle