我正在编写一个VBA函数,它将在表中的列(例如C列)中搜索值。此列可以有重复项。因此,我的搜索需要获取与值(包括重复项)匹配的所有记录,并且从这些记录中我只需要在同一工作表中的另一列中具有最大值的记录中返回一个值(比如列G)。
例如:
sno dept name marks
1 cs sush 55
2 ece ram 68
3 cs harish 77
所以如果我给“cs”值进行搜索,它必须给我77作为输出。我试着编写自己的Lookup函数但是没有工作并获得#value。
答案 0 :(得分:0)
Function search(criteria As String)
Dim rng As Range
Set rng = Range("A1").CurrentRegion
Range("Z1").CurrentRegion.Clear
If Not rng Is Nothing Then
rng.AdvancedFilter xlFilterCopy, "", Range("Z1"), True
Range("AC1").Sort Key1:=Range("AA1"), Key2:=Range("AC1"), Header:=xlYes, Order2:=xlDescending
End If
search = Application.VLookup(criteria, Range("AA:AC"), 3, 0)
End Function