Sử dụng excel, làm cách nào tôi có thể đếm số lượng ô trong một cột có chứa văn bản, đúng là đúng hay trực tiếp?


10

Tôi có một bảng tính có một cột các ô trong đó mỗi ô chứa một từ duy nhất. Tôi muốn đếm sự xuất hiện của một số từ. Tôi có thể sử dụng hàm COUNTIF cho hầu hết các từ, nhưng nếu từ đó là "đúng" hoặc "sai", tôi nhận được 0.

        A         B 
1     quả táo 2
 2     đúng 0
 3     sai 0
 4     quả cam 1
 5     quả táo

Trong bảng bảng tính ở trên, tôi có các công thức này trong các ô B1, B2, B3 và B4:

=COUNTIF(A1:A5,"apples")
=COUNTIF(A1:A5,"true")
=COUNTIF(A1:A5,"false")
=COUNTIF(A1:A5,"oranges)

Như bạn thấy, tôi có thể đếm táo và cam, nhưng không đúng hay sai. Tôi cũng đã thử điều này:

=COUNTIF(A1:A5,TRUE)

Nhưng điều đó cũng không hoạt động.

Lưu ý - Tôi đang sử dụng Excel 2007.


3
Vì những gì đáng giá tôi đã thay đổi suy nghĩ về điều này. Tôi đoán các công thức Excel có thể được coi là một loại ngôn ngữ lập trình khai báo. Tôi không nghĩ rằng Turing hoàn chỉnh mà không sử dụng VBA nhưng sau đó không phải là biểu thức chính quy - được cộng đồng SO coi là chấp nhận được!
Martin Smith

1
Gắn bó với giải pháp ký tự đại diện. =COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud")đếm tất cả các chuỗi bắt đầu với sự thật, hay trud tinh,
Scott

1
Jay, câu hỏi cũ này lại xuất hiện vì một bài viết mới. Nhúng một câu trả lời trong loại câu hỏi lộn xộn với cấu trúc dự định của trang web. Bạn có thể di chuyển phần câu trả lời để trả lời?
fixer1234

Câu trả lời:


5

Điều này sẽ làm việc:

=COUNTIF(A1:A5,"*true")

mặc dù nó sẽ đếm một ô nếu nó có bất kỳ văn bản nào trước khi đúng. Nhưng nó có thể là một cách giải quyết thô thiển cho bạn.


1
Gợi ý tốt - Tôi đã không nghĩ về thẻ hoang dã. Một COUNTIF thứ hai có thể được sử dụng để lọc các từ xảy ra kết thúc bằng "true". Công thức này hoạt động: = COUNTIF (A1: A5, " true") - COUNTIF (A1: A5, " ? True") Tôi sẽ đưa ra câu trả lời này, nhưng tôi là người mới sẽ chỉ có 11 đại diện. (Tôi không thể chuyển bất kỳ từ stackoverflow :-(
Jay Elston

1
Đây là một biến thể khác : =COUNTIFS(A1:A5, "tru?", A1:A5, "*e").
Scott

7

Đối số thứ hai cho công thức COUNTIF được Excel diễn giải dưới dạng thử nghiệm sẽ được thực hiện (ví dụ: chúng ta có thể nhập "> 3", v.v.). Trong trường hợp này, có vẻ như Excel đang chuyển đổi các chuỗi "đúng" và "sai" thành 1 và 0. Điều đó sẽ không khớp với văn bản gốc.

Giải pháp duy nhất tôi biết cho vấn đề này là viết mã VBA để đếm.

Nếu thay đổi dữ liệu đầu vào là chấp nhận được, hãy thay thế "true" bằng "T" và "false" bằng "F", sau đó đổi thành COUNTIF(A1:A5,"T").

Khi tôi vấp phải điều này, tôi đã từ bỏ trận chiến và thay đổi dữ liệu đầu vào.

PS: Sử dụng Excel 2003 - cùng một vấn đề


Cách giải quyết tạm thời của tôi đã diễn ra như vậy - Tôi đã chèn một cột khác và sử dụng công thức: IF (A1 = "true", "T", IF (A1 = "false", "F", "")) để điền vào các ô .

Hmm tôi có thể thấy sự thất vọng. COUNTIF(A2,">=trud")COUNTIF(A2,"<=truf")cả hai đều làm việc. COUNTIF(A2,A2)và bất kỳ biến thể có thể hiểu được không!
Martin Smith

Dường như =COUNTIF(G1,">=true")=COUNTIF(G1,"<=true") luôn luôn trở về 0 đối với bất kỳ đầu vào có thể từ CHAR(1)để CHAR(255)vì vậy bất cứ nó đang được chuyển đổi sang dường như hoàn toàn không thể so sánh. Nó dường như hoạt động như một so sánh NULL trong cơ sở dữ liệu.
Martin Smith

3

Dường như Excel coi "true / TRUE" và "false / FALSE" là các chuỗi ma thuật khi chúng xuất hiện trong các công thức - chúng được coi là các hàm: TRUE () và FALSE () thay vì các chuỗi.

Nếu bạn cần đếm đúng và sai trong một cột, bạn sẽ không nhận được số đếm nếu bạn sử dụng "true" hoặc "= true" làm tiêu chí. Có một số cách tiếp cận bạn có thể sử dụng để đếm đúng và sai dưới dạng từ.

Use a pair of COUNTIF functions. Either of the following works:

=COUNTIF(A1:A5,"*true")-COUNTIF(A1:A5,"*?true")

or

=COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud")

Create a new column with true converted to "T" and false converted to "F" using the formula:

=IF(A1="true","T",IF(A1="false","F",""))

Then trues and falses can be counted using:

=COUNTIF(A1:A5,"T")
=COUNTIF(A1:A5,"F")

Don't use "true" and "false" to begin with, use something else (such as T and F).

Cảm ơn Sux2Lose cho ý tưởng ký tự đại diện và Martin Smith cho ý tưởng sử dụng so sánh với các chuỗi ngay lập tức lớn hơn và ít hơn đúng hoặc sai.


0

Tôi đã có thể sử dụng các công thức sau đây:

=COUNTIF(A1:A5,"=apples")
=COUNTIF(A1:A5,"=true")
=COUNTIF(A1:A5,"=false")
=COUNTIF(A1:A5,"=oranges")

Đọc qua các trợ giúp tích hợp cho COUNTIF. Họ mô tả khả năng sử dụng các toán tử với điều kiện chi tiết hơn.


1
Không làm việc cho tôi. Trả về 0.
Martin Smith

1
Điều này cũng không làm việc cho tôi.
Jay Elston

0

Tôi đã có một vấn đề tương tự với một công thức SUMPRODVEL. Bằng cách loại bỏ các trích dẫn xung quanh thuật ngữ FALSE, công thức đã tạo ra kết quả chính xác, sử dụng MS EXCEL 2003.


1
Tôi đã đề cập trong câu hỏi mà tôi đã thử = COUNTIF (A1: A5, TRUE) và rằng tôi đang sử dụng phiên bản Excel 2007.
Jay Elston

0

Tôi đã có thể giải quyết vấn đề bằng cách sử dụng công thức sau:

= COUNTIF (A1: A5, "T *").

"T*" thay thế "Đúng" nếu các mục trong cột bị giới hạn chỉ một từ "T".

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.