đếm các giá trị riêng biệt trong bảng tính


84

Tôi có một bảng tính Google với một cột giống như sau:

City
----
London
Paris
London
Berlin
Rome
Paris

Tôi muốn đếm số lần xuất hiện của từng thành phố riêng biệt (vì vậy tôi cần tên thành phố và số lần xuất hiện).

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

Làm thế nào để làm điều đó?


Đã xóa câu trả lời của tôi do tôi không thể tạo một ví dụ hoạt động. Tôi khuyên bạn nên có một cái nhìn tại một sự kết hợp với IF()COUNTIF()
Sascha

Câu trả lời:


103

Liên kết đến các ví dụ làm việc

Giải pháp 0

Điều này có thể được thực hiện bằng cách sử dụng bảng tổng hợp.

Ví dụ về bảng tổng hợp - Đếm hàng theo giá trị

Giải pháp 1

Sử dụng uniquecông thức để nhận tất cả các giá trị riêng biệt. Sau đó, sử dụng countifđể lấy số đếm của từng giá trị. Xem liên kết ví dụ hoạt động ở trên cùng để biết chính xác cách triển khai điều này.

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

Giải pháp 2

Nếu bạn thiết lập dữ liệu của mình như vậy:

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

Sau đó, sau đây sẽ cho ra kết quả mong muốn.

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

Tôi chắc rằng có một cách để loại bỏ cột thứ hai vì tất cả các giá trị sẽ là 1. Theo tôi không phải là một giải pháp lý tưởng.

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

Các liên kết có thể hữu ích khác


Điều đó đã hiệu quả. Cảm ơn. Thật buồn cười là tôi đã áp dụng giải pháp thứ hai với một bộ khác, nhưng không nghĩ ra nó ở đây.
Marius Bancila

đối với giải pháp 2: bạn có thể để trống cột B và sau đó sử dụng "count" thay vì "sum": = sort (transpose (query (A3: B8, "Select count (B) pivot (A)")), 2, FALSE )
wivku

... nhưng làm cách nào để tạo bảng tổng hợp? trong khi câu trả lời này trông tuyệt vời và chi tiết, câu trả lời đơn giản hơn của dnlbrky là câu trả lời đã cứu tôi. ở đây, tôi thậm chí còn không nhận thấy giải pháp 1 & 2 thay thế đơn giản hơn - được đưa ra. Quá tệ :(
Balmipour

1
@Balmipour Data> Pivot Table> sau đó chỉ cần sao chép ảnh chụp màn hình.
Joshua Dance

Chỉ cần trở lại đây sau khi bình luận của bạn. Tôi không đoán tiếng Pháp cho "Pivot table", là "tableaux croisés Dyiques". Đoán rằng tôi có thể đã tìm kiếm tốt hơn một chút vào ngày hôm đó, nhưng ít nhất, biết tùy chọn menu chỉ nằm trong "Dữ liệu" cho phép tôi tìm thấy nó.
Balmipour

25

Bạn có thể sử dụng queryhàm, vì vậy nếu dữ liệu của bạn ở cột A trong đó hàng đầu tiên là tiêu đề cột ...

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

hoa lợi

City    count 
London  2
Paris   2
Berlin  1
Rome    1

Liên kết đến Google Trang tính đang hoạt động.

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


Kỹ thuật này hoạt động tốt và dễ áp ​​dụng hơn trong trường hợp cụ thể của tôi. Tuy nhiên, kỳ lạ là truy vấn dường như bị hỏng (tức là nó sẽ không xuất ra bất kỳ thứ gì) nếu có nhiều hơn một giá trị số riêng biệt trong cột được đếm. Tuy nhiên, nó hoạt động khi tôi chuyển đổi các giá trị số thành chuỗi tương đương của chúng.
Matt V.

@MattV. Tôi đã thử thêm các giá trị số riêng biệt vào cột được đếm và truy vấn hoạt động tốt. docs.google.com/spreadsheets/d/…
Mike Latch vào

Để gắn nhãn các cột khác, hãy lặp lại chính xác định nghĩa của chúng. Trong ví dụ này:label A 'City', count(A) 'Total'
Bryan Roach

21

=iferror(counta(unique(A1:A100))) đếm số ô duy nhất từ ​​A1 đến A100


2
bạn có thể giải thích chức năng của iferror () trong trường hợp này không? counta (unique (A1: A100)) đã cho tôi kết quả mà tôi đang tìm kiếm.
Hầm

10
OP đã không được yêu cầu cho một số các giá trị độc đáo nhưng nếu bạn muốn điều đó thì bạn có thể đơn giản hóa nó bằng cách sử dụng = COUNTUNIQUE (A: A)
wivku

6

Không chính xác những gì người dùng yêu cầu, nhưng một cách dễ dàng để đếm các giá trị duy nhất:

Google đã giới thiệu một hàm mới để đếm các giá trị duy nhất chỉ trong một bước và bạn có thể sử dụng hàm này làm đầu vào cho các công thức khác:

=COUNTUNIQUE(A1:B10)


1
Điều này sẽ chỉ trả về 1 số. Số lượng các giá trị duy nhất. Tuy nhiên, OP hỏi làm thế nào để đếm từng giá trị duy nhất.
Joshua Dance

3
@JoshuaDance Bạn nói đúng, nhưng bài đăng của op có tên "đếm các giá trị khác biệt trong bảng tính". Đây có vẻ như là một câu trả lời hợp pháp cho câu hỏi chính xác này đối với tôi. Chỉ cần lưu ý rằng nó không tính "ô trống" là một giá trị
Balmipour

1
Nếu các bạn thấy ổn, tôi sẽ để nó ngay bây giờ. Trừ khi có quá nhiều người dùng thấy đây là một câu trả lời tồi, vì vậy tôi sẽ xóa nó. @Balmipour
Rudolf Real

1
Đây chính xác là những gì tôi cần.
FellyTone84

6

Điều này hoạt động nếu bạn chỉ muốn đếm các giá trị duy nhất trong dải ô sau

=counta(unique(B4:B21))

0

Điều này tương tự với Giải pháp 1 từ @JSuar ...

Giả sử dữ liệu thành phố ban đầu của bạn là một phạm vi được đặt tên được gọi dataCity. Trong một trang tính mới, hãy nhập thông tin sau:

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

-3

= UNIQUE ({filter (Core! L8: L27, isblank (Core! L8: L27) = false), query (ArrayFormula (countif (Core! L8: L27, Core! L8: L27)), "chọn Col1 trong đó Col1 < > 0 ")})

Core! L8: L27 = list


Từ các bài viết tôi thấy, đây có vẻ là câu trả lời tốt nhất tính đến ngày 15/11/18. Ủng hộ Bỏ phiếu plz
user3626588
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.