VBA自定义NVLOOKUP函数一对多查找
来源:网络收集 点击: 时间:2024-03-15打开Excel表格,鼠标右击工作表名称——查看代码

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

双击模块,把以下代码粘贴到代码框中
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

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

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

显示结果

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

微软office全部版本可以运行,WPS部分版本支持VBA才可以使用。
选择查找范围列时,如果选择整列,会导致函数计算速度较慢,选择有效范围即可。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_354984.html