向下匹配大家都会,向上匹配还会吗?
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
日常的EXCEL查找引用操作应用中,我们经常会遇到的是自上向下或自左向右的查找。水平方向的逆向查找我们有很多方法解决,往期的帖子也介绍了很多相关的应用。可是当我们遇到需要自下向上匹配的情况时,该如何处理呢?
下面有几种比较好的思路介绍给大家,希望对朋友们今后的工作有所帮助!
讲到匹配,我们脑海里第一个反应出来的函数就是MATCH函数。同样地,自下向上匹配同样也需要MATCH函数的大力协助。
在单元格D2中输入公式“=14-MATCH(9^9,ROW($1:$13)/($A$1:$A$13=C2))”,三键回车并向下拖曳即可。
思路:
ROW($1:$13)/($A$1:$A$13=C2)部分,返回的结果是源数据中等于给定条件的数据位置信息
MATCH(9^9,ROW($1:$13)/($A$1:$A$13=C2))部分,利用MATCH函数的特性:当第三个参数是1或者省略时,MATCH 查找小于或等于 lookup_value 的最大值。lookup_array 参数中的值必须以升序排序,例如:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。9^9是一个极大值,因此这部分返回的结果肯定是最后一个满足条件的数据的位置
由于源数据总行数是13行,因此用14减去上述返回的结果,就是该查找值自下向上匹配时的位置信息
下面的方法同样也可以达到相同的目的。
在单元格D2中输入公式“=MATCH(C2,T(OFFSET($A$14,-ROW($1:$13),)),)”,三键回车并向下拖曳即可。
思路:
OFFSET($A$14,-ROW($1:$13),)部分,是从单元格A14依次向上移动1、2、...13行,组成一个新的内存数组
由于上述形成的内存数组是三维的,因此需要利用T函数进行降维处理
接下来就比较简单了,利用MATCH函数进行匹配即可
请注意,这里使用的是T函数进行降维处理。如果源数据是数字型数据,则需要使用N函数来进行降维处理。
利用LOOKUP函数我们也可以实现自下向上匹配。
在单元格D2中输入公式“=14-LOOKUP(1,0/($A$1:$A$13=C2),ROW($A$1:$A$13))”,三键回车并向下拖曳即可。
思路:
利用LOOKUP函数的特点,我们可以找到符合条件的最后一个源数据
接下来的思路和上面的一样,就不再详细介绍了
COUNTA函数配合MATCH函数也可以解决问题。
在单元格D2中输入公式“=COUNTA(A:A)-MATCH(1,0/(A$1:A$13=C2))+1”,三键回车并向下拖曳即可。
思路:
MATCH(1,0/(A$1:A$13=C2))这部分和上面介绍的思路大同小异
COUNTA函数统计出非空单元格的个数。COUNTA(A:A)+1的效果就等于是14
朋友们,以上介绍了几种自下向上匹配的方法。小伙伴们学会了吗
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”
注意!前方有红包挡道!速点阅读原文消灭之!