万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

2019-10-09 18:51:06 16点赞 134收藏 8评论

一、为什么我们要用wlookup

VLOOKUP这个数据查找函数真的是职场必学函数!!!

最近微软发布了Office365发布了一个新的函数,名字叫做Xlookup,用来替代Vlookup和Hlookup。

Xlookup解决了6个vlookup做不到的事情:

  • 默认为近似匹配,但是实际使用中大部分是要绝对匹配的

  • 原始表中插入或者删除,你的结果就会改变

  • 不能向左查找,因为vlookup规定:查找的数据必须在目标数据的第一列

  • 当然也就不能从后面往前面查询

  • 在近似匹配中,需要排好序才可以查到区间

  • 当然,还有就是用了大量的数据,大多数情况实际我们只需要两列。

但是,不要张口闭口就说拜拜,我相信大家打开你的软件,根本就没有这个Xlookup的函数,不信你试试。

万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

所以,今天给大家介绍下自定义函数wlookup万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!?

二、使用方法

总的来说二个步骤,创建,然后保存。

1、打开一个工作薄,按alt+F11,或者任一工作表标签右键 - 查看代码,我们就打开了VB的编辑窗口。

万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

然后我们中点“插入”-“模块”,把我们的代码复制到右边空白的地方。就可以关闭了。

万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

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。

万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

三、功能介绍演示

简单的说一下,该自定义函数有4个参数

=Wlookup(查找值,查找值的范围,返回值的返回,查找的模式)

前面几个都比较好理解,查找模式类似vlookup的0,1。这里有4个值。

  • -2:区间查找(功能和vlookup的近似匹配差不多)

  • -1:一对多的查找(多结果的查找方式)

  • 0:查找最后一个(满足条件的最后一个值)

  • N:查找第N个符合要求的值(满足条件的第N个值)

先看和vlookup一样的功能。
为了体现他们的区别,我们来对比下。


万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

我们在数据中间插入一列,看看结果。

万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

在我们插入了一列之后,vlookup公式的值就变了,而wlookup依然不变万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!?

从右向左找

这是vlookup不能实现的功能。编号在姓名的左侧,用vlookup是不能查到的对吧。

万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!

好了,今天的教程就到这里了。下一篇讲

  • 按行查找(有时候我们的表并不是左边查找右边的数据,也有上下查找)

  • 多条件的查找(AND条件)

  • 查找第N个值

  • 查最后一个值

  • 一个条件对多个结果的查找

  • 区间查找(功能和vlookup的近似匹配差不多)

    大概就这些了,大家先掌握今天的内容万能的Wlookup自定义函数来了!Xlookup、Vlookup请走开!?

展开 收起

Office 365 家庭版

Office 365 家庭版

248元起

《1Password》 ios密码管理软件

《1Password》 ios密码管理软件

暂无报价

《vegas pro 14 edit》视频编辑软件

《vegas pro 14 edit》视频编辑软件

132元起

《Agenda》Mac数字版软件

《Agenda》Mac数字版软件

暂无报价

《Money Pro》 记账理财软件

《Money Pro》 记账理财软件

6元起

用友软件 好会计财务软件专业版追加会计角色1用户/年 畅捷通用友T3网页版 记账宝易代账云会计ERP软件

用友软件 好会计财务软件专业版追加会计角色1用户/年 畅捷通用友T3网页版 记账宝易代账云会计ERP软件

301元起

ps cc2019 零基础自学 视频教程

ps cc2019 零基础自学 视频教程

5元起

用友软件 好会计财务软件普及版追加1账套/年 畅捷通用友T3网页版 记账宝易代账云会计ERP软件

用友软件 好会计财务软件普及版追加1账套/年 畅捷通用友T3网页版 记账宝易代账云会计ERP软件

25元起

《Lossless Photo Squeeze(无损图片瘦身)》

《Lossless Photo Squeeze(无损图片瘦身)》

暂无报价

用友财务软件 好会计云财务软件 畅捷通T3在线版会计记账软件 专业版30天试用激活送E卡

用友财务软件 好会计云财务软件 畅捷通T3在线版会计记账软件 专业版30天试用激活送E卡

499元起

用友财务软件 好会计云财务软件 畅捷通T3在线版会计记账软件 专业版30天试用激活送E卡

用友财务软件 好会计云财务软件 畅捷通T3在线版会计记账软件 专业版30天试用激活送E卡

898元起

用友财务软件 好会计云财务软件 畅捷通T3在线版会计记账软件 专业版30天试用激活送E卡

用友财务软件 好会计云财务软件 畅捷通T3在线版会计记账软件 专业版30天试用激活送E卡

1999元起
8评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
134
扫一下,分享更方便,购买更轻松