Công thức Excel: Đếm nếu hàng đáp ứng tiêu chí nội bộ
Công thức Excel: Đếm nếu hàng đáp ứng tiêu chí nội bộ

Công thức chung
=SUMPRODUCT(--(logical_expression))
Tóm lược

Để đếm các hàng trong bảng đáp ứng tiêu chí nội bộ, được tính toán, mà không cần sử dụng cột trợ giúp, bạn có thể sử dụng hàm SUMPRODUCT.

Bối cảnh

Hãy tưởng tượng bạn có một bảng số liệu bán hàng cho một số sản phẩm. Bạn có một cột cho doanh số tháng trước và một cột cho doanh số trong tháng hiện tại. Bạn muốn đếm các sản phẩm (hàng) mà doanh số bán hàng hiện tại ít hơn doanh số bán hàng tháng trước. Bạn không thể sử dụng COUNTIF cho việc này, vì COUNTIF là một hàm dựa trên phạm vi. Một tùy chọn là thêm cột trợ giúp trừ doanh thu của tháng trước khỏi doanh số của tháng này, sau đó sử dụng COUNTIF để đếm kết quả nhỏ hơn 0. Nhưng nếu bạn không muốn (hoặc không thể) thêm cột trợ giúp thì sao? Trong trường hợp đó, bạn có thể sử dụng SUMPRODUCT.

Trong ví dụ được hiển thị, công thức trong ô G6 là:

=SUMPRODUCT(--(C5:C10>D5:D10))

Giải trình

SUMPRODUCT được thiết kế để làm việc với các mảng. Nó nhân các phần tử tương ứng trong hai hoặc nhiều mảng và tính tổng các sản phẩm thu được. Do đó, bạn có thể sử dụng SUMPRODUCT để xử lý mảng là kết quả của tiêu chí được áp dụng cho một dải ô. Kết quả của các hoạt động như vậy sẽ là các mảng mà SUMPRODUCT có thể xử lý nguyên bản mà không yêu cầu cú pháp Control Shift Enter.

Trong trường hợp này, chúng tôi chỉ cần so sánh các giá trị trong cột C với các giá trị trong cột D bằng cách sử dụng biểu thức logic:

C5:C10>D5:D10

Vì chúng ta đang xử lý các phạm vi (mảng), kết quả là một mảng các giá trị TRUE FALSE như sau:

{FALSE; TRUE; FALSE; TRUE; FALSE; FALSE}

Để ép buộc chúng thành những cái và số không, chúng tôi sử dụng toán tử phủ định kép (còn được gọi là một ngôi sao kép):

--(C5:C10>D5:D10)

Cái nào tạo ra và tạo mảng như thế này:

{0; 1; 0; 1; 0; 0}

sau đó được xử lý bởi SUMPRODUCT. Vì chỉ có một mảng, SUMPRODUCT chỉ cần cộng các phần tử trong mảng và trả về tổng số.

https://exceljet.net/formula/count-if-row-meets-internal-criteria