5
同學們好啊,VLOOKUP函式是表親們的大眾情人,查詢資料的時候經常會用到。
但是這個函式也有兩處明顯的缺陷:
一是不能從右向左查詢,二是不能返回多個結果。
這兩個問題想必困擾了表哥表妹好多年啊。今天就和大家分享一個自定義函式——LOOK,先來看看使用方法:
G2 單元格公式為:
=LOOK($F$2,C:C,2,ROW(A1))
這個自定義函式的引數和VLOOKUP函式類似:
第一引數是要查詢的內容,
第二引數是包含查詢值的資料列,
第三引數是要返回第幾列的內容,
第四引數使用ROW(A1)生成一個連續的序號。
向下複製公式,即可實現一對多查詢。
如果要從右向左查詢,只要修改一下第三引數,使其變成負數即可:
看到這裡,是不是有點眼紅了?
接下來看看如何使用這個自定義函式:
步驟1 右鍵單擊工作表標籤→檢視程式碼
步驟2 在VBE視窗中依次單擊【插入】→【模組】,然後在右側的模組程式碼視窗中輸入自定義程式碼:
以下程式碼可複製:
Function LOOK(查詢值 As String, 區域 As Range, Optional 列 As Integer = 2, Optional 索引號 As Integer = 1) As String
Application.Volatile
Dim i As Long, cell As Range, Str As String
With 區域(1).Resize(區域.Rows.Count, 1)
If .Cells(1) = 查詢值 Then Set cell = .Cells(1) Else Set cell = .Find(查詢值, LookIn:=xlValues)
If Not cell Is Nothing Then
Str = cell.Address
Do
i = i + 1
If i = 索引號 Then LOOK = cell.Offset(0, 列 - 1): Exit Function
Set cell = 區域.Find(查詢值, cell)
Loop While Not cell Is Nothing And cell.Address <> Str
End If
End With
End Function
步驟3 按F12鍵,將檔案儲存為.xlam格式。
然後在開發工具→Excel載入項 ,勾選“LOOK函式”,就可以在自己電腦裡隨時使用這個自定義函數了。
程式碼作者:羅剛君
圖文整理:祝洪忠