Có cách nào để có được giá trị tối đa của một phạm vi giá trị bằng các hàm Excel tiêu chuẩn không?
Thêm thông tin
- Tôi muốn tìm giá trị tối đa trong một phạm vi ô. A1:
=max(A2:A10)
- Tuy nhiên, tôi không muốn tìm giá trị tối đa trong các ô mà thay vào đó là một tập hợp các giá trị có được bằng cách thực hiện vlookup trên các ô đó. I E. B2:
=vlookup(A2,MyLookupName,2,false)
(sao chép công thức B2 xuống B10). A1:=max(B2:B10)
. - Thay vì phải thực hiện việc này trong 2 bước (nghĩa là thực hiện vlookup trong cột B, sau đó thực hiện tối đa trên đó trong ô A1), tôi muốn có một công thức duy nhất áp dụng cả hai bước trong một, trong cùng một ô. I E. A1:
{=max(vlookup(A2:A10,MyLookupName,2,false))}
Tuy nhiên, công thức cuối cùng này không hoạt động, vì hàm VLOOKUP chỉ chấp nhận một ô duy nhất cho Lookup_Value
tham số; nếu một phạm vi được thông qua, nó sẽ lấy ô trên cùng bên trái từ phạm vi đó.
Giải pháp VBA
Để minh họa rõ hơn về chức năng mà tôi đang theo đuổi, tôi đã mã hóa một hàm bảng tính VBA sẽ thực hiện những gì tôi đang theo đuổi; tuy nhiên tôi đang cố gắng tránh các macro tùy chỉnh.
Public Function MaxVLookup(ByRef Lookup_Array As Range, ByRef Table_Array As Range, Col_Index_Num As Long) As Variant
Dim v As Variant, temp As Variant, max As Variant
max = Null
For Each v In Lookup_Array
temp = WorksheetFunction.VLookup(v, Table_Array, Col_Index_Num, False)
If IsNull(max) Then
max = temp
Else
If max < temp Then
max = temp
End If
End If
Next
MaxVLookup = max
End Function