Vlookup、Lookup全閃開,Mlookup函數來了!

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

Vlookup是最常用到的查找函數,但它有很大的局限性。比如:只能查找第一個符合條件的值,無法任意位置查找和多條件查找等。於是,蘭色用VBA編寫了一個功能強大的Mlookup函數。這是蘭色2016年編寫的自定義函數,後又添加了新的查詢功能,因為太多同學提問查詢相關的的難題,今天再次把該函數分享給大家。

一、用法介紹

=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窗口,在窗口中點插入 – 模塊。把下面的代碼復制黏貼到右側的空白區域中。

代碼(本文最後附下載地址)

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

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!