VBA自定义NVLOOKUP函数一对多查找

2025-10-01 03:15:53

1、打开Excel表格,鼠标右击工作表名称——查看代码

VBA自定义NVLOOKUP函数一对多查找

2、鼠标右键——插入——模块

VBA自定义NVLOOKUP函数一对多查找

3、双击模块,把以下代码粘贴到代码框中

Function nvlookup(zhi As String, rng As Range, col As Integer, val As Integer)

    '----自定义函数表达式:nvlookup(查找对象,查找范围,列号,精确查找)。精确查找的值填写0或者其他任意数字即可

        Dim i As Long

        arr = rng.Value  '设定数组arr为所选查找范围的值

        For i = 1 To UBound(arr)   '循环行

                If arr(i, 1) = zhi Then  '判断范围内的第一列是否等于查找值

                        n = n + 1       '用于下方使用

                        If n = 1 Then   '判断第一个出现

                            mytxt = arr(i, col)   '符合第一次出现时显示的结果形式

                        Else

                            mytxt = mytxt & ";" & arr(i, col)     '多个符合的结果,结果的显示方式用分号“;”间隔

                        End If

                End If

        Next i

        If Len(mytxt) >= 1 Then    '判断前面过程中mytxt是否生成结果,如果生成则字符数大于等于1

            nvlookup = mytxt     'mytxt查询到结果,自定义函数返回结果为mytxt的值

        Else

            nvlookup = "查找不到"   '查询不到结果,自定义函数返回"查找不到"

        End If

End Function

VBA自定义NVLOOKUP函数一对多查找

4、点击左上角的Excel图标,或者点击右上角的关闭按钮/最小化按钮,返回Excel操作界面

VBA自定义NVLOOKUP函数一对多查找

5、在Excel中使用输入自定义的函数=NVLOKUP,按要求完整填写公式。

VBA自定义NVLOOKUP函数一对多查找

6、显示结果

VBA自定义NVLOOKUP函数一对多查找

7、如果不继续使用该函数,请先把结果复制——鼠标右键,选择性粘贴——值,然后移除模块。

VBA自定义NVLOOKUP函数一对多查找

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢