Đếm dấu hoa thị (Microsoft Excel)
David cần đếm số lượng dấu hoa thị xuất hiện trong một dải ô. Anh ấy lưu ý rằng COUNTIF dường như giả định rằng * là một ký tự đại diện, vì vậy nó không trả về số lượng thích hợp.
Có một số cách để đạt được kết quả, dựa trên những gì bạn thực sự muốn nhận được. Giả sử rằng bạn có các giá trị sau trong ô A3: A8:
1234 abcd abcd abcd
Trong sáu ô này có tổng cộng bảy dấu hoa thị. Để xác định số lượng dấu hoa thị xuất hiện trong phạm vi, bạn sẽ cần dựa vào công thức mảng, chẳng hạn như công thức sau:
=SUM(LEN(A3:A8)-LEN(SUBSTITUTE(A3:A8,"*","")))
Nhớ nhập công thức bằng Ctrl + Shift + Enter.
Tất nhiên, bạn có thể muốn đếm số ô trong phạm vi chứa một dấu hoa thị thay vì số lượng dấu hoa thị thực tế. Trong trường hợp này, bạn thực sự có thể sử dụng hàm COUNTIF, miễn là bạn biết cách đặt công thức lại với nhau. Đầu tiên, hãy thử công thức này:
=COUNTIF(A3:A8,"*")
Với dữ liệu được hiển thị ở đầu mẹo này, công thức này trả về giá trị 5. Tất nhiên, điều này là sai. Lý do nó trả về kết quả này là vì COUNTIF sử dụng * làm ký tự đại diện có nghĩa là “bất kỳ văn bản nào trong ô.” Vì có năm ô trong phạm vi chứa văn bản (giá trị không phải số), đó là câu trả lời do công thức trả về.
Bạn có thể nghĩ rằng nếu bạn tìm kiếm ký tự ANSI của dấu hoa thị, thay vì chính dấu hoa thị, bạn có thể nhận được kết quả chính xác. Công thức này cho thấy cách tiếp cận này:
=COUNTIF(A3:A8,CHAR(42))
Công thức này cũng trả về câu trả lời không chính xác (5). Có vẻ như Excel không thấy sự khác biệt nào, trong ứng dụng, giữa tìm kiếm * và tìm kiếm CHAR (42). Cả hai vẫn được coi là một ký tự đại diện.
Giải pháp cho điều này là hãy nhớ rằng bạn có thể buộc Excel coi dấu hoa thị như một ký tự thực tế bằng cách đặt trước nó bằng một dấu ngã, ký tự, theo cách sau:
=COUNTIF(A3:A8,"~*")
Điều này trả về kết quả là 1, điều này có thể gây ngạc nhiên. Tuy nhiên, Excel rất có nghĩa đen và công thức của bạn yêu cầu đếm tất cả các ô chứa một dấu hoa thị. Câu trả lời đúng là chỉ một ô (A7) chứa những gì bạn yêu cầu. Nếu bạn muốn đếm tất cả các ô có chứa dấu hoa thị ở bất kỳ đâu trong ô, thì bạn cần bao quanh công thức bằng các ký tự đại diện, theo cách sau:
=COUNTIF(A3:A8,"~*")
Điều này trả về “bất kỳ văn bản nào” theo sau là dấu hoa thị theo nghĩa đen, theo sau là “bất kỳ văn bản nào” Kết quả là 4, là số ô chứa ít nhất một dấu hoa thị.
Khái niệm sử dụng dấu ngã để chống lại các ký tự đại diện được đề cập trong bài viết Cơ sở Kiến thức này:
http://support.microsoft.com/kb/214138
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (9482) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: