Mark hy vọng sẽ tìm được giá trị khác 0 nhỏ nhất trong một tập hợp các giá trị.

Ví dụ, nếu anh ta có các giá trị 0,0,3.0,6,8, anh ta sẽ muốn giá trị 3 (giá trị khác 0 nhỏ nhất) được trả về bởi một công thức. Mark biết rằng anh ta có thể sử dụng hàm SMALL với đối số thứ hai được tính bằng cách sử dụng COUNTIF để đếm số lượng các số 0 trong phạm vi. Tuy nhiên, anh ấy muốn sử dụng điều này bên trong công thức mảng và Excel không thể xử lý COUNTIF bên trong công thức mảng.

Vì Mark chỉ quan tâm đến công thức mảng (được nhập bằng cách nhấn Ctrl + Shift + Enter), nên có một vài công thức có thể được sử dụng. Công thức mảng sau đáng xem đầu tiên:

=MIN(IF(A1:A5=0,MAX(A1:A5),A1:A5))

Giả sử các giá trị được kiểm tra nằm trong A1: A5, công thức này tập hợp một mảng các giá trị khác 0 từ phạm vi đó. Nếu giá trị trong một trong các ô là 0, thì hàm MAX sẽ hoạt động, trả về giá trị lớn nhất từ ​​phạm vi. (Về cơ bản, điều này sẽ khởi động giá trị tại ô đó — ban đầu là 0 — không được coi là giá trị nhỏ nhất.) Nếu giá trị ở một trong các ô không phải là 0, thì giá trị thực được trả về.

Sau đó, hàm MIN trả về giá trị thấp nhất từ ​​mảng.

Bạn có thể làm cho công thức ngắn hơn nữa bằng cách xoay nó theo cách sau:

=MIN(IF(A1:A5<>0,A1:A5))

Lưu ý rằng trong phiên bản này, giá trị trong mỗi ô của dải ô được kiểm tra xem nó có phải là 0. Nếu không, thì giá trị được trả về.

Nếu nó là 0, thì không có gì được trả về. Một lần nữa, hàm MIN được sử dụng để trả về giá trị thấp nhất từ ​​mảng.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3260) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: