网站首页 > 博客文章 正文
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。学习财会知识,了解财会行业,做到学以致用。
- 上一篇: 没用 Java 8,怎么优雅地避免空指针?
- 下一篇: 独家 | 花8小时学习Parquet的发现
猜你喜欢
- 2024-11-08 Java 设计模式 Monads 的美丽世界
- 2024-11-08 没用 Java 8,怎么优雅地避免空指针?
- 2024-11-08 VBA|正确使用过程和自定义函数(vba 定义)
- 2024-11-08 软路由的用法(自动追剧配置)(软路由 玩法)
- 2024-11-08 Java中一致的Null值处理(java值为,到xml报错)
- 2024-11-08 了解JavaScript新特性:Optional Chaining
- 2024-11-08 java8中你可能不知道的一些地方(有关java的问题)
- 2024-11-08 Java8 Lambda使用总结(java的lambda)
- 2024-11-08 1万字详解 python logging日志模块
- 2024-11-08 看完就会用的C++17特性总结(c++ 14新特性总结)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)