篇一:万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!
追加修改(2019-10-18 14:13:21):
If arr(x, 1) =V Then
这里V Then 中间有个空格,发出来不知道怎么没有了
第二篇链接:
一、为什么我们要用wlookup
VLOOKUP这个数据查找函数真的是职场必学函数!!!
最近微软发布了Office365发布了一个新的函数,名字叫做Xlookup,用来替代Vlookup和Hlookup。
Xlookup解决了6个vlookup做不到的事情:
默认为近似匹配,但是实际使用中大部分是要绝对匹配的
原始表中插入或者删除,你的结果就会改变
不能向左查找,因为vlookup规定:查找的数据必须在目标数据的第一列
当然也就不能从后面往前面查询
在近似匹配中,需要排好序才可以查到区间
当然,还有就是用了大量的数据,大多数情况实际我们只需要两列。
但是,不要张口闭口就说拜拜,我相信大家打开你的软件,根本就没有这个Xlookup的函数,不信你试试。
所以,今天给大家介绍下自定义函数wlookup
二、使用方法
总的来说二个步骤,创建,然后保存。
1、打开一个工作薄,按alt+F11,或者任一工作表标签右键 - 查看代码,我们就打开了VB的编辑窗口。
然后我们中点“插入”-“模块”,把我们的代码复制到右边空白的地方。就可以关闭了。
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) =VThen
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、文件另存为带宏的格式xlsm。
三、功能介绍演示
简单的说一下,该自定义函数有4个参数
=Wlookup(查找值,查找值的范围,返回值的返回,查找的模式)
前面几个都比较好理解,查找模式类似vlookup的0,1。这里有4个值。
-2:区间查找(功能和vlookup的近似匹配差不多)
-1:一对多的查找(多结果的查找方式)
0:查找最后一个(满足条件的最后一个值)
N:查找第N个符合要求的值(满足条件的第N个值)
先看和vlookup一样的功能。
为了体现他们的区别,我们来对比下。
我们在数据中间插入一列,看看结果。
在我们插入了一列之后,vlookup公式的值就变了,而wlookup依然不变
从右向左找
这是vlookup不能实现的功能。编号在姓名的左侧,用vlookup是不能查到的对吧。
好了,今天的教程就到这里了。下一篇讲
按行查找(有时候我们的表并不是左边查找右边的数据,也有上下查找)
多条件的查找(AND条件)
查找第N个值
查最后一个值
一个条件对多个结果的查找
区间查找(功能和vlookup的近似匹配差不多)
大概就这些了,大家先掌握今天的内容









shuai锅zhi
校验提示文案
drewitch
校验提示文案
神价随我意
校验提示文案
未名丶小猫
校验提示文案
神价随我意
校验提示文案
值友4459770067
校验提示文案
axiiiiii
校验提示文案
不爷
校验提示文案
iswg95
校验提示文案
小梦洁
校验提示文案
funzhe
校验提示文案
yuan858916
校验提示文案
值友5117984613
校验提示文案
Volador19
校验提示文案
asct
校验提示文案
求求你别骚了
校验提示文案
Eleven哥
校验提示文案
若然叔叔
校验提示文案
软硬天师_
校验提示文案
软硬天师_
校验提示文案
axiiiiii
校验提示文案
若然叔叔
校验提示文案
值友4459770067
校验提示文案
Eleven哥
校验提示文案
求求你别骚了
校验提示文案
asct
校验提示文案
Volador19
校验提示文案
值友5117984613
校验提示文案
iswg95
校验提示文案
神价随我意
校验提示文案
神价随我意
校验提示文案
yuan858916
校验提示文案
未名丶小猫
校验提示文案
drewitch
校验提示文案
shuai锅zhi
校验提示文案
funzhe
校验提示文案
小梦洁
校验提示文案
不爷
校验提示文案