Zählen Sie unterschiedliche Werte in der Tabelle

84

Ich habe eine Google-Tabelle mit einer Spalte, die folgendermaßen aussieht:

City
----
London
Paris
London
Berlin
Rome
Paris

Ich möchte die Erscheinungen jeder einzelnen Stadt zählen (daher benötige ich den Namen der Stadt und die Anzahl der Erscheinungen).

City   | Count
-------+------
London |  2
Paris  |  2
Berlin |  1
Rome   |  1

Wie mache ich das?

Marius Bancila
quelle
Meine Antwort wurde gelöscht, da ich kein funktionierendes Beispiel erstellen konnte. Ich empfehle einen Blick auf eine Kombination mit IF()undCOUNTIF()
Sascha

Antworten:

103

Link zu Arbeitsbeispielen

Lösung 0

Dies kann mit Pivot-Tabellen begleitet werden.

Pivot-Tabelle Beispiel - Zählen Sie die Zeilen nach Wert

Lösung 1

Verwenden Sie die uniqueFormel, um alle unterschiedlichen Werte zu erhalten. Verwenden Sie dann countif, um die Anzahl der einzelnen Werte zu ermitteln. Sehen Sie sich den Link zum Arbeitsbeispiel oben an, um genau zu sehen, wie dies implementiert wird.

Unique Values        Count
=UNIQUE(A3:A8)       =COUNTIF(A3:A8;B3)
                     =COUNTIF(A3:A8;B4)
                     ...

Lösung 2

Wenn Sie Ihre Daten als solche einrichten:

City    
----    
London   1
Paris    1
London   1
Berlin   1
Rome     1
Paris    1

Dann führt das Folgende zum gewünschten Ergebnis.

=sort(transpose(query(A3:B8,"Select sum(B) pivot (A)")),2,FALSE)

Ich bin sicher, es gibt eine Möglichkeit, die zweite Spalte loszuwerden, da alle Werte 1 sind. Meiner Meinung nach keine ideale Lösung.

über http://googledocsforlife.blogspot.com/2011/12/counting-unique-values-of-data-set.html

Andere möglicherweise hilfreiche Links

JSuar
quelle
Das hat funktioniert. Vielen Dank. Komisch, dass ich die zweite Lösung bereits mit einem anderen Set angewendet habe, aber hier nicht daran gedacht habe.
Marius Bancila
für Lösung 2: Sie könnten Spalte B leer lassen und dann "count" anstelle von "sum" verwenden: = sort (transponieren (Abfrage (A3: B8, "Select count (B) Pivot (A)")), 2, FALSE )
wivku
... aber wie erstelle ich eine Pivot-Tabelle? Während diese Antwort großartig und detailliert aussieht, hat mich die einfachere Antwort von dnlbrky gerettet. hier habe ich nicht einmal die einfacheren alternativen 1 & 2-Lösungen bemerkt. Schade :(
Balmipour
1
@ Balmipour-Daten> Pivot-Tabelle> Kopieren Sie dann einfach den Screenshot.
Joshua Dance
Bin gerade nach deinem Kommentar hierher zurückgekommen. Ich habe das Französisch für "Pivot Tables" nicht erraten, sondern "Tableaux Croisés Dynamiques". Ich schätze, ich hätte an diesem Tag etwas besser suchen können, aber zumindest konnte ich sie finden, wenn ich wusste, dass die Menüoption nur in "Daten" enthalten war.
Balmipour
25

Sie können die queryFunktion verwenden. Wenn sich Ihre Daten also in Spalte A befinden, in der die erste Zeile der Spaltentitel war ...

=query(A2:A,"select A, count(A) where A != '' group by A order by count(A) desc label A 'City'", 0)

ergibt

City    count 
London  2
Paris   2
Berlin  1
Rome    1

Link zum funktionierenden Google Sheet.

https://docs.google.com/spreadsheets/d/1N5xw8-YP2GEPYOaRkX8iRA6DoeRXI86OkfuYxwXUCbc/edit#gid=0

Mike Latch
quelle
Diese Technik hat gut funktioniert und war in meinem speziellen Fall einfacher anzuwenden. Seltsamerweise schien die Abfrage jedoch zu brechen (dh sie würde nichts ausgeben), wenn mehr als ein bestimmter numerischer Wert in der zu zählenden Spalte vorhanden war. Es hat funktioniert, als ich die numerischen Werte in ihre String-Äquivalente konvertiert habe.
Matt V.
@ MattV. Ich habe versucht, der zu zählenden Spalte unterschiedliche numerische Werte hinzuzufügen, und die Abfrage hat einwandfrei funktioniert. docs.google.com/spreadsheets/d/…
Mike Latch
Wiederholen Sie die Definition genau, um andere Spalten zu kennzeichnen. In diesem Beispiel:label A 'City', count(A) 'Total'
Bryan Roach
21

=iferror(counta(unique(A1:A100))) zählt die Anzahl der eindeutigen Zellen von A1 bis A100

d -_- b
quelle
2
Können Sie die Funktion von iferror () in diesem Fall erklären? counta (einzigartig (A1: A100)) gab mir das Ergebnis, das ich suchte.
Eintopf
10
OP hat nicht nach einer Anzahl eindeutiger Werte gefragt, aber wenn Sie dies möchten, können Sie dies vereinfachen, indem Sie = COUNTUNIQUE (A: A)
wivku
7

Nicht genau das, was der Benutzer gefragt hat, aber eine einfache Möglichkeit, nur eindeutige Werte zu zählen:

Google hat eine neue Funktion eingeführt , mit der eindeutige Werte in nur einem Schritt gezählt werden können. Sie können diese Funktion als Eingabe für andere Formeln verwenden:

=COUNTUNIQUE(A1:B10)

Rudolf Real
quelle
1
Dies gibt nur 1 Nummer zurück. Die Anzahl der eindeutigen Werte. Das OP fragte jedoch, wie jeder eindeutige Wert zu zählen sei.
Joshua Dance
3
@JoshuaDance Sie haben Recht, aber der Beitrag der Operation heißt "unterschiedliche Werte in der Tabelle zählen". Dies scheint mir eine legitime Antwort auf diese genaue Frage zu sein. Beachten Sie nur, dass "leere Zelle" nicht als Wert gezählt wird
Balmipour
1
Wenn es euch gut geht, lasse ich es vorerst. Es sei denn, zu viele Benutzer finden dies eine schlechte Antwort, daher werde ich sie löschen. @ Balmipour
Rudolf Real
1
Genau das brauchte ich.
FellyTone84
6

Dies funktioniert, wenn Sie nur die Anzahl der eindeutigen Werte im folgenden Bereich zählen möchten

=counta(unique(B4:B21))
Paul
quelle
0

Dies ähnelt Lösung 1 von @JSuar ...

Angenommen, Ihre ursprünglichen Stadtdaten sind ein benannter Bereich mit dem Namen dataCity. Geben Sie in ein neues Blatt Folgendes ein:

    A                 | B
  ----------------------------------------------------------
1 | =UNIQUE(dataCity) | Count
2 |                   | =DCOUNTA(dataCity,"City",{"City";$A2})
3 |                   | [copy down the formula above]
4 |                   | ...
5 |                   | ...
dnlbrky
quelle
-3

= EINZIGARTIG ({Filter (Core! L8: L27, isblank (Core! L8: L27) = false), Abfrage (ArrayFormula (countif (Core! L8: L27, Core! L8: L27))), "Col1 auswählen, wobei Col1 < > 0 ")})

Core! L8: L27 = Liste

user3626588
quelle
Aus den Beiträgen, die ich sehe, scheint dies die beste Antwort vom 15.11.18 zu sein. Up Vote plz
user3626588