VBA自定义函数,实现一对多查找,简单易用,通用。
工具/原料
Microsoftoffice
方法/步骤
1、打开Excel表格,鼠标右击工作表名称——查看代码
2、鼠标右键——插入——模块
3、双击模块,把以下代码粘贴到代码框中Functionnvlookup(zhiAsStr坡纠课柩ing,rngAsR锾攒揉敫ange,colAsInteger,valAsInteger)'----自定义函数表达式:nvlookup(查找对象,查找范围,列号,精确查找)。精确查找的值填写0或者其他任意数字即可DimiAsLongarr=rng.Value'设定数组arr为所选查找范围的值Fori=1ToUBound(arr)'循环行Ifarr(i,1)=zhiThen'判断范围内的第一列是否等于查找值n=n+1'用于下方使用Ifn=1Then'判断第一个出现mytxt=arr(i,col)'符合第一次出现时显示的结果形式Elsemytxt=mytxt&";"&arr(i,col)'多个符合的结果,结果的显示方式用分号“;”间隔EndIfEndIfNextiIfLen(mytxt)>=1Then'判断前面过程中mytxt是否生成结果,如果生成则字符数大于等于1nvlookup=mytxt'mytxt查询到结果,自定义函数返回结果为mytxt的值Elsenvlookup="查找不到"'查询不到结果,自定义函数返回"查找不到"EndIfEndFunction
4、点击左上角的Excel图标,或者点击右上角的关闭按钮/最小化按钮,返回Excel操作界面
5、在Excel中使用输入自定义的函数=NVLOKUP,按要求完整填写公式。
6、显示结果
7、如果不继续使用该函数,请先把结果复制——鼠标右键,选择性粘贴——值,然后移除模块。