数据查询不止有vlookup函数,自定义zlookup函数查询操作更高效

excel数据查询,相信大家首先会想到vlookup函数。毋庸置疑vlookup函数在excel数据查询中作用是非常的强大。但是它也有一些不能实现的数据查询。
如上图所示,我们需要根据人员的出现次数,提取第n次的数据。这里vlookup函数就无法使用,但是我们使用zlookup函数就可以轻松完成。下面我们就来学习的学习一下zlookup函数如何快速解决我们的查询问题。
案例一:zlookup查询函数查询人员第2次销售数据
案例说明:如上图,我们需要提取张三、李四在所有销售数据中的第二次销售数据。这种操作我们用vlookup函数就无法解决。
函数公式:
=zlookup(g5,$d$2:$e$12,2,2)
函数解析:
1、zlookup函数与vlookup函数类似,总共是4个参数,都是通过查询条件值在对应数据区域中进行数据查询;
2、第一参数g5代表我们需要查询的条件值;第二参数d2:e12代表数据查询区域;第三参数2代表销售额在姓名右起第2列;第四参数2代表从上往下查询第二个值。
案例二:zlookup函数查询人员最后一天的销售数据
案例说明:如上图所示,我们需要提取对应人员的最后一天的销售数据,vlookup查询最后一条数据同样是无法操作。
函数公式:
=zlookup(g5,$d$2:$e$12,2,0)
函数解析:
1、zlookup函数查询最后一条数据的时候,函数的前面三个参数的使用方法跟案例一是一样的,我们只需要修改第四参数的值调整为0即可。
案例三:zlookup函数轻松完成数据的一对多查询操作
案例说明:我们在对数据进行一对多查询的时候,vlookup函数我们需要结合countif条件计算及row函数嵌套才能操作,但是使用zlookup函数我们可以实现最简单从一对多查询。
函数公式:
=zlookup(g5,$d$2:$e$12,2,-1)
函数解析:
1、zlookup函数进行数据一对多查询的时候,我们同样只需要修改函数的第四参数即可实现。将第四参数修改为0,这样就能查询出对应的所有值,每个值中间会通过逗号连接。
通过上面的案例讲解,现在你学会如何利用自定义的zlookup函数进行数据查找了吗?当然在使用这个函数的时候,我们需要首先在代码编辑窗口进行函数的自定义。操作步骤如下:
第一步:按alt+f11或者右键点击工作表名称,选择查看代码进入代码编辑窗口。然后在左边工程窗口中,右键点击thisworkbook点击插入模块;如下图所示:
第二步:在模块窗口界面,我们将下方的代码粘贴进去,这样我们就通过function函数自定义了一个zlookup查询函数。如下图所示:
自定义zlookup函数代码如下:
function zlookup(rg, rgs as range, l as integer, m as integer)dim arr1, arr2, 列数dim r, n, k, x, cc, sr as stringarr1 = rg.valuearr2 = rgsif vba.isarray(arr1) thenfor each r in arr1if r thencc = cc & r列数 = 列数 + 1end ifnext relsecc = arr1end ifif m > 0 then 非查找最后一个for x = 1 to ubound(arr2)sr = if 列数 > 1 thenfor q = 1 to 列数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 列数 > 1 thenfor q = 1 to 列数sr = sr & arr2(x, q)next qelsesr = arr2(x, 1)end ifif sr = cc thenzlookup = zlookup & , & arr2(x, l)end ifnext xzlookup = right(zlookup, len(zlookup) - 1)exit functionelse 查找最后一个for x = ubound(arr2) to 1 step -1sr = if 列数 > 1 thenfor q = 1 to 列数sr = sr & arr2(x, q)next qelsesr = arr2(x, 1)end ifif sr = cc thenzlookup = arr2(x, l)exit functionend ifnext xend ifzlookup = end function通过上面的操作设置,现在你学会如何利用自定义的zlookup函数进行数据查找了吗?


厂家直销SC标准气缸可调行程气缸SCJ80X75-50
汉口方块地毯选择骑士地毯
给猫咪取名,原则就是要“随便”,忌讳就是“太认真”
方太亮相全装修峰会:背后的两大深层逻辑
门头沟区回收过期的硒鼓,回收过期的墨盒-信守承诺
数据查询不止有vlookup函数,自定义zlookup函数查询操作更高效
串串加盟利润大吗
供应VMC850B专用排屑机
赣县具有口碑的装修设计哪家便宜实惠
浙江电缆挤出模温机供应,深受客户群体的欢迎
A10VSO柱塞泵 新闻德国力士乐A10VSO71DFLR/31R柱塞泵油泵
薄膜电容振动测试台
rexroth力士乐叶片泵的工作原理
新款时尚可爱娃娃款加大码时尚显瘦连帽羽绒服女装厂家批发代发爆
江阴热门的考幼师证需要看什么书厂家
单县单县单县物资局家属院 55平米1室0厅0卫
超速抓拍系统,车辆超速抓拍,道路车辆超速抓拍
广东衣柜厂家-华满堂名声显赫-极力推荐
新手适合投资建材行业吗 五好之家轻钢别墅加盟条件有哪些
成都办理白俄罗斯产地证FA资料FTA产地证