Các công thức Excel để đếm các ô có văn bản: ô bất kỳ, cụ thể hoặc được lọc

  • Chia Sẻ Cái Này
Michael Brown

Làm cách nào để đếm các ô có văn bản trong Excel? Có một vài công thức khác nhau để đếm các ô chứa bất kỳ văn bản nào, các ký tự cụ thể hoặc chỉ các ô được lọc. Tất cả các công thức đều hoạt động trong Excel 365, 2021, 2019, 2016, 2013 và 2010.

Ban đầu, bảng tính Excel được thiết kế để hoạt động với các con số. Nhưng ngày nay chúng ta cũng thường sử dụng chúng để lưu trữ và thao tác với văn bản. Bạn muốn biết có bao nhiêu ô chứa văn bản trong trang tính của mình? Microsoft Excel có một số chức năng cho việc này. Bạn nên sử dụng cái nào? Vâng, nó phụ thuộc vào tình hình. Trong hướng dẫn này, bạn sẽ tìm thấy nhiều công thức khác nhau và thời điểm sử dụng mỗi công thức là tốt nhất.

    Cách đếm số ô có văn bản trong Excel

    Có là hai công thức cơ bản để tìm xem có bao nhiêu ô trong một phạm vi nhất định chứa bất kỳ chuỗi văn bản hoặc ký tự nào.

    Công thức COUNTIF để đếm tất cả các ô có văn bản

    Khi bạn muốn tìm số ô có văn bản trong Excel, hàm COUNTIF có dấu hoa thị trong đối số criteria là giải pháp tốt nhất và dễ dàng nhất:

    COUNTIF( range, "*")

    Bởi vì dấu hoa thị (*) là một ký tự đại diện khớp với bất kỳ chuỗi ký tự nào, công thức sẽ đếm tất cả các ô chứa bất kỳ văn bản nào.

    Công thức TỔNG HỢP để đếm các ô có bất kỳ văn bản nào

    Một cách khác để lấy số các ô chứa văn bản là kết hợp các hàm TÓM TẮT và ISTEXT:

    SUMPRODVEL(--ISTEXT( range))

    Hoặc

    SUMPRODUCT(ISTEXT( range)*1)

    Hàm ISTEXT kiểm tra xem mỗi ô trong phạm vi được chỉ định phạm vi chứa bất kỳ ký tự văn bản nào và trả về một mảng các giá trị TRUE (ô có văn bản) và FALSE (ô khác). Phép toán đơn nguyên kép (--) hoặc phép nhân ép buộc TRUE và FALSE thành 1 và 0 tương ứng, tạo ra một mảng gồm các số 1 và 0. Hàm SUMPRODUCT tính tổng tất cả các phần tử của mảng và trả về số 1, là số ô chứa văn bản.

    Để hiểu rõ hơn về cách hoạt động của các công thức này, vui lòng xem giá trị nào được tính và cái nào không:

    Cái gì được tính Cái gì không được tính
    • Các ô có bất kỳ văn bản nào
    • Ký tự đặc biệt
    • Các số được định dạng dưới dạng văn bản
    • Các ô trống trực quan có chứa một chuỗi trống (""), dấu nháy đơn ('), dấu cách hoặc không ký tự in
    • Số
    • Ngày
    • Giá trị logic của TRUE và FALSE
    • Lỗi
    • Các ô trống

    Ví dụ: để đếm các ô có văn bản trong phạm vi A2:A10, không bao gồm số, ngày, giá trị logic, lỗi và các ô trống, hãy sử dụng một trong các công thức sau:

    =COUNTIF(A2:A10, "*")

    =SUMPRODUCT(--ISTEXT(A2:A10))

    =SUMPRODUCT(ISTEXT(A2:A10)*1)

    Ảnh chụp màn hình bên dưới hiển thị kết quả:

    Đếm ô có văn bản không bao gồm khoảng trắng và chuỗi trống

    Các công thức đã thảo luận ở trên đếmtất cả các ô có bất kỳ ký tự văn bản nào trong đó. Tuy nhiên, trong một số trường hợp, điều đó có thể gây nhầm lẫn vì một số ô nhất định có thể trông trống rỗng nhưng trên thực tế lại chứa các ký tự mà mắt người không nhìn thấy được chẳng hạn như chuỗi trống, dấu nháy đơn, dấu cách, ngắt dòng, v.v. ô được tính theo công thức khiến người dùng phải bứt tóc cố gắng tìm hiểu lý do :)

    Để loại trừ các ô trống "dương tính giả" khỏi số đếm, hãy sử dụng hàm COUNTIFS với ký tự "bị loại trừ" trong tiêu chí thứ hai.

    Ví dụ: để đếm các ô có văn bản trong phạm vi A2:A7 bỏ qua những ô chứa ký tự khoảng trắng , hãy sử dụng công thức sau:

    =COUNTIFS(A2:A7,"*", A2:A7, " ")

    Nếu phạm vi mục tiêu của bạn chứa bất kỳ dữ liệu dựa trên công thức nào, thì một số công thức có thể dẫn đến chuỗi trống (""). Để bỏ qua các ô có chuỗi trống , hãy thay thế "*" bằng "*?*" trong đối số criteria1 :

    =COUNTIFS(A2:A9,"*?*", A2:A9, " ")

    A question dấu bao quanh bởi dấu hoa thị cho biết rằng phải có ít nhất một ký tự văn bản trong ô. Vì một chuỗi trống không có ký tự nào trong đó nên nó không đáp ứng tiêu chí và không được tính. Các ô trống bắt đầu bằng dấu nháy đơn (') cũng không được tính.

    Trong ảnh chụp màn hình bên dưới, có một khoảng trắng trong A7, một dấu nháy đơn trong A8 và một chuỗi trống (="") trong A9. Công thức của chúng tôi loại bỏ tất cả các ô đó và trả về số lượng ô văn bản là3:

    Cách đếm ô có văn bản nhất định trong Excel

    Để lấy số ô có chứa văn bản hoặc ký tự nhất định, bạn chỉ cần cung cấp văn bản đó trong đối số criteria của hàm COUNTIF. Các ví dụ dưới đây giải thích các sắc thái.

    Để khớp chính xác với văn bản mẫu , hãy nhập toàn văn trong dấu ngoặc kép:

    COUNTIF( phạm vi, " văn bản")

    Để đếm các ô có một phần khớp , hãy đặt văn bản giữa hai dấu hoa thị, đại diện cho bất kỳ số lượng ký tự nào trước và sau văn bản:

    COUNTIF( range, "* text*")

    Ví dụ: để tìm xem có bao nhiêu ô trong phạm vi A2:A7 chứa chính xác từ "chuối", hãy sử dụng công thức này:

    =COUNTIF(A2:A7, "bananas")

    Để đếm tất cả các ô có chứa "chuối" như một phần nội dung của chúng ở bất kỳ vị trí nào, hãy sử dụng công thức sau:

    =COUNTIF(A2:A7, "*bananas*")

    Để làm cho công thức trở nên thân thiện hơn với người dùng, bạn có thể đặt tiêu chí vào một ô được xác định trước, chẳng hạn như D2 và đặt tham chiếu ô vào đối số thứ hai:

    =COUNTIF(A2:A7, D2)

    Tùy thuộc vào thông tin đầu vào trong D2, công thức có thể khớp hoàn toàn hoặc một phần với văn bản mẫu:

    • Để khớp hoàn toàn, hãy nhập toàn bộ từ hoặc cụm từ như nó xuất hiện trong bảng nguồn, ví dụ:. Bananas .
    • Để đối sánh một phần, hãy nhập văn bản mẫu được bao quanh bởi các ký tự đại diện, như *Bananas* .

    Là công thức không phân biệt chữ hoa chữ thường , bạn có thể không bận tâm về chữ hoa chữ thường,nghĩa là *bananas* cũng sẽ làm như vậy.

    Ngoài ra, để đếm các ô có khớp một phần , hãy nối tham chiếu ô và các ký tự đại diện như:

    =COUNTIF(A2:A7, "*"&D2&"*")

    Để biết thêm thông tin, vui lòng xem Cách đếm các ô có văn bản cụ thể trong Excel.

    Cách thực hiện để đếm các ô đã lọc có văn bản trong Excel

    Khi sử dụng bộ lọc Excel để chỉ hiển thị dữ liệu có liên quan tại một thời điểm nhất định, đôi khi bạn có thể cần đếm các ô hiển thị có văn bản . Rất tiếc, không có giải pháp một cú nhấp chuột cho tác vụ này nhưng ví dụ dưới đây sẽ hướng dẫn bạn qua các bước một cách dễ dàng.

    Giả sử, bạn có một bảng như trong hình bên dưới. Một số mục được lấy từ cơ sở dữ liệu lớn hơn bằng cách sử dụng công thức và nhiều lỗi khác nhau đã xảy ra trong quá trình thực hiện. Bạn đang muốn tìm tổng số mục trong cột A. Với tất cả các hàng hiển thị, công thức COUNTIF mà chúng tôi đã sử dụng để đếm các ô có văn bản hoạt động rất hiệu quả:

    =COUNTIF(A2:A10, "*")

    Và bây giờ, bạn thu hẹp danh sách theo một số tiêu chí, chẳng hạn như lọc ra các mặt hàng có số lượng lớn hơn 10. Câu hỏi đặt ra là – còn lại bao nhiêu mặt hàng?

    Để đếm các ô được lọc có văn bản , đây là điều bạn cần làm:

    1. Trong bảng nguồn của bạn, hiển thị tất cả các hàng. Đối với điều này, hãy xóa tất cả các bộ lọc và bỏ ẩn các hàng bị ẩn.
    2. Thêm một cột trợ giúp với công thức SUBTOTAL cho biết liệu một hàng cócó lọc hay không.

      Để xử lý các ô đã lọc , hãy sử dụng 3 cho đối số function_num :

      =SUBTOTAL(3, A2)

      Để xác định tất cả ô bị ẩn , được lọc ra và ẩn theo cách thủ công, đặt 103 vào function_num :

      =SUBTOTAL(103, A2)

      Trong ví dụ này, chúng tôi chỉ muốn đếm ô hiển thị với văn bản bất kể các ô khác bị ẩn như thế nào, vì vậy chúng tôi nhập công thức thứ hai vào A2 và sao chép xuống A10.

      Đối với các ô hiển thị, công thức sẽ trả về 1. Ngay sau khi bạn lọc ra hoặc ẩn một số hàng theo cách thủ công, công thức sẽ trả về 0 cho chúng. (Bạn sẽ không nhìn thấy các số 0 đó vì chúng được trả về cho các hàng bị ẩn. Để đảm bảo nó hoạt động theo cách này, chỉ cần sao chép nội dung của một ô bị ẩn bằng công thức Tổng phụ vào bất kỳ ô nào có thể nhìn thấy, chẳng hạn như =D2, giả sử hàng 2 bị ẩn .)

    3. Sử dụng hàm COUNTIFS với hai cặp criteria_range / criteria khác nhau để đếm các ô hiển thị có văn bản:
      • Tiêu chí 1 - tìm kiếm các ô có bất kỳ văn bản nào ("*") trong phạm vi A2:A10.
      • Tiêu chí 2 - tìm kiếm 1 trong phạm vi D2:D10 để phát hiện các ô hiển thị.

      =COUNTIFS(A2:A10, "*", D2:D10, 1)

    Bây giờ, bạn có thể lọc dữ liệu theo cách bạn muốn và công thức sẽ cho bạn biết có bao nhiêu ô được lọc trong cột A chứa văn bản (3 in trường hợp của chúng tôi):

    Nếu bạn không muốn chèn một cột bổ sung vào trang tính của mình thì bạn sẽ cần một công thức dài hơn để hoàn thành tác vụ. Chỉ cần chọn một trong những bạnthích hơn:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISTEXT(A2:A10)))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), -- (ISTEXT(A2:A10)))

    Toán tử nhân cũng sẽ hoạt động:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))) * (ISTEXT(A2:A10)))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10)-MIN(ROW(A2:A10)),,1)) * (ISTEXT(A2:A10)))

    Việc sử dụng công thức nào là vấn đề sở thích cá nhân của bạn - kết quả sẽ giống nhau trong mọi trường hợp:

    Cách thức hoạt động của các công thức này

    Đầu tiên công thức sử dụng hàm INDIRECT để "nạp" các tham chiếu riêng lẻ của tất cả các ô trong phạm vi đã chỉ định vào SUBTOTAL. Công thức thứ hai sử dụng kết hợp các hàm OFFSET, ROW và MIN cho cùng một mục đích.

    Hàm SUBTOTAL trả về một mảng gồm các số 1 và 0 trong đó các số 1 đại diện cho các ô hiển thị và các số 0 khớp với các ô ẩn (như cột trợ giúp ở trên).

    Hàm ISTEXT kiểm tra từng ô trong A2:A10 và trả về TRUE nếu ô chứa văn bản, FALSE nếu không. Toán tử một ngôi kép (--) ép các giá trị TRUE và FALSE thành 1 và 0. Tại thời điểm này, công thức sẽ như sau:

    =SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})

    Hàm SUMPRODUCT trước tiên nhân các phần tử của cả hai mảng ở cùng một vị trí và sau đó tính tổng của mảng kết quả.

    Vì nhân với 0 sẽ bằng 0, chỉ những ô được đại diện bởi 1 trong cả hai mảng mới có 1 trong mảng cuối cùng.

    =SUMPRODUCT({0;1;1;0;0;1;0;0;0})

    Và số lượng 1 trong mảng trên là số lượng hiển thị các ô có chứa văn bản.

    Đó là cách đếm ô có văn bản trong Excel. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!

    Có sẵnlượt tải xuống

    Công thức Excel để đếm ô có văn bản

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.