2009-04-21 35 views

Trả lời

91

Sử dụng tiêu chí "<>". Nó sẽ đếm bất kỳ thứ gì không phải là ô trống, bao gồm #NAME? hoặc #DIV/0!. Về lý do tại sao nó hoạt động, damned nếu tôi biết, nhưng Excel dường như hiểu nó.

Lưu ý: công trình độc đáo trong Google Spreadsheet quá

+0

Tôi đã thử bản thân mình và phát hiện ra nó hoạt động, nhưng như bạn cũng chỉ ra - nó không có ý nghĩa tại sao excel chấp nhận nó. Tôi phải thêm một tiêu chí khác để tránh số 0 mà vlookups của tôi hiển thị. – Kim

+4

Lưu ý: hoạt động tốt trong Google Tài liệu quá – LeonardChallis

+0

Thật tuyệt vời! Câu trả lời này vẫn là một phao cứu sinh 7 năm sau đó - và chứa đựng những thông tin mà tôi không thể tìm thấy trong tài liệu của Microsoft. Cảm ơn!! – AAT

6

Nếu bạn đang sử dụng nhiều tiêu chí, và muốn đếm số lượng các tế bào không trống trong một cột cụ thể, bạn có thể muốn xem xét DCOUNTA.

ví dụ

A B C D E F G 
1 Dog Cat Cow Dog Cat 
2 x 1   x 1 
3 x 2 
4 x 1 nb  Result: 
5 x 2 nb  1 

Formula trong E5: = DCOUNTA (A1: C5, "Bò", E1: F2)

+1

Đây là một lựa chọn tốt hơn nhiều so với câu trả lời được chấp nhận. Tại sao bạn nên sử dụng một Vlookup với IF là vượt ra ngoài tôi khi bạn muốn đếm. Dcount là bạn của bạn. Tuy nhiên, nếu bạn thích công thức lớn chunky sử dụng câu trả lời khác. –

8

Trong Excel 2010, bạn có COUNTIFS chức năng.

Tôi đã gặp sự cố nếu tôi đang cố gắng đếm số lượng ô trong một phạm vi có giá trị bằng 0.

ví dụ: Nếu bạn có bảng tính trong phạm vi A1: A10 có giá trị 1, 0, 2, 3, 0 và bạn muốn câu trả lời 3.

Hàm bình thường = COUNTIF (A1: A10, "<> 0") sẽ cung cấp cho bạn 8 vì nó đang đếm các ô trống là 0.

Giải pháp của tôi cho điều này là sử dụng hàm COUNTIFS với cùng phạm vi nhưng nhiều tiêu chí, ví dụ:

= COUNTIFS (A1: A10, "<> 0" , A1: A10," <> ")

này một cách hiệu quả để kiểm tra nếu phạm vi là phi 0 và không được trống.

17

Nếu nhiều tiêu chí sử dụng COUNTIFS

=countifs(A1:A10,">""",B1:B10,">""") 

Các " >"" " nhìn vào lớn hơn là trống rỗng. Công thức này tìm hai tiêu chí và cả hai cột có thể trống trên cùng hàng cho nó. Nếu chỉ đếm một cột làm điều này với một tiêu chí (tức làSử dụng tất cả mọi thứ trước khi B1:B10 không bao gồm dấu phẩy)

+1

sử dụng ">" "" là một mẹo tuyệt vời! – ak112358

+0

Điều này hữu ích vì có trường hợp một ô trống rỗng sẽ không bị loại trừ bởi '" <> "', nhưng sẽ khi sử dụng '"> "" "'. –

+1

Giải pháp ">" "" hoàn hảo. Vấn đề với "<>" là nó đếm các ô có công thức trong chúng ngay cả khi nó dẫn đến giá trị trống (ví dụ như nếu bạn sử dụng hàm IFERROR), trong khi ">" "" có vẻ hoạt động với giá trị được tính toán của ô thay vì nội dung. – JoeP

0

Cách tốt nhất mà tôi đã tìm thấy là sử dụng một sự kết hợp "NẾU" và "ISERROR" tuyên bố:

=IF(ISERROR(COUNTIF(E5:E356,1)),"---",COUNTIF(E5:E356,1) 

Công thức này sẽ hoặc điền vào các tế bào với ba dấu gạch ngang (---) nếu có lỗi (nếu không có dữ liệu trong ô cần đếm/trung bình/v.v) hoặc với số đếm (nếu có dữ liệu trong ô)

Phần hay về truy vấn logic này là nó sẽ loại trừ hoàn toàn các hàng/cột trống bằng cách đặt chúng thành giá trị văn bản của "---", vì vậy nếu bạn có một hàng đếm (hoặc tính trung bình), sau đó được tính (hoặc tính trung bình) ở một vị trí khác trong công thức của bạn, công thức thứ hai sẽ không phản hồi với một lỗi vì nó sẽ bỏ qua ô "---".

3

Bạn có thể thử này:

=COUNTIF(Data!A2:A300,"<>"&"") 
3

tôi thấy rằng cách tốt nhất để làm điều này là sử dụng SUMPRODUCT thay vì:

=SUMPRODUCT((A1:A10<>"")*1) 

Nó cũng khá tuyệt vời nếu bạn muốn ném vào tiêu chí hơn :

=SUMPRODUCT((A1:A10<>"")*(A1:A10>$B$1)*(A1:A10<=$B$2)) 
+0

Điều này cũng hoạt động với các công thức trả về "". – CFreitas

Các vấn đề liên quan