Summe eindeutige Elemente in Spalte B für Benutzer-ID x

0

Ich habe alles ausprobiert, was ich von Google vermuten kann, wird hier ein paar kopieren und einfügen, um es zu überprüfen, aber einfach ausgedrückt. Ich habe eine Zeichenfolge aus Text als ID: "id-1". Ich versuche die Anzahl der eindeutigen Elemente in einer Spalte zu zählen, in der die Zeile auch diese eindeutige ID hat

In der folgenden Tabelle möchte ich sagen, dass Benutzer-ID-1 im Wesentlichen 3 Fruchtsorten hat. Die Daten, die ich bekomme, enthalten auch Leerzeichen, was eine Menge der Vorschläge, die ich googelte, zu brechen scheint.

Ich würde Obst

id-1  Apfel

id-1  Apfel

id-1  Banane

id-2  Apfel

id-2  Banane

id-2  Apfel

id-1

id-1

id-1  Birne

versucht:

=SUMPRODUCT(--(P:P>="id-1"),--(P:P<="id-1"),N:N)

=ArrayFormula(SUM(IF("id-1"=$P:$P,1/(COUNTIFS($P:$P,"id-1",$N:$N<>"",$N:$N<>"")),0)))

=SUM(IF(FREQUENCY(IF(P:P="id=1",N:N),N:N)>0,1))

Nicht mein Fachgebiet, daher würde ich mich über Hinweise freuen. Google Sheets verwenden, nicht Excel.

Ryan Hollingsworth
quelle
Keine Obstsorte wäre der Rohling. Beim Ausführen der vorgeschlagenen Funktionen, die ich über Google gefunden habe, erhalte ich eine Division durch Null-Fehler b / c der leeren Zellen
Ryan Hollingsworth

Antworten:

0

Dies sollte funktionieren, obwohl ich vor der Verwendung der gesamten Spaltenstilreferenz warnen möchte, da Berechnungen für Array-Formeln sehr viel Rechenaufwand erfordern. Wenn Sie wissen, dass Ihre Datenbereiche eingehalten werden, setzen Sie die Bereiche an die Grenzen der Daten.

=ArrayFormula(SUM(IF(FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1),1)))

Die "id-1" muss geändert werden, wenn Sie eine große Anzahl von IDs suchen, nach denen Sie suchen möchten. Sie können diese eindeutigen IDs in eine andere Spalte einfügen. Verweisen Sie auf diese Spalte anstelle der hartcodierten "ID-#" und lassen Sie die $ -Anker aus und kopieren Sie die Formel nach unten.

Was macht es:

IF($A:$A="id-1",

Gibt an, ob jede Zeile im Bereich der angegebenen Zeichenfolge "id-1" entspricht.

IF($B:$B<>"",

Wenn ja, werden nur nicht leere Zellen in der Fruchtspalte geprüft

MATCH($B:$B,$B:$B&"",0)

und findet den Zeilenindex des ersten gefundenen Vorkommens jeder Zeichenfolge

FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1

Dann findet man, wie viele einzigartige Früchte existieren

IF(FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1),1)

Korreliert die eindeutigen Werte mit den Werten, die in den ersten drei obigen Codeausschnitten gefunden wurden, um eine Gesamtzählung jedes eindeutigen Werts zu erhalten, und weist dann jeder gefundenen Zeichenfolge eine einzelne 1-Zahl zu, um zu kennzeichnen, dass sie für die aktuelle ID gefunden wurde.

SUM(IF(FREQUENCY(IF($A:$A="id-1",IF($B:$B<>"",MATCH($B:$B,$B:$B&"",0))),ROW($B:$B)-ROW($B$1)+1),1))

Zum Schluss werden alle gefundenen Zeichenfolgen für diese ID zusammengefasst

panhandel
quelle