Wlookup函数(搜索多重值时,返回指定)
大家都知道Excel自带的VLOOKUP函数如果存在多个符合条件的结果时,只能返回符合条件的第一个结果,如果想知道第二个、第三个甚至是后面的就无能为力了。下面的自定义函数的作用和VLOOKUP一样,唯一不同的是,这个函数可以通过第三个参数来指定返回第一个符合条件的结果。值得珍藏的代码。
----------------------------------------------------------------
'X 要查的内容
'M 数据查询的区域
'A 返回第几个符合条件的结果
'B 返回结果的列索引
'比如:表格是一个成绩表,A列姓名,第一行为科目,表中存在同名的人。在A1F10中查第三个名叫李四的英语成绩(第lookup函数查不正确4列),公式如下:WLOOKUP(A1:F10, "李四",3, 4)
代码:
Function WLOOKUP(X As Range, M As Variant, A As Byte, B As Byte)
Dim I As Integer
I = Application.WorksheetFunction.CountIf(M, X)
Set M = Intersect(M.Parent.UsedRange, M)
For Each MR In M
  If MR.Value = X Then
      Y = Y + 1
    If Y > I Then Exit Function
      If Y = A Then
      WLOOKUP = MR.Offset(0, B-1).Value
      End If
    End If
Next MR
End Function

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。