那怎么办?作为Excel精英平台的粉丝,兰色不会让你失望的。这不,兰色编写了一个比Xlookup更强大的查找函数,它就是 Mlookup的升级版: Wlookup函数 一、用法介绍 = Wlookup(查找内容,查找值范围,返回值范围,查找模式) 语法说明: 查找内容:查找的值 查找值范围:在该区域/数组中查找 返回值范围:根据在第2个参数中查找结果,返回该数组中对应位置的值 查找模式: -2 是区间查找 -1 是一对多查找 0 查找最后一个 N 查找第N个符合条件的值 二、功能演示 1、查找第1个符合条件的值 =Wlookup(A11,A2:A7,C2:C7) 2、从右向左查找 =Wlookup(A11,B2:B7,A2:A7) 3、按行上下查找 =Wlookup(B5,A1:D1,A2:D2) 4、多条件查找 =Wlookup(A11&B11,A2:A7&B2:B7,D2:D7) 注:多条件查找只需要用&连接即可。 5、查找第N个符合条件的值 =Wlookup(A11,B2:B7,C2:C7, N) 如查找第2个 =Wlookup(A11,B2:B7,C2:C7,2) 注:最后一个参数是正整数时,查找返回对应第N个符合条件的值。如果是多列查找第N个,也只需用&连接即可,同4。 6、查找最后一个 =Wlookup(A11,B2:B7,C2:C7,0) 注:第4个参数为0时,查找最后一个 7、一对多查找 Wlookup可以同时返回所有符合条件的结果,并用逗号连接。 =Wlookup(A11,B2:B7,C2:C7,-1) 注:第4个参数为-1时,为一对多查找 8、区间查找 =Wlookup(A11,A2:A7,B2:B7,-2) 注:当第4个参数为-2时,可以实现区间匹配查找。 9、扩展应用:筛选功能 =IFERROR(Wlookup($A$11,$B$2:$B$7,A$2:A$7,ROW(A1)),"") 注:因为Wlookup可以返回第N个值,所以这里用row函数就可以逐个返回所有值。 筛选演示: 三、使用方法 Wlookup要想在你的表格中也能使用,需要按下面的步骤操作。 1、按alt+F11(或任一工作表标签右键 -查看代码)会打开VBE窗口,在窗口中点插入 - 模块。把下面的代码复制粘贴到右侧的空白区域中。 代码(本文最后附下载地址) Function Wlookup(V, vY, vh, Optional m) Dim arr, arr1, arr2() Dim k As Integer arr = vY arr1 = vh If UBound(arr1) = 1 Then arr1 = Application.Transpose(arr1) arr = Application.Transpose(arr) End If ReDim arr2(1 To 1) For x = 1 To UBound(arr1) If arr(x, 1) = V Then Wlookup = arr1(x, 1) If IsMissing(m) Then Exit Function Else k = k + 1 ReDim Preserve arr2(1 To k) arr2(k) = arr1(x, 1) End If End If Next x If m = 0 Then Wlookup = arr2(k) ElseIf m = -1 Then Wlookup = Join(arr2, ",") ElseIf m = -2 Then Wlookup = JS(V, vY, vh) Else Wlookup = arr2(m) End If End Function Function JS(J1, R1, R2) "取接近值 Dim Jarr1, Jarr2 Dim x Jarr1 = R1 Jarr2 = R2 For x = 1 To UBound(Jarr1) If x + 1 > UBound(Jarr1) Then JS = Jarr2(x, 1) Exit Function ElseIf J1 >= Jarr1(x, 1) And J1 < Jarr1(x + 1, 1) Then JS = Jarr2(x, 1) Exit Function End If Next x End Function 2、当前文件另存为"启用宏的工作簿"格式 以后这个工作簿中就可以正常使用Wlookup函数了 本文示例附件下载地址:(百度网盘,复制到电脑浏览器地址栏中回车打开) 链接:https://pan.baidu.com/s/1wsbtd2LGoDTUA5j9mOE9cg 提取码: quju 注:下载打开后如遇到安全提示,点启用即可,无风险。 兰色说:3年前兰色编写了Mlookup函数,今天兰色综合Mlookup和Xlookup的优点,升级成了Wlookup函数,可以说功能上比前2个函数都要强大。另外由于刚编写完,可能会有不完善的地方,如果发现可以告诉兰色及时修正。