Lấy số lượng ô có điều kiện chứa giá trị (Microsoft Excel)
Công thức = SUMIF (B1: B100, “Hiện tại”, D1: D100) cung cấp tổng các giá trị trong cột D, với điều kiện ô tương ứng trong cột B chứa văn bản “Hiện tại”. Tuy nhiên, những gì Kenneth thực sự cần là số lượng các giá trị trong cột D khi cột B chứa “Hiện tại”. (Số lượng các giá trị trong D cũng có thể khác với số lần xuất hiện của “Hiện tại” trong B.) Anh ấy muốn nó đơn giản như thay đổi SUMIF thành COUNTIF, nhưng điều đó tạo ra lỗi.
Lý do lỗi xảy ra là do SUMIF yêu cầu ba tham số và COUNTIF chỉ yêu cầu hai. Do đó, nếu bạn chỉ thay thế SUMIF bằng COUNTIF, thì bạn sẽ gặp lỗi. Thay vào đó, bạn có thể sử dụng COUNTIF theo cách này:
=COUNTIF(B1:B100,"Current")
Điều này sẽ không cung cấp cho bạn một lỗi, nhưng nó cũng không cho bạn một câu trả lời chính xác. Kenneth muốn đếm số lượng ô chứa giá trị trong phạm vi D1: D100, nhưng chỉ khi ô tương ứng trong cột B chứa văn bản “Hiện tại”. Công thức COUNTIF thậm chí không có hiệu lực cột D; nó chỉ đếm số ô trong phạm vi B1: B100 có chứa từ “Hiện tại”.
Giải pháp là sử dụng hàm COUNTIFS. Chức năng này cho phép bạn kiểm tra nhiều điều kiện để tính toán. Trong trường hợp này, phiên bản sau sẽ hoạt động:
=COUNTIFS(B1:B100,"current",D1:D100,">0")
Công thức này đếm số giá trị trong D1: D100 lớn hơn 0. (Chà, nó cũng chỉ đếm chúng nếu B1: B100 chứa “hiện tại”.) Điều này hoạt động vì các ô trống hoặc ô chứa văn bản được COUNTIFS coi là tương đương với 0. Cũng lưu ý rằng hàm không phân biệt chữ hoa chữ thường khi nói đến đối sánh: “current”
cũng sẽ khớp với “Hiện tại” hoặc bất kỳ sự kết hợp nào của chữ hoa và chữ thường trong từ.
Nếu các ô của bạn có thể chứa các giá trị âm, thì bạn nên thử biến thể này, thay vào đó:
=COUNTIFS(B1:B100,"current",D1:D100,"<>")
Hạn chế là phương pháp này cũng bao gồm đếm bất kỳ ô nào có chứa văn bản.
Bạn cũng có thể sử dụng công thức sau:
=SUMPRODUCT(--(B1:B100="current"),--(D1:D100<>""))
Một lần nữa, cái này bao gồm các giá trị văn bản trong số đếm. Nếu bạn muốn bỏ qua các giá trị văn bản, thì biến thể này rất hiệu quả:
=SUMPRODUCT(--(B1:B100="current"),--ISNUMBER(D1:D100))
Công thức sau cũng có thể được sử dụng, miễn là bạn nhập nó dưới dạng công thức mảng (nhấn Ctrl + Shift + Enter):
=SUM((B1:B100="current")*ISNUMBER(D1:D100))
Ngoài ra còn có những cách khác bạn có thể lấy được tổng số tiền bạn cần. Một phương pháp sẽ là sử dụng hàm DCOUNT (được tính dựa trên nhiều tiêu chí), nhưng phương pháp đó yêu cầu thiết lập nhiều hơn các công thức đã được mô tả.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (13433) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.