同学们好啊,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技术论坛版主 罗刚君
图文整理:祝洪忠
点击【阅读原文】,可下载Excel加载宏文档
长按下面二维码图片,点”识别图中二维码“然后再点关注,每天都会收到最新Excel教程。