打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
比VLOOKUP函数好用十倍的自定义函数

同学们好啊,VLOOKUP函数是表亲们的大众情人,查找数据的时候经常会用到。

但是这个函数也有两处明显的缺陷:

一是不能从右向左查询,

二是不能返回多个结果。


这两个问题想必困扰了表哥表妹好多年啊。今天就和大家分享一个自定义函数——LOOK,先来看看使用方法:

G2 单元格公式为:

=LOOK($F$2,C:C,2,ROW(A1))

这个自定义函数的参数和VLOOKUP函数类似:

第一参数是要查询的内容,

第二参数是包含查询值的数据列,

第三参数是要返回第几列的内容,

第四参数使用ROW(A1)生成一个连续的序号。


向下复制公式,即可实现一对多查询。


如果要从右向左查询,只要修改一下第三参数,使其变成负数即可:


看到这里,是不是有点眼红了?


接下来看看如何使用这个自定义函数:

步骤1    右键单击工作表标签→查看代码



步骤2    在VBE窗口中依次单击【插入】→【模块】,然后在右侧的模块代码窗口中输入自定义代码:

以下代码可复制:

Function LOOK(查找值 As String, 区域 As Range, Optional 列 As Integer = 2, Optional 索引号 As Integer = 1) As String

    Application.Volatile

    Dim i As Long, cell As Range, Str As String

    With 区域(1).Resize(区域.Rows.Count, 1)

    If .Cells(1) = 查找值 Then Set cell = .Cells(1) Else Set cell = .Find(查找值, LookIn:=xlValues)

     If Not cell Is Nothing Then

        Str = cell.Address

        Do

            i = i + 1

            If i = 索引号 Then LOOK = cell.Offset(0, 列 - 1): Exit Function

            Set cell = 区域.Find(查找值, cell)

        Loop While Not cell Is Nothing And cell.Address <> Str

    End If

End With

End Function


步骤3 按F12键,将文件保存为.xlam格式。

以后可以先打开这个加载宏文件,然后再打开需要处理的文档,就可以使用自定义函数了。


代码作者 ExcelHome技术论坛版主 罗刚君

图文整理:祝洪忠

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一个例子入门VBA自定义Excel函数(多值查找)
Excel-VBA自定义函数扩展VLOOKUP函数返回指定的结果
58如何让函数查询数据时把数字格式也带过来?
17 函数
VBA
PQ-M及函数:结合前期案例,学习自定义函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服