自定义条件查询_数据查询不止有vlookup函数,自定义zlookup函数查询操作更高效...
Excel數(shù)據查詢,相信大家首先會想到vlookup函數(shù)。毋庸置疑vlookup函數(shù)在Excel數(shù)據查詢中作用是非常的強大。但是它也有一些不能實現(xiàn)的數(shù)據查詢。
如上圖所示,我們需要根據人員的出現(xiàn)次數(shù),提取第N次的數(shù)據。這里vlookup函數(shù)就無法使用,但是我們使用Zlookup函數(shù)就可以輕松完成。下面我們就來學習的學習一下zlookup函數(shù)如何快速解決我們的查詢問題。
案例一:Zlookup查詢函數(shù)查詢人員第2次銷售數(shù)據
案例說明:如上圖,我們需要提取張三、李四在所有銷售數(shù)據中的第二次銷售數(shù)據。這種操作我們用vlookup函數(shù)就無法解決。
函數(shù)公式:
=zlookup(G5,$D$2:$E$12,2,2)
函數(shù)解析:
1、zlookup函數(shù)與vlookup函數(shù)類似,總共是4個參數(shù),都是通過查詢條件值在對應數(shù)據區(qū)域中進行數(shù)據查詢;
2、第一參數(shù)G5代表我們需要查詢的條件值;第二參數(shù)D2:E12代表數(shù)據查詢區(qū)域;第三參數(shù)2代表銷售額在姓名右起第2列;第四參數(shù)2代表從上往下查詢第二個值。
案例二:zlookup函數(shù)查詢人員最后一天的銷售數(shù)據
案例說明:如上圖所示,我們需要提取對應人員的最后一天的銷售數(shù)據,vlookup查詢最后一條數(shù)據同樣是無法操作。
函數(shù)公式:
=zlookup(G5,$D$2:$E$12,2,0)
函數(shù)解析:
1、zlookup函數(shù)查詢最后一條數(shù)據的時候,函數(shù)的前面三個參數(shù)的使用方法跟案例一是一樣的,我們只需要修改第四參數(shù)的值調整為0即可。
案例三:zlookup函數(shù)輕松完成數(shù)據的一對多查詢操作
案例說明:我們在對數(shù)據進行一對多查詢的時候,vlookup函數(shù)我們需要結合countif條件計算及row函數(shù)嵌套才能操作,但是使用zlookup函數(shù)我們可以實現(xiàn)最簡單從一對多查詢。
函數(shù)公式:
=zlookup(G5,$D$2:$E$12,2,-1)
函數(shù)解析:
1、zlookup函數(shù)進行數(shù)據一對多查詢的時候,我們同樣只需要修改函數(shù)的第四參數(shù)即可實現(xiàn)。將第四參數(shù)修改為0,這樣就能查詢出對應的所有值,每個值中間會通過逗號連接。
通過上面的案例講解,現(xiàn)在你學會如何利用自定義的zlookup函數(shù)進行數(shù)據查找了嗎?當然在使用這個函數(shù)的時候,我們需要首先在代碼編輯窗口進行函數(shù)的自定義。操作步驟如下:
第一步:按Alt+F11或者右鍵點擊工作表名稱,選擇查看代碼進入代碼編輯窗口。然后在左邊工程窗口中,右鍵點擊Thisworkbook點擊插入模塊;如下圖所示:
第二步:在模塊窗口界面,我們將下方的代碼粘貼進去,這樣我們就通過function函數(shù)自定義了一個zlookup查詢函數(shù)。如下圖所示:
自定義zlookup函數(shù)代碼如下:
Function zlookup(rg, rgs As Range, L As Integer, M As Integer)Dim arr1, ARR2, 列數(shù)Dim R, n, K, X, cc, sr As Stringarr1 = rg.ValueARR2 = rgsIf VBA.IsArray(arr1) ThenFor Each R In arr1If R <> "" Thencc = cc & R列數(shù) = 列數(shù) + 1End IfNext RElsecc = arr1End IfIf M > 0 Then '非查找最后一個For X = 1 To UBound(ARR2)sr = ""If 列數(shù) > 1 ThenFor q = 1 To 列數(shù)sr = sr & ARR2(X, q)Next qElsesr = ARR2(X, 1)End IfIf sr = cc ThenK = K + 1If K = M Thenzlookup = ARR2(X, L)Exit FunctionEnd IfEnd IfNext XElseIf M = -1 Then '查找所有值For X = 1 To UBound(ARR2)sr = ""If 列數(shù) > 1 ThenFor q = 1 To 列數(shù)sr = sr & ARR2(X, q)Next qElsesr = ARR2(X, 1)End IfIf sr = cc Thenzlookup = zlookup &總結
以上是生活随笔為你收集整理的自定义条件查询_数据查询不止有vlookup函数,自定义zlookup函数查询操作更高效...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎么把数据写进txt_pyt
- 下一篇: 米筐量化不支持c语言_量化 | 从零开始