
Công thức chung
=MIN(UNIQUE(range,0,1))
Tóm lược
Để tìm giá trị duy nhất nhỏ nhất trong một tập dữ liệu, bạn có thể sử dụng hàm UNIQUE cùng với hàm MIN. Trong ví dụ dưới đây, công thức trong E5 là:
=MIN(UNIQUE(data,0,1))
trong đó "dữ liệu" là phạm vi được đặt tên B5: B14.
Trong các phiên bản Excel cũ hơn, bạn có thể sử dụng công thức mảng dựa trên các hàm MIN, IF và COUNTIF như được giải thích bên dưới.
Giải trình
Mục tiêu trong ví dụ này là trả về giá trị nhỏ nhất là duy nhất, tức là giá trị nhỏ nhất chỉ xuất hiện một lần trong dữ liệu.
Hàm UNIQUE, mới trong Excel 365, sẽ trả về một danh sách giá trị duy nhất từ một tập dữ liệu. Theo mặc định, đây là danh sách bất kỳ giá trị nào xuất hiện một hoặc nhiều lần trong dữ liệu.
UNIQUE có đối số thứ ba tùy chọn được gọi là "precision_once" sẽ giới hạn kết quả ở các giá trị chỉ xuất hiện một lần trong dữ liệu nguồn. Để bật tính năng này, đối số cần được đặt thành TRUE hoặc 1.
Làm việc từ trong ra ngoài, hàm UNIQUE được cấu hình như sau:
UNIQUE(data,0,1)
Đối với mảng, chúng tôi cung cấp dữ liệu phạm vi được đặt tên . Đối với đối số by_col, chúng tôi sử dụng số không (0), vì chúng tôi muốn các giá trị duy nhất theo hàng, không phải cột. Cuối cùng, đối với precision_once, chúng tôi cung cấp 1, vì chúng tôi chỉ muốn các giá trị xuất hiện một lần trong dữ liệu nguồn.
Được định cấu hình theo cách này, UNIQUE trả về 4 giá trị chỉ xuất hiện một lần:
(700;600;500;300) // result from unique
Mảng này được trả về trực tiếp cho hàm MIN, trả về giá trị nhỏ nhất, 300, là kết quả cuối cùng:
=MIN((700;600;500;300)) // returns 300
Công thức mảng với COUNTIF
Nếu bạn đang sử dụng phiên bản Excel không có hàm UNIQUE, bạn có thể tìm giá trị duy nhất nhỏ nhất bằng công thức mảng dựa trên các hàm COUNTIF, MIN và IF.
(=MIN(IF(COUNTIF(data,data)=1,data)))
Đây là công thức mảng và phải được nhập bằng control + shift + enter, ngoại trừ trong Excel 365.
Làm việc từ trong ra ngoài, hàm COUNTIF được sử dụng để tạo số lượng từng giá trị trong dữ liệu như sau:
COUNTIF(data,data) // count all values
Bởi vì có 10 giá trị trong dữ liệu dải ô đã đặt tên , COUNTIF trả về một mảng gồm 10 kết quả:
(2;1;1;2;1;2;2;2;1;2)
Mảng này chứa số lượng của mỗi giá trị. Tiếp theo, chúng tôi kiểm tra mảng cho các giá trị bằng 1:
(2;1;1;2;1;2;2;2;1;2)=1
Một lần nữa, chúng tôi nhận được một mảng với 10 kết quả:
(FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE)
Mỗi giá trị TRUE tương ứng với một giá trị trong dữ liệu nguồn chỉ xuất hiện một lần. Mảng này được phân phối trực tiếp đến hàm IF, sử dụng nó như một bộ lọc. Chỉ các giá trị trong dữ liệu được liên kết với TRUE mới đưa nó vào mảng được trả về bởi IF, tất cả các giá trị khác đều FALSE.
(FALSE;700;600;FALSE;500;FALSE;FALSE;FALSE;300;FALSE)
Mảng này được trả về trực tiếp cho hàm MIN sẽ tự động bỏ qua các giá trị lôgic và trả về giá trị nhỏ nhất còn lại, 300, là kết quả cuối cùng.