Có thể có những lúc bạn cần lấy giá trị nhỏ nhất (hoặc lớn nhất)

giá trị từ một phạm vi, trừ khi giá trị nhỏ nhất (hoặc lớn nhất) bằng 0. Ví dụ: bạn có thể có một loạt các giá trị như \ {0, 3, 1, 4, 2}. Trong trường hợp này, giá trị thấp nhất là 0, nhưng giá trị bạn thực sự muốn trả về là 1.

Không có hàm nội tại nào trong Excel để trả về một giá trị như quy định ở đây. Tuy nhiên, bạn có thể tạo một công thức để thực hiện thủ thuật. Giả sử rằng phạm vi giá trị bạn muốn phân tích nằm trong C4: C8, công thức sau sẽ trả về giá trị khác 0 thấp nhất:

=IF(MIN(C4:C8)=0,SMALL(C4:C8,COUNTIF(C4:C8,"=0")+1),MIN(C4:C8))

Công thức này sử dụng hàm MIN để xác định xem giá trị thấp nhất trong phạm vi có bằng 0 hay không. Nếu đúng như vậy, thì hàm SMALL được sử dụng để lấy giá trị thấp nhất, loại trừ các số không. (Hàm COUNTIF trả về số lượng các số không trong phạm vi và do đó cho SMALL biết mục nào từ phạm vi cần chọn.)

Một thay đổi nhỏ đối với công thức cho phép nó được sử dụng để trả về số khác 0 lớn nhất trong một dải:

=IF(MAX(C4:C8)=0,LARGE(C4:C8,COUNTIF(C4:C8,"=0")+1),MAX(C4:C8))

Các công thức này sẽ hoạt động cho bất kỳ phạm vi nào, trừ khi phạm vi được tạo thành hoàn toàn từ các số không. Trong trường hợp đó, lỗi #NUM! lỗi được trả lại.

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

Mẹo này (2332) á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: