Standart Excel işlevlerini kullanarak maksimum değer aralığını elde etmenin bir yolu var mı?
Daha fazla bilgi
- Bir hücre aralığında maksimum değeri bulmak istiyorum. A1:
=max(A2:A10)
- Ancak, hücrelerin içindeki değerin maksimum değerini bulmak istemiyorum, ancak bu hücrelere bir bakış yaparak elde edilen ilişkili bir değer kümesini bulmak istiyorum. diğer bir deyişle B2:
=vlookup(A2,MyLookupName,2,false)
(B2 formülünü B10'a kopyalayın). A1:=max(B2:B10)
. - Bunu 2 adımda yapmak zorunda kalmak yerine (yani, B sütununda vizyonu yapmak, sonra A1 hücresindeki maksimumu yapmak) Aynı hücrede her iki basamağı da uygulayan tek bir formülü tercih ederim. diğer bir deyişle A1:
{=max(vlookup(A2:A10,MyLookupName,2,false))}
Bununla birlikte, bu son formül işe yaramaz, çünkü VLOOKUP işlevi yalnızca Lookup_Value
parametre; eğer bir aralık geçerse, sol üstteki hücreyi o aralıktan alır.
VBA Çözümü
Peşinde olduğum işlevselliği daha iyi göstermek için, peşinde olduğum şeyi yapacak olan bir VBA çalışma sayfası işlevini kodladım; ancak özel makrolardan kaçınmaya çalışıyorum.
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