打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
lookup搭配frequency,干活不累!

同学们,大家好。今天和大家分享的是如何根据姓名查找合并单元格中的部门。先来看下源数据和查询后的效果。下图左表是各部门名单表,其中部门列是合并单元格。现在要根据姓名来查询出对应的部门,效果如右表所示。E1单元格设置了数据验证,E2单元格的结果会随着E1单元格姓名的变化而改变。AB两列设置了条件格式,为了方便和右表的结果对照。

其实这个问题在之前的文章《值得收藏!lookup函数常用套路合集》中说过,看过公众号文章的同学应该是知道的。不过今天我们要换一种方法来完成,用的就是lookup+frequency的黄金搭档。

在E2单元格输入公式=LOOKUP(1,0/FREQUENCY(-MATCH(E1,B:B,),-(A1:A11<>"")*ROW(1:11)),A1:A11),完成。公式看起来还是有点长的,不过不用担心,慢慢拆解就可以了。外层是lookup的用法,内层是frequency的用法。只要这2个函数都搞清楚了,就没什么难的。

以下图的"李东林"为例说明,先来看FREQUENCY(-MATCH(E1,B:B,),-(A1:A11<>"")*ROW(1:11))这部分,其中frequency的第1参数是个match函数,用来查找E1在B列中的位置,这里是9,然后前面再加个负号,就是-9。第2参数-(A1:A11<>"")*ROW(1:11)返回的结果是{-1;-2;0;0;-5;0;-7;0;0;0;0},也就是A1:A11中不等于空的返回负行号,等于空的返回0。

上一步实际上就是FREQUENCY(-9,{-1;-2;0;0;-5;0;-7;0;0;0;0})。那么它返回的结果是{0;0;0;0;0;0;1;0;0;0;0;0}。这个结果是怎么返回的,我这里再说一次。首先要将第2参数在内部进行升序排序,然后统计第一参数-9在升序排序后各区间的个数。由于统计的结果是排序后的结果,所以还要恢复原来的排序,再返回对应的结果。大家可以看下面的示意图来理解。

frequency返回的结果{0;0;0;0;0;0;1;0;0;0;0;0}中的1的位置是7,刚好对应的就是第7行的"技术部",接下来用lookup完成就可以了。也就是下面这个公式,=LOOKUP(1,0/{0;0;0;0;0;0;1;0;0;0;0;0},A1:A11)。这个我相信大家都能明白的。最关键的还是要理解frequency的用法。

lookup会找小于等于它的最大值,frequency会找大于等于它的最小值,而它们的结合使用,又能创造出奇妙的“火花”。

感兴趣的同学可以下载文件研究下,顺便可以看下AB两列中条件格式的公式,条件格式也是一个很好用的功能。

链接:

https://pan.baidu.com/s/14n0Kozn7iWXvuFPj9toV8Q

提取码:2zgy

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
小题不一般,MMULT vs LOOKUP vs OFFSET,群芳齐争艳!
文本函数实战练习:REPLACE
【Excel教程】如何用函数统计不重复数据的个数?两种方法教你快速搞定
Excel如何用函数公式提取每天第一次和最后一次打卡时间?你会吗
lookup函数的第3个参数,这次会让你大吃一惊!
Excel公式技巧19: 在方形区域内填充不重复的随机整数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服