Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。 我們都知道VLOOKUP函數在我們數據查詢過程中運用的非常多,在眾多函數中這個函數的使用頻率應該是最高的。雖然這個函數運用的比較普遍,但是在高級查詢過程中這個函數還是會有很大的弊端。今天我們就來學習自定義一個高級綜合查詢函數Nlookup函數,這個函數幾乎能夠解決我們現有vlookup函數不能解決的所有問題。我們以下面的4個場景來詳細講解一下。
Nlookup函數為我們用VBA代碼自定義的一個函數,所有我們可以通過編輯代碼的方法來實現我們需要的功能和操作。 函數=Mlookup(查找條件值,查找范圍區域,查找值所在列,需要查詢的個數),與vlookup函數最大的區別在于第四個參數。 函數解析: 1.1 查找條件值:相當于vlookup函數第一參數,我們需要查找的值; 1.2 查找范圍區域:相當于vlookup函數的第二參數,我們需要查找的數據范圍區域; 1.3 查找值所在列:相當于vlookup函數的第三參數,從左往右數第幾列; 1.4 需要查詢的個數:與vlookup函數的第四參數不同,這個參數為我們需要查找數據的第幾個。 下面我們就來具體講解解析案例場景。
場景1:從數據源中查詢姓名為張三的第二次銷售額
? 函數=Nlookup(H5,B1:F14,5,2) 函數解析:前面3個參數與VLOOKUP函數的使用方法一致,第四個參數為2,因為要求的是第二條數據。 場景2:查詢張三的最后一次銷售記錄
? 函數=Nlookup(H10,B1:F14,5,0) 函數解析:修改第四個參數的值為0,代表查找最后一個條件值。 場景3:案例三:多條件查詢,查找5月2日李四的銷售額
? 函數=Nlookup(H11:I11,A1:F14,6,1) 函數解析:多條件查詢的時候,第一參數查詢的條件值直接選擇兩個參數,第四參數輸入1,代表精確查找一個。 場景4:查找王五的所有銷售額數據(提取人員所有數據)
? 函數=Nlookup(K4,B1:F14,5,-1) 函數解析:第四參數-1為查詢所有符合條件的數據。 看了上面這么多經典的案例,可能大家都在想這個函數到底是怎么來的了?下面我們就來講一下怎么定義這個函數。
第一步:按alt+f11或者鼠標郵件點擊工作表名稱,點擊查看代碼,進入VBA代碼編輯窗口;
? 第二步:點擊thisworkbook,新建模塊,在模塊中輸入下方代碼; Function Nlookup(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 Nlookup = ARR2(X, L) Exit Function End If End If Next X ElseIf M = -1 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 Nlookup = Nlookup & "," & ARR2(X, L) End If Next X Nlookup = Right(Nlookup, Len(Nlookup) - 1) Exit Function 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 Nlookup = ARR2(X, L) Exit Function End If Next X End If Nlookup = "" End Function 第三步:將表格另外為.xlsx宏的文件,重新打開即可看到你重新定義的Nlookup函數。 現在你學會這個Nlookup自定義函數的制作和使用方法了嗎?趕快去學習一下吧~ Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。 |
溫馨提示:喜歡本站的話,請收藏一下本站!