liczyć różne wartości w arkuszu kalkulacyjnym


84

Mam arkusz kalkulacyjny Google z kolumną, która wygląda następująco:

City
----
London
Paris
London
Berlin
Rome
Paris

Chcę policzyć wystąpienia każdego odrębnego miasta (potrzebuję więc nazwy miasta i liczby wystąpień).

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

Jak mogę to zrobić?


Usunąłem moją odpowiedź, ponieważ nie mogłem stworzyć działającego przykładu. Polecam przyjrzeć się połączeniu z IF()iCOUNTIF()
saschą.

Odpowiedzi:


103

Link do przykładów roboczych

Rozwiązanie 0

Można to zrobić za pomocą tabel przestawnych.

Przykład tabeli przestawnej - zliczanie wierszy według wartości

Rozwiązanie 1

Użyj uniquewzoru, aby uzyskać wszystkie różne wartości. Następnie użyj, countifaby uzyskać liczbę każdej wartości. Zobacz działający przykład link u góry, aby zobaczyć dokładnie, jak to jest zaimplementowane.

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

Rozwiązanie 2

Jeśli skonfigurujesz swoje dane jako takie:

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

Następujące czynności przyniosą pożądany rezultat.

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

Jestem pewien, że jest sposób na pozbycie się drugiej kolumny, ponieważ wszystkie wartości będą równe 1. Moim zdaniem nie jest to idealne rozwiązanie.

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

Inne potencjalnie przydatne linki


To się udało. Dzięki. Zabawne, że już zastosowałem drugie rozwiązanie z innym zestawem, ale tutaj o tym nie pomyślałem.
Marius Bancila

dla rozwiązania 2: możesz pozostawić kolumnę B pustą, a następnie użyć „count” zamiast „sum”: = sort (transpose (query (A3: B8, „Select count (B) pivot (A)”)), 2, FALSE )
wivku

... ale jak utworzyć tabelę przestawną? podczas gdy ta odpowiedź wygląda świetnie i szczegółowo, prostsza odpowiedź dnlbrky'ego jest tą, która mnie uratowała. tutaj nawet nie zauważyłem podanych -prostszych- alternatywnych rozwiązań 1 i 2. Szkoda :(
Balmipour

1
@Balmipour Data> Pivot Table> a następnie po prostu skopiuj zrzut ekranu.
Joshua Dance

Właśnie wróciłem tutaj po twoim komentarzu. Nie zgadłem, że francuskie określenie „tabele przestawne” to „tableaux croisés dynamiques”. Chyba mogłem tego dnia poszukać trochę lepiej, ale przynajmniej wiedząc, że opcja menu znajduje się tylko w „Danych”, pozwoliła mi ją znaleźć.
Balmipour

25

Możesz użyć tej queryfunkcji, więc jeśli twoje dane były w kolumnie A, gdzie pierwszy wiersz był tytułem kolumny ...

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

plony

City    count 
London  2
Paris   2
Berlin  1
Rome    1

Link do działającego arkusza Google.

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


Ta technika działała dobrze i była łatwiejsza do zastosowania w moim konkretnym przypadku. Jednak, co dziwne, zapytanie wydawało się przerywać (tj. Nic nie dawało), gdyby w liczonej kolumnie była więcej niż jedna odrębna wartość liczbowa. Zadziałało, gdy przekonwertowałem wartości liczbowe na ich odpowiedniki w postaci ciągów.
Matt V.,

@MattV. Próbowałem dodać różne wartości liczbowe do liczonej kolumny, a zapytanie działało dobrze. docs.google.com/spreadsheets/d/…
Mike Latch

Aby oznaczyć inne kolumny, dokładnie powtórz ich definicję. W tym przykładzie:label A 'City', count(A) 'Total'
Bryan Roach

21

=iferror(counta(unique(A1:A100))) zlicza liczbę unikalnych komórek od A1 do A100


2
czy możesz wyjaśnić funkcję iferror () w tym przypadku? counta (unikalny (A1: A100)) dał mi wynik, którego szukałem.
Gulasz

10
OP nie pytał o liczbę unikalnych wartości, ale jeśli chcesz, możesz to uprościć, używając = COUNTUNIQUE (A: A)
wivku

8

Nie jest to dokładnie to, o co prosił użytkownik, ale łatwy sposób liczenia unikalnych wartości:

Firma Google wprowadziła nową funkcję zliczania unikatowych wartości w jednym kroku, której możesz użyć jako danych wejściowych dla innych formuł:

=COUNTUNIQUE(A1:B10)


1
To zwróci tylko 1 liczbę. Liczba unikalnych wartości. Jednak PO zapytał, jak policzyć każdą niepowtarzalną wartość.
Joshua Dance

3
@JoshuaDance Masz rację, ale post operatora nazywa się „policz różne wartości w arkuszu kalkulacyjnym”. To wygląda na poprawną odpowiedź na to dokładne pytanie. Zwróć uwagę, że nie liczy „pustej komórki” jako wartości
Balmipour,

1
Jeśli jesteście w porządku, na razie to zostawię. Chyba że zbyt wielu użytkowników uzna to za złą odpowiedź, więc ją usunę. @Balmipour
Rudolf Real

1
Właśnie tego potrzebowałem.
FellyTone84

6

Działa to, jeśli chcesz tylko liczyć unikalne wartości np. W następującym zakresie

=counta(unique(B4:B21))

0

Jest to podobne do rozwiązania 1 z @JSuar ...

Załóżmy, że oryginalne dane miasta to nazwany zakres o nazwie dataCity. W nowym arkuszu wprowadź następujące informacje:

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

-4

= UNIQUE ({filter (Core! L8: L27, isblank (Core! L8: L27) = false), query (ArrayFormula (countif (Core! L8: L27, Core! L8: L27))), "wybierz Col1, gdzie Col1 < > 0 ")})

Rdzeń! L8: L27 = lista


Z postów, które widzę, wydaje się, że to najlepsza odpowiedź na dzień 15.11.18. Głos w górę plz
user3626588
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.