Công thức Excel: Đếm các giá trị số duy nhất trong một phạm vi
Công thức Excel: Đếm các giá trị số duy nhất trong một phạm vi

Công thức chung
=SUM(--(FREQUENCY(data,data)>0))
Tóm lược

Để đếm các giá trị số duy nhất trong một phạm vi, bạn có thể sử dụng công thức dựa trên TẦN SỐTỔNG chức năng. Trong ví dụ được hiển thị, số nhân viên xuất hiện trong phạm vi B5: B14. Công thức trong F5 là:

=SUM(--(FREQUENCY(B5:B14,B5:B14)>0))

trả về 4, vì có 4 id nhân viên duy nhất trong danh sách.

Giải trình

Lưu ý: Trước Excel 365, Excel không có chức năng chuyên dụng để đếm các giá trị duy nhất. Công thức này hiển thị một cách để đếm các giá trị duy nhất, miễn là chúng là số. Nếu bạn có các giá trị văn bản hoặc kết hợp giữa văn bản và số, bạn sẽ cần sử dụng công thức phức tạp hơn.

Hàm FREQUENCY trong Excel trả về phân phối tần số, là bảng tóm tắt hiển thị tần suất của các giá trị số, được tổ chức trong “thùng”. Chúng tôi sử dụng nó ở đây như một cách quay vòng để đếm các giá trị số duy nhất.

Làm việc từ trong ra ngoài, chúng tôi cung cấp cùng một bộ số cho cả mảng dữ liệu và mảng thùng thành FREQUENCY:

FREQUENCY(B5:B14,B5:B14)

FREQUENCY trả về một mảng với số lượng từng giá trị số trong phạm vi:

{4;0;0;0;2;0;1;3;0;0;0}

Kết quả hơi khó hiểu, nhưng ý nghĩa là 905 xuất hiện bốn lần, 773 xuất hiện hai lần, 801 xuất hiện một lần và 963 xuất hiện ba lần.

FREQUENCY có một tính năng đặc biệt tự động trả về 0 cho bất kỳ số nào đã xuất hiện trong mảng dữ liệu, đó là lý do tại sao các giá trị bằng 0 khi gặp một số.  

Tiếp theo, mỗi giá trị này được kiểm tra để lớn hơn 0:

{4;0;0;0;2;0;1;3;0;0;0}>0

Kết quả là một mảng như thế này:

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

Mỗi TRUE đại diện cho một số duy nhất trong danh sách. SUM bỏ qua các giá trị logic theo mặc định, vì vậy chúng tôi ép buộc các giá trị TRUE và FALSE thành 1s và 0s với Âm kép (-), mang lại:

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

Cuối cùng, SUM cộng các giá trị này lên và trả về tổng, trong trường hợp này là 4.

Lưu ý: bạn cũng có thể sử dụng SUMPRODUCT để tính tổng các mục trong mảng.

Sử dụng COUNTIF thay vì FREQUENCY để đếm các giá trị duy nhất

Một cách khác để đếm các giá trị số duy nhất là sử dụng COUNTIF thay vì FREQUENCY. Đây là một công thức đơn giản hơn, nhưng hãy lưu ý rằng việc sử dụng COUNTIF trên các tập dữ liệu lớn hơn để đếm các giá trị duy nhất có thể gây ra các vấn đề về hiệu suất. Công thức FREQUENCY, mặc dù phức tạp hơn nhưng tính toán nhanh hơn nhiều.

https://exceljet.net/formula/count-unique-numeric-values-in-a-range