Excel: đếm các ô chứa văn bản cụ thể (khớp chính xác và một phần)

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

Hướng dẫn cho biết cách đếm số ô có văn bản nhất định trong Excel. Bạn sẽ tìm thấy các ví dụ về công thức cho các ô khớp chính xác, khớp một phần và các ô được lọc.

Tuần trước, chúng ta đã xem xét cách đếm các ô có văn bản trong Excel, nghĩa là tất cả các ô có văn bản bất kỳ. Khi phân tích các khối thông tin lớn, bạn cũng có thể muốn biết có bao nhiêu ô chứa văn bản cụ thể. Hướng dẫn này giải thích cách thực hiện một cách đơn giản.

    Cách đếm ô có văn bản cụ thể trong Excel

    Microsoft Excel có chức năng đặc biệt để đếm ô theo điều kiện, hàm COUNTIF. Tất cả những gì bạn phải làm là cung cấp chuỗi văn bản đích trong đối số tiêu chí .

    Dưới đây là công thức Excel chung để đếm số ô chứa văn bản cụ thể:

    COUNTIF(range, " text")

    Ví dụ sau cho thấy nó đang hoạt động. Giả sử bạn có một danh sách ID mặt hàng trong A2:A10 và bạn muốn đếm số ô có một id cụ thể, chẳng hạn như "AA-01". Nhập chuỗi này vào đối số thứ hai và bạn sẽ nhận được công thức đơn giản sau:

    =COUNTIF(A2:A10, "AA-01")

    Để cho phép người dùng của bạn đếm ô với bất kỳ văn bản đã cho nào mà không cần sửa đổi công thức, hãy nhập văn bản trong một ô được xác định trước, chẳng hạn như D1 và cung cấp tham chiếu ô:

    =COUNTIF(A2:A10, D1)

    Lưu ý. Hàm Excel COUNTIF không phân biệt chữ hoa chữ thường , nghĩa là nó không phân biệt chữ hoa chữ thường. Để xử lý chữ hoa và chữ thườngcác ký tự khác nhau, hãy sử dụng công thức phân biệt chữ hoa chữ thường này.

    Cách đếm các ô có văn bản nhất định (khớp một phần)

    Công thức được thảo luận trong ví dụ trước khớp chính xác với tiêu chí. Nếu có ít nhất một ký tự khác trong một ô, chẳng hạn như thêm một khoảng trắng ở cuối, thì đó sẽ không phải là kết quả khớp chính xác và ô đó sẽ không được tính.

    Để tìm số các ô chứa văn bản nhất định như một phần nội dung của chúng, hãy sử dụng các ký tự đại diện trong tiêu chí của bạn, cụ thể là dấu hoa thị (*) đại diện cho bất kỳ chuỗi hoặc ký tự nào. Tùy thuộc vào mục tiêu của bạn, một công thức có thể giống như một trong các công thức sau.

    Đếm các ô chứa văn bản cụ thể ở ngay đầu :

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

    Đếm các ô chứa văn bản nhất định ở bất kỳ vị trí nào :

    COUNTIF(range, "* text *")

    Ví dụ: để biết có bao nhiêu ô trong phạm vi A2:A10 bắt đầu bằng "AA", hãy sử dụng công thức sau:

    =COUNTIF(A2:A10, "AA*")

    Để biết số ô chứa "AA" ở bất kỳ vị trí nào, hãy sử dụng công thức này one:

    =COUNTIF(A2:A10, "*AA*")

    Để làm cho công thức linh hoạt hơn, hãy thay thế các chuỗi được mã hóa cứng bằng tham chiếu ô.

    Để đếm các ô bắt đầu bằng văn bản nhất định:

    =COUNTIF(A2:A10, D1&"*")

    Để đếm các ô có văn bản nhất định ở bất kỳ vị trí nào trong đó:

    =COUNTIF(A2:A10, "*"&D1&"*")

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

    Đếm các ô chứa văn bản cụ thể (phân biệt chữ hoa chữ thường)

    Trong trường hợp bạn cần phân biệtchữ hoa và chữ thường, hàm COUNTIF sẽ không hoạt động. Tùy thuộc vào việc bạn đang tìm kiếm đối sánh chính xác hay một phần, bạn sẽ phải xây dựng một công thức khác.

    Công thức phân biệt chữ hoa chữ thường để đếm các ô có văn bản cụ thể (đối sánh chính xác)

    Để đếm số lượng ô có văn bản nhất định nhận dạng kiểu chữ, chúng tôi sẽ sử dụng kết hợp các hàm TÓM TẮT và CHÍNH XÁC:

    TÓM TẮT(--EXACT(" văn bản ", phạm vi ))

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

    • EXACT so sánh từng ô trong phạm vi với văn bản mẫu và trả về một mảng các giá trị TRUE và FALSE, TRUE biểu thị các kết quả khớp chính xác và FALSE tất cả các ô khác. Dấu gạch ngang kép (được gọi là đơn vị kép ) buộc TRUE và FALSE thành 1 và 0.
    • SUMPRODUCT tính tổng tất cả các phần tử của mảng. Tổng đó là số 1, là số kết quả khớp.

    Ví dụ: để lấy số ô trong A2:A10 chứa văn bản trong D1 và xử lý chữ hoa và chữ thường khác nhau ký tự, hãy sử dụng công thức sau:

    =SUMPRODUCT(--EXACT(D1, A2:A10))

    Công thức phân biệt chữ hoa chữ thường để đếm các ô có văn bản cụ thể (khớp một phần)

    Để xây dựng một công thức phân biệt chữ hoa chữ thường có thể tìm thấy chuỗi văn bản quan tâm ở bất kỳ đâu trong một ô, chúng tôi đang sử dụng 3 hàm khác nhau:

    SUMPRODUCT(--(ISNUMBER(FIND(" text ", phạm vi )))))

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

    • Hàm FIND phân biệt chữ hoa chữ thường tìm kiếmcho văn bản đích trong mỗi ô của phạm vi. Nếu thành công, hàm trả về vị trí của ký tự đầu tiên, nếu không thì lỗi #VALUE! lỗi. Để rõ ràng, chúng ta không cần biết vị trí chính xác, bất kỳ số nào (trái ngược với lỗi) có nghĩa là ô chứa văn bản đích.
    • Hàm ISNUMBER xử lý mảng số và lỗi được trả về bằng cách TÌM và chuyển đổi các số thành TRUE và bất kỳ thứ gì khác thành FALSE. Một đơn vị kép (--) buộc các giá trị logic thành 1 và 0.
    • SUMPRODUCT tính tổng mảng 1 và 0, đồng thời trả về số lượng ô chứa văn bản đã chỉ định như một phần nội dung của chúng.

    Để kiểm tra công thức trên dữ liệu thực tế, hãy tìm xem có bao nhiêu ô trong A2:A10 chứa đầu vào chuỗi con trong D1:

    =SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))

    Và điều này trả về một số đếm trên 3 (ô A2, A3 và A6):

    Cách đếm các ô đã lọc có văn bản cụ thể

    Cách đếm các mục hiển thị trong danh sách đã lọc, bạn sẽ cần sử dụng kết hợp 4 hàm trở lên tùy thuộc vào việc bạn muốn khớp chính xác hay một phần. Để làm cho các ví dụ dễ theo dõi hơn, trước tiên, hãy xem nhanh dữ liệu nguồn.

    Giả sử, bạn có một bảng có ID đơn hàng trong cột B và Số lượng trong cột C như trong hình bên dưới. Hiện tại, bạn chỉ quan tâm đến số lượng lớn hơn 1 và bạn đã lọc bảng của mình cho phù hợp. Cáccâu hỏi là – làm cách nào để bạn đếm các ô đã lọc với một id cụ thể?

    Công thức đếm các ô đã lọc có văn bản cụ thể (khớp chính xác)

    Để đếm các ô đã lọc các ô có nội dung khớp chính xác với chuỗi văn bản mẫu, hãy sử dụng một trong các công thức sau:

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

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(B2:B10=F1))

    Trong đó F1 là văn bản mẫu và B2:B10 là các ô để đếm.

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

    Ở cốt lõi của cả hai công thức, bạn thực hiện 2 bước kiểm tra:

    1. Xác định các hàng hiển thị và ẩn. Đối với điều này, bạn sử dụng hàm SUBTOTAL với đối số function_num được đặt thành 103. Để cung cấp tất cả các tham chiếu ô riêng lẻ cho SUBTOTAL, hãy sử dụng INDIRECT (trong công thức đầu tiên) hoặc kết hợp OFFSET, ROW và MIN (trong công thức thứ hai). Vì chúng tôi muốn xác định vị trí các hàng hiển thị và ẩn, nên việc tham chiếu cột nào (A trong ví dụ của chúng tôi) không thực sự quan trọng. Kết quả của thao tác này là một mảng gồm các số 1 và 0 trong đó các số 1 đại diện cho các hàng hiển thị và số không - các hàng ẩn.
    2. Tìm các ô chứa văn bản đã cho. Đối với điều này, hãy so sánh văn bản mẫu (F1) với phạm vi ô (B2:B10). Kết quả của thao tác này là một mảng các giá trị TRUE và FALSE, được ép thành 1 và 0 với sự trợ giúp của toán tử một ngôi kép.

    Cuối cùng, hàm SUMPRODUCT nhân các phần tử của hai phần tử các mảng ở cùng một vị trí, sau đó tính tổng mảng kết quả.Bởi vì nhân với 0 sẽ bằng 0, chỉ những ô có 1 trong cả hai mảng mới có 1 trong mảng cuối cùng. Tổng của 1 là số ô được lọc có chứa văn bản đã chỉ định.

    Công thức đếm các ô đã lọc có văn bản cụ thể (khớp một phần)

    Để đếm các ô đã lọc chứa văn bản nhất định là một phần của nội dung ô, sửa đổi các công thức trên theo cách sau. Thay vì so sánh văn bản mẫu với phạm vi ô, hãy tìm kiếm văn bản đích bằng cách sử dụng ISNUMBER và FIND như được giải thích trong một trong các ví dụ trước:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))

    Kết quả là, các công thức sẽ định vị một chuỗi văn bản đã cho ở bất kỳ vị trí nào trong một ô:

    Lưu ý. Hàm SUBTOTAL với 103 trong đối số function_num , xác định tất cả các ô bị ẩn, được lọc ra và ẩn theo cách thủ công. Kết quả là, các công thức trên chỉ tính các ô hiển thị bất kể các ô không nhìn thấy được ẩn như thế nào. Để chỉ loại trừ các ô đã lọc nhưng bao gồm các ô bị ẩn theo cách thủ công, hãy sử dụng 3 cho function_num .

    Đó là cách đếm số ô có văn bản nhất định 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ẵn các bản tải xuống

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

    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.