Zählen Sie eindeutige Werte mit einer Bedingung
In Spalte A habe ich Liste mit verschiedenen Namen. In Spalte B habe ich die Werte entweder 0 oder 1.
Ich möchte, um die Anzahl aller eindeutiger Namen aus Spalte A die 1 in Spalte B.
Unten mit array-Formel, die ich in der Lage bin, zählen einzigartigen Namen, nicht aber anwenden können-Bedingung auf der Spalte B.
=SUM(1/COUNTIF(A:A,A:A))
Kommentar zu dem Problem
+ 1 Gute Frage 🙂
@SiddharthRout Dank 🙂
InformationsquelleAutor der Frage Tejas | 2013-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, nicht mehr als 100 Zeilen versuchen, diese "array-Formel" zu zählen, die verschiedenen Namen in A2:A100, wo es eine 1 in der gleichen Zeile in B2:B100:
=SUM(IF(FREQUENCY(IF(B2:B100=1,IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))
bestätigt mit
CTRL+SHIFT+ENTER
Beachten Sie, dass ich sage anders, nicht einzigartig ist, wie die beiden sind nicht die gleichen
InformationsquelleAutor der Antwort barry houdini
So?
=SUM(--(FREQUENCY(IF(($B$1:$B$8=1), COUNTIF($A$1:$A$8, "<"&$A$1:$A$8), ""), COUNTIF($A$1:$A$8, "<"&$A$1:$A$8))>0)))
Dies ist eine array-Formel. Sie müssen drücken Sie CTL + SHIFT + ENTER
Screenshot
InformationsquelleAutor der Antwort Siddharth Rout
Muss es sein, eine Formel? Eine wirklich einfache Möglichkeit, dies zu tun ist, können Sie eine pivot-Tabelle aus den Spalten A und B. legen Sie Dann die B-Spalte als filter-Feld und die Anzahl der A-Werte (die Sie benötigen, beschriften Sie die Spalten A und B). Dann A4 auf die pivot-Blatt (zumindest in der Standardeinstellung) enthalten sollte Ihre Antwort. Dies würde für jede Größe der Liste und in der Tat würde arbeiten, wenn es mehrere Bedingungen.
Wenn es eine Formel ist, tut es sich schon ganz so an? Wenn Sie berechtigt sind, zu Sortieren durch, bevor Sie Ihre Formel funktioniert, dann, wie über diesen workflow. Ich bin nicht verrückt und ich vermute, es könnte verbessert werden.
1) Sortieren (aufsteigend oder absteigend ), dann durch B (absteigend)
2) In C jede Zeile von C setzen Sie eine Formel wie diese:
C1 wäre wie folgt:
Ziehen von C2-bis die Letzte Zeile der Daten (sagen c500).
3), Dann zählt durch die Summe C =Summe(c1:c500).
Können Sie sicher ziehen können, die Formel unter den Zeilen von Daten (wie lange, wie Sie wissen, die maximale Anzahl, die Sie benötigen), sollte es wieder 0 für alle leeren Zeilen. Dann, wie Sie Daten hinzufügen, um A-und B-der rest wird automatisch aktualisiert. Sie werden wahrscheinlich brauchen, um zu greifen, die Daten zu.
Eine nette Sache über die pivot-Tabellen-Lösung ist, dass es wachsen kann automatisch mit Ihren Daten setzen, so lange, wie Sie Sie einfügen werden die neuen Daten in den Zeilen der vorhandenen Daten. Keine Sortierung erforderlich selbstverständlich.
InformationsquelleAutor der Antwort BKay
Eine relativ einfache Lösung für dieses gemeinsame problem ist
=SUMME (B:B=1)/ZÄHLENWENNS(A:A,A:A,B:B,B:B))
als Matrixformel eingegeben.
Müssen Sie beschränken Sie die Größe des arrays an, in dem Sie tatsächlich haben Daten.
InformationsquelleAutor der Antwort Dominik
Leicht mit einer PivotTable ......:
InformationsquelleAutor der Antwort pnuts