Excel 用VBA编写一个功能强大的Mlookup函数 | Vlookup、Lookup都靠边

赞赏 2017-07-10

Vlookup是最常用到的查找函数,但它有很大的局限性。比如:只能查找第一个符合条件的值,无法任意位置查找和多条件查找等。于是,兰色用VBA编写了一个功能强大的Mlookup函数。


可以实现:

  • 查找第N个

  • 查找最后一个

  • 多条件查找

  • 一对多查找

  • 一对多查找后合并


一、用法介绍

=Mlookup(查找内容查找区域,返回值所在的列数,第N个)


语法说明:

  • 查找内容:除了单个值外,还可以选取多个单元格,进行多条件查找。

  • 查找区域:同VLOOKUP

  • 返回值的在列数:同VLOOKUP

  • 第N个:值为1就返回第1个符合条件的,值为2就返回第2个符合条件的....当值为0值时,返回最后1个符合条件的值,值为-1时返回所有查找结果并用逗号连接(新增功能)。


二、功能演示。


【例】如下图所示的入库表中,要求完成以下查找。



1、查找第2次电视的进货数量。

=Mlookup(A11,A2:D8,4,2)



2、查找电视的最后一次入库数量

=Mlookup(A11,A2:D8,4,0)



3、查找47寸电视的第1次进货数量

=Mlookup(A11:B11,A2:D8,4,1)


4、实现筛选功能。

=Mlookup($B$10:$B$11,$A$1:$D$8,4,A14)



5、实现多结果查找功能。(把所有符合条件结果用逗号连接起来)

=MLOOKUP(A11,B$1:C$8,2,-1)




三、使用方法

Mlookup要想在你的表格中也能使用,需要按下面的步骤操作。

1、按alt+F11(键盘上如果有FN键 ,还需要同时按FN)会打开VBE窗口,在窗口中点插入 - 模块。把下面的代码复制粘贴到右侧的空白区域中。


代码(本文最后附下载地址


2、当前文件另存为“启用宏的工作簿”格式(Excel2003直接保存即可


然后在这个表格中就可以象兰色一样使用Mlookup函数了。

注:

1、在本机所有Excel文件中使用这个函数。

文件另存 - 保存为加截宏类型(不需要时删除这个文件)。

2、在其他电脑上使用这个函数、

如果拷给别人这个函数还可以用,需要文件中附有代码Mlookup函数才可以用。

3、WPS表格中不能直接支持VBA,所以需要安装WPS的VBA插件才可以用(百度关键词 WPS vba )。


建议:

  • 由于复制代码也不麻烦,所以建议在使用Mlookup的文件中都复制一次代码。

  • 由于很多查询都是一次性的,出结果即可,所以查询完成后可以把公式转换成数值,一不会影响文件打开速度,二不会影响复制到其他电脑带来错误。


示例表格下载:

http://www.excelpx.com/home/upload/2017_02/temp_17020922521119.rar


VBA就是这么帅,需要什么函数就编写它。

学会VBA后,你会发现excel变得无所不能!

登陆后阅读全文
阅读 3618 赞赏 0 有用 2 没用 0 收藏 0 分享

   



0 条留言

BetteMe的头像

BetteMe

分享Excel小技巧

相关文章

wps excel 如何快速找到你想要的函数?

wps excel 多区间判断用IF函数已过时了 LOOKUP函数轻松搞定

Wps Excel Word 8个鼠标双击小技巧 | 格式刷终于不用点一个刷一个了

Excel 选取关键字后,可以自动从源表中筛选出结果

Wps Excel 如何做子母饼图?(复合饼图)

Wps Excel 表格如何美化? 为什么老外的Excel表格这么漂亮?

Wps Excel 工资条 最简单的做法

Excel 多表求平均值 多条件求平均值 最近一周求平均值?

Wps Excel 如何隐藏多余的行/列?

最全的Excel格式刷用法,最后一个99%人都没用过

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

Excel 简单到爆,快速完成不规则合并单元格排序

Excel高手和菜鸟操作表格,都有什么区别?

Excel 给老板手机 发日报 的最简单方法

你会邮件群发 工资条 吗? (Excel Word)

Excel中竟然有强大的 翻译 功能,不用太惜了!

工作再忙,也要学会这10个最经典的Excel小技巧

按ctrl键不松,excel操作速度瞬间提升一倍,你信吗?

Wps Excel两列数据1秒完成对比找出重复值

Wps Excel 如何隐藏多余的行/列?

分享4个Word表格拆分小技巧

手机扫一扫
分享文章