专业的编程技术博客社区

网站首页 > 博客文章 正文

Xlookup、Vlookup请走开,Wlookup函数来了

baijin 2024-11-08 10:21:01 博客文章 4 ℃ 0 评论

Wlookup函数来了!财务人一定要学习,对于提升工作效率帮助很大,下面为大家编写了一个比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函数了

综合Mlookup和Xlookup的优点,升级成了Wlookup函数,可以说功能上比前2个函数都要强大。

以上就是本文分享的全部内容,更多财务知识,关注微信公众号:yokeed66。学习财会知识,了解财会行业,做到学以致用。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表