Một lúc nào đó bạn có thể có nhu cầu tìm những con số thấp nhất trong danh sách các giá trị. Điều này tương đối dễ thực hiện nếu bạn sử dụng hàm trang tính NHỎ. Hàm nhận hai tham số: phạm vi giá trị được đánh giá và chỉ báo về số nhỏ nhất bạn muốn. Ví dụ: phần sau sẽ trả về số thấp thứ hai trong phạm vi A1: A100:

=SMALL(A1:A100,2)

Nếu bạn muốn biết hai số thấp nhất trong phạm vi, hãy sử dụng hai công thức có chứa hàm SMALL — một với 1 làm tham số thứ hai (cho số thấp nhất) và một với 2 làm tham số thứ hai (cho số thấp thứ hai) .

Tất nhiên, có những tình huống, trong đó hai số nhỏ nhất trong phạm vi thực sự có thể là cùng một số. Ví dụ: nếu số thấp nhất là 3 và có số 3 thứ hai trong danh sách, thì cả hai số thấp nhất sẽ giống nhau. Nếu bạn muốn hai số duy nhất thấp nhất thì bạn sẽ cần sử dụng macro để xác định chúng.

Function SMALLn(rng As Range, n)

Application.Volatile     SMALLn = False     If n < 1 Then Exit Function     Dim i As Long, j As Long, k As Long, min, arr, arr2     arr = Application.Transpose(rng)

ReDim arr2(n - 1)

min = Application.WorksheetFunction.Min(arr)

j = UBound(arr)

k = 0     arr2(k) = min     For i = 1 To j         If Application.Small(arr, i) <> arr2(k) Then             k = k + 1             arr2(k) = Application.Small(arr, i)

If k = n - 1 Then                 SMALLn = arr2(k)

Exit For             End If         End If     Next i End Function

Hàm do người dùng định nghĩa này được sử dụng theo cách sau:

=SMALLn(A1:A100,2)

Khi được gọi như vậy, hàm trả về giá trị duy nhất thấp thứ hai trong phạm vi được chỉ định.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

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

Mẹo này (3420) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy 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: