前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【学习】Vlookup、Lookup都靠边,Mlookup函数来了

【学习】Vlookup、Lookup都靠边,Mlookup函数来了

作者头像
小莹莹
发布2018-04-20 17:23:14
2.3K0
发布2018-04-20 17:23:14
举报

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

一、用法介绍

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

语法说明:

  • 查找内容:除了单个值外,还可以选取多个单元格,进行多条件查找。
  • 查找区域:同VLOOKUP
  • 返回值的在列数:同VLOOKUP
  • 第N个:值为1就返回第1个符合条件的,值为2就返回第2个符合条件的....当值为0值时,返回最后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)

三、使用方法

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

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

代码

Function Mlookup(rg, rgs As Range, L As Integer, M As Integer)

Dim arr1, ARR2, 列数

Dim R, n, K, X, cc, sr As String

arr1 = rg.Value

ARR2 = rgs

If VBA.IsArray(arr1) Then

For Each R In arr1

If R <> "" Then

cc = cc & R

列数 = 列数 + 1

End If

Next R

Else

cc = arr1

End If

If M > 0 Then '非查找最后一个

For X = 1 To UBound(ARR2)

sr = ""

If 列数 > 1 Then

For q = 1 To 列数

sr = sr & ARR2(X, q)

Next q

Else

sr = ARR2(X, 1)

End If

If sr = cc Then

K = K + 1

If K = M Then

Mlookup = ARR2(X, L)

Exit Function

End If

End If

Next X

Else '查找最后一个

For X = UBound(ARR2) To 1 Step -1

sr = ""

If 列数 > 1 Then

For q = 1 To 列数

sr = sr & ARR2(X, q)

Next q

Else

sr = ARR2(X, 1)

End If

If sr = cc Then

Mlookup = ARR2(X, L)

Exit Function

End If

Next X

End If

Mlookup = ""

End Function

2、当前文件另存为“启用宏的工作簿”格式,

然后在这个表格中就可以使用Mlookup函数了。

PPV课其他精彩文章:

1、回复“干货”查看干货 数据分析师完整知识结构

2、回复“答案”查看大数据Hadoop面试笔试题及答案

3、回复“设计”查看这是我见过最逆天的设计,令人惊叹叫绝

4、回复“可视化”查看数据可视化专题-数据可视化案例与工具

5、回复“禅师”查看当禅师遇到一位理科生,后来禅师疯了!!知识无极限

6、回复“啤酒”查看数据挖掘关联注明案例-啤酒喝尿布

7、回复“栋察”查看大数据栋察——大数据时代的历史机遇连载

8、回复“数据咖”查看数据咖——PPV课数据爱好者俱乐部省分会会长招募

9、回复“每日一课”查看【每日一课】手机在线视频集锦

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档