Excel COUNTIF và COUNTIFS với logic OR

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

Hướng dẫn giải thích cách sử dụng các hàm COUNTIF và COUNTIFS của Excel để đếm các ô có nhiều điều kiện OR, ví dụ: nếu một ô chứa X, Y hoặc Z.

Như mọi người đã biết, hàm COUNTIF trong Excel được thiết kế để đếm các ô chỉ dựa trên một tiêu chí trong khi hàm COUNTIFS đánh giá nhiều tiêu chí bằng logic AND. Nhưng nếu nhiệm vụ của bạn yêu cầu logic OR - khi một số điều kiện được cung cấp, bất kỳ điều kiện nào cũng có thể phù hợp để được đưa vào số đếm?

Có một số giải pháp khả thi cho nhiệm vụ này và hướng dẫn này sẽ trình bày tất cả các giải pháp đó trong chi tiết đầy đủ. Các ví dụ ngụ ý rằng bạn có kiến ​​thức vững chắc về cú pháp và cách sử dụng chung của cả hai hàm. Nếu không, bạn có thể muốn bắt đầu với việc sửa đổi những điều cơ bản:

Hàm Excel COUNTIF - đếm các ô có một tiêu chí.

Hàm Excel COUNTIFS - đếm các ô có nhiều tiêu chí AND.

Bây giờ mọi người đã thống nhất với nhau, hãy đi sâu vào:

    Đếm ô có điều kiện OR trong Excel

    Phần này đề cập đến kịch bản đơn giản nhất - đếm ô có điều kiện đáp ứng bất kỳ (ít nhất một) điều kiện đã chỉ định.

    Công thức 1. COUNTIF + COUNTIF

    Cách dễ nhất để đếm các ô có giá trị này hay giá trị khác (Countif a hoặc b ) là viết công thức COUNTIF thông thường để đếm từng mục riêng lẻ rồi cộng kết quả:

    COUNTIF( range, criterion1) + COUNTIF( phạm vi, tiêu chí2)

    Là mộtví dụ: hãy tìm hiểu xem có bao nhiêu ô trong cột A chứa "táo" hoặc "chuối":

    =COUNTIF(A:A, "apples") + COUNTIF(A:A, "bananas")

    Trong trang tính thực tế, cách tốt nhất là hoạt động trên các phạm vi thay vì hơn toàn bộ cột để công thức hoạt động nhanh hơn. Để tránh rắc rối khi cập nhật công thức của bạn mỗi khi điều kiện thay đổi, hãy nhập các mục quan tâm vào các ô được xác định trước, chẳng hạn như F1 và G1, rồi tham chiếu các ô đó. Ví dụ:

    =COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)

    Kỹ thuật này hoạt động tốt đối với một vài tiêu chí, nhưng việc cộng ba hoặc nhiều hàm COUNTIF lại với nhau sẽ khiến công thức trở nên quá cồng kềnh. Trong trường hợp này, tốt hơn hết bạn nên sử dụng một trong các lựa chọn thay thế sau.

    Công thức 2. COUNTIF với hằng số mảng

    Đây là phiên bản nhỏ gọn hơn của công thức SUMIF với điều kiện OR trong Excel:

    SUM(COUNTIF( range, { criterion1, criterion2, criterion3, …}))

    Công thức là được xây dựng theo cách này:

    Đầu tiên, bạn đóng gói tất cả các điều kiện trong một hằng số mảng - các mục riêng lẻ được phân tách bằng dấu phẩy và mảng được đặt trong dấu ngoặc nhọn như {"apples", "bananas', "lemons"}.

    Sau đó, bạn đưa hằng số mảng vào đối số tiêu chí của công thức COUNTIF bình thường: COUNTIF(A2:A10, {"apples","bananas","lemons"})

    Cuối cùng, biến đổi công thức COUNTIF trong hàm SUM. Điều này là cần thiết vì hàm COUNTIF sẽ trả về 3 số đếm riêng lẻ cho "táo", "chuối" và"chanh" và bạn cần cộng các số đó lại với nhau.

    Công thức hoàn chỉnh của chúng tôi như sau:

    =SUM(COUNTIF(A2:A10,{"apples","bananas","lemons"}))

    Nếu bạn Nếu bạn muốn cung cấp tiêu chí của mình dưới dạng tham chiếu phạm vi , bạn sẽ cần nhập công thức bằng Ctrl + Shift + Enter để biến nó thành công thức mảng. Ví dụ:

    =SUM(COUNTIF(A2:A10,F1:H1))

    Xin lưu ý dấu ngoặc nhọn trong ảnh chụp màn hình bên dưới - đó là dấu hiệu rõ ràng nhất của công thức mảng trong Excel:

    Công thức 3. TÓM TẮT

    Một cách khác để đếm ô với logic OR trong Excel là sử dụng hàm TÓM TẮT theo cách này:

    SUMPRODUCT(1*( range= { tiêu chí1, tiêu chí2, tiêu chí3, …}))

    Để hình dung logic rõ hơn, điều này cũng có thể được viết là:

    TÓM TẮT( ( phạm vi= tiêu chí1) + ( phạm vi= tiêu chí2) + …)

    Công thức kiểm tra từng ô trong phạm vi mỗi tiêu chí và trả về TRUE nếu tiêu chí được đáp ứng, FALSE nếu không. Kết quả trung gian là bạn nhận được một vài mảng giá trị TRUE và FALSE (số lượng mảng bằng với số lượng tiêu chí của bạn). Sau đó, các phần tử mảng ở cùng một vị trí được cộng lại với nhau, tức là phần tử đầu tiên trong tất cả các mảng, phần tử thứ hai, v.v. Thao tác cộng chuyển đổi các giá trị logic thành số, do đó, bạn sẽ có một mảng gồm 1 (một trong các tiêu chí phù hợp) và 0 (không có tiêu chí nào phù hợp). Vì tất cả các tiêu chí đềuđược kiểm tra đối với cùng các ô, không có cách nào bất kỳ số nào khác có thể xuất hiện trong mảng kết quả - chỉ một mảng ban đầu có thể có TRUE ở một vị trí cụ thể, các mảng khác sẽ có FALSE. Cuối cùng, TÓM TẮT cộng các phần tử của mảng kết quả và bạn nhận được số lượng mong muốn.

    Công thức đầu tiên hoạt động theo cách tương tự, với điểm khác biệt là nó trả về một mảng 2 chiều gồm các giá trị TRUE và FALSE , mà bạn nhân với 1 để chuyển đổi các giá trị lô-gic tương ứng thành 1 và 0.

    Được áp dụng cho tập dữ liệu mẫu của chúng tôi, các công thức có dạng sau:

    =SUMPRODUCT(1*(A2:A10={"apples","bananas","lemons"}))

    Hoặc

    =SUMPRODUCT((A2:A10="apples") + (A2:A10="bananas") + (A2:A10="lemons"))

    Thay thế hằng số mảng được mã hóa cứng bằng một tham chiếu phạm vi và bạn sẽ nhận được một giải pháp thậm chí còn tinh tế hơn:

    =SUMPRODUCT(1*( A2:A10=F1:H1))

    Lưu ý. Hàm TÓM TẮT chậm hơn COUNTIF, đó là lý do tại sao công thức này được sử dụng tốt nhất trên các tập dữ liệu tương đối nhỏ.

    Đếm các ô có logic OR cũng như AND

    Khi làm việc với dữ liệu lớn các tập hợp có mối quan hệ đa cấp và chéo cấp giữa các phần tử, rất có thể bạn sẽ cần đếm các ô có điều kiện OR và AND cùng một lúc.

    Ví dụ: hãy đếm số "quả táo" , "chuối" và "chanh" được "giao". làm sao chúng ta làm việc đó bây giờ? Để bắt đầu, hãy dịch các điều kiện của chúng ta sang ngôn ngữ của Excel:

    • Cột A: "táo" hoặc "chuối" hoặc "chanh"
    • Cột C: "đã gửi"

    Nhìn từmột góc độ khác, chúng ta cần đếm các hàng có "táo và đã giao" HOẶC "chuối và đã giao" HOẶC "chanh và đã giao". Nói theo cách này, nhiệm vụ sẽ rút gọn thành việc đếm các ô có 3 điều kiện HOẶC - chính xác như những gì chúng ta đã làm trong phần trước! Điểm khác biệt duy nhất là bạn sẽ sử dụng COUNTIFS thay vì COUNTIF để đánh giá tiêu chí AND trong mỗi điều kiện OR.

    Công thức 1. COUNTIFS + COUNTIFS

    Đây là công thức dài nhất, là công thức dễ viết nhất :)

    =COUNTIFS(A2:A10, "apples", C2:C10, "delivered") + COUNTIFS(A2:A10, "bananas", C2:C10, "delivered")) + COUNTIFS(A2:A10, "lemons", C2:C10, "delivered"))

    Ảnh chụp màn hình bên dưới hiển thị cùng một công thức với tham chiếu ô:

    =COUNTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)

    Công thức 2. COUNTIFS với hằng số mảng

    Có thể tạo một công thức COUNTIFS nhỏ gọn hơn với logic AND/OR bằng cách đóng gói các tiêu chí OR trong một hằng số mảng:

    =SUM(COUNTIFS(A2:A10, {"apples","bananas","lemons"}, C2:C10, "delivered"))

    Khi sử dụng tham chiếu phạm vi cho tiêu chí, bạn cần có công thức mảng, hoàn thành bằng cách nhấn Ctrl + Shift + Enter :

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))

    Mẹo. Nếu cần, bạn có thể tự do sử dụng ký tự đại diện trong tiêu chí của bất kỳ công thức nào được thảo luận ở trên. Ví dụ: để đếm tất cả các loại chuối như "chuối xanh" hoặc "chuối ngón tay vàng", bạn có thể sử dụng công thức sau:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered"))

    Theo cách tương tự, bạn có thể xây dựng công thức đếm ô dựa trên trên các loại tiêu chí khác. Ví dụ: để có số lượng "táo" hoặc "chuối" hoặc "chanh" được "giao" và số lượng lớn hơn 200, hãy thêm một cặp tiêu chí/phạm vi tiêu chí khác vàoCOUNTIFS:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered", B2:B10, ">200"))

    Hoặc sử dụng công thức mảng này (được nhập qua Ctrl + Shift + Enter ):

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))

    Đếm ô có nhiều điều kiện OR

    Trong ví dụ trước, bạn đã học cách kiểm tra một bộ điều kiện OR. Nhưng nếu bạn có hai tập hợp trở lên và bạn đang muốn tính tổng tất cả các quan hệ OR có thể có thì sao?

    Tùy thuộc vào số lượng điều kiện bạn cần xử lý, bạn có thể sử dụng COUNTIFS với hằng số mảng hoặc TÓM TẮT với ISNUMBER MATCH. Cái trước tương đối dễ xây dựng, nhưng nó chỉ giới hạn ở 2 bộ điều kiện HOẶC. Cái sau có thể đánh giá bất kỳ số lượng điều kiện nào (tất nhiên là một số hợp lý, với giới hạn của Excel là 255 đối số và 8192 ký tự cho tổng độ dài của công thức), nhưng có thể mất một số nỗ lực để nắm bắt logic của công thức.

    Đếm các ô có 2 bộ điều kiện OR

    Khi chỉ xử lý hai bộ tiêu chí OR, chỉ cần thêm một hằng số mảng nữa vào công thức COUNTIFS đã thảo luận ở trên.

    Để công thức hoạt động, một phút nhưng cần có thay đổi quan trọng: sử dụng mảng ngang (các phần tử được phân tách bằng dấu phẩy) cho một bộ tiêu chí và mảng dọc (các phần tử được phân tách bằng dấu chấm phẩy) cho bộ tiêu chí kia. Thao tác này yêu cầu Excel "ghép nối" hoặc "tính chéo" các phần tử trong hai mảng và trả về kết quả là một mảng hai chiều.

    Ví dụ: hãy đếm "táo", "chuối" hoặc"chanh" là "đã giao" hoặc "đang vận chuyển":

    =SUM(COUNTIFS(A2:A10, {"apples", "bananas", "lemons"}, B2:B10, {"delivered"; "in transit"}))

    Vui lòng lưu ý dấu chấm phẩy trong hằng số mảng thứ hai:

    Vì Excel là chương trình 2 chiều nên không thể tạo mảng 3 chiều hoặc 4 chiều và do đó công thức này chỉ hoạt động cho hai bộ tiêu chí OR. Để đếm với nhiều tiêu chí hơn, bạn sẽ phải chuyển sang công thức TÓM TẮT phức tạp hơn được giải thích trong ví dụ tiếp theo.

    Đếm các ô có nhiều bộ điều kiện OR

    Để đếm các ô có nhiều hơn hai bộ tiêu chí OR, hãy sử dụng hàm TÓM TẮT cùng với ISNUMBER MATCH.

    Ví dụ: chúng ta hãy đếm số lượng "táo", "chuối" hoặc "chanh" đang "được giao" hoặc "đang vận chuyển" và được đóng gói trong "túi" hoặc "khay":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"apples","bananas","lemons"},0))*

    ISNUMBER(MATCH(B2:B10,{"bag","tray"},0))*

    ISNUMBER(MATCH(C2:C10,{"delivered","in transit"},0)))

    Ở giữa công thức, hàm MATCH kiểm tra tiêu chí bằng cách so sánh từng ô trong phạm vi xác định với hằng số mảng tương ứng. Nếu tìm thấy kết quả khớp, nó trả về vị trí tương đối của giá trị nếu là mảng, không áp dụng nếu không. ISNUMBER chuyển đổi các giá trị này thành TRUE và FALSE, tương ứng với 1 và 0. TÓM TẮT lấy nó từ đó và nhân các phần tử của mảng. Bởi vì nhân với 0 sẽ bằng 0, chỉ những ô có 1 trong tất cả các mảng mới tồn tại vàlấy tổng.

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

    Đây là cách bạn sử dụng các hàm COUNTIF và COUNTIFS trong Excel để đếm các ô có nhiều AND là cũng như điều kiện OR. Để xem kỹ hơn các công thức được thảo luận trong hướng dẫn này, bạn có thể tải xuống sổ làm việc mẫu của chúng tôi bên dưới. 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!

    Sách bài tập thực hành

    Xét Excel COUNTIF với điều kiện OR - ví dụ (tệp .xlsx)

    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.