打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel中返回指定第几个重复值的自定义函数WLOOKUP
 

     在这个世界上,只有你想不到的,没有做不到的。 高手永远都是高手啊。
    大家都知道Excel自带的VLOOKUP函数如果存在多个符合条件的结果时,只能返回符合条件的第一个结果,如果想知道第二个、第三个甚至是后面的就无能为力了。下面的自定义函数的作用和VLOOKUP一样,唯一不同的是,这个函数可以通过第三个参数来指定返回第几个符合条件的结果。值得珍藏的代码。(JT_man注:收录时已修改部分代码)

Function WLOOKUP(X As Variant, M As Range, A As Byte, B As Integer)

    'X
要查找的内容,可为单元格型、字符型、数值型、逻辑型等等。
    'M
要进行数据查询的单列区域,与VLOOKUP函数的参数有区别。
    'A
返回第几个符合条件的结果。如果重复值超过255个,
    视具体情况把第1行代码中的 A As Byte 改为 A As Integer 或 A As Long
    'B
返回结果的列索引,可以是0或负数。
    ' 用于数据查询的单列区域M所在列的值为1,表示第1列,
    ' 右侧第1列为2,右侧第2列为3 。。。。。。
    ' 左侧第1列为0,左侧第2列为-1,左侧第3列为-2 。。。。。。以此类推

    Dim I As Integer, MR As Range, y 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 = A Then
               WLOOKUP = MR.Offset(0, B - 1).Value
               Exit Function
           End If
        End If
     Next MR
     WLOOKUP = ""

End
 Function

使用方法示例:

要求:根据下述成绩表,得到所有姓名为“张3”的外语成绩。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
再分享一个自定义函数,wlookup函数,不用不知道,一用吓一跳!
Excel技巧:VLOOKUP函数不想数第几列的替代方法!
微软办公软件国际认证(Excel)课程大纲
比VLOOKUP更强大的查找函数
【EXCEL】谈笑间搞定hlookup函数和vlookup函数
VBA基础(五):自定义函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服