同学们好啊,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技术论坛版主 罗刚君 图文整理:祝洪忠 |
|
来自: 老三sp36kqpkpm > 《待分类》