聚热点 juredian

除了Vlookup,你一定要了解的4个快速匹配公式思路!

关键字:匹配数据;函数;lookup

栏目:技巧集锦

全文998字 预计3分钟看完

哈喽,小伙伴们,你们好呀~

每天学点Excel,工作效率up、up~

我们平时在用Excel处理数据的时候,匹配数据是很常见的一类问题。

而我们在面临问题时,其实是可以有多种思维来解决的。

所以,在学习Excel时,千万不要进入到一个误区——背公式。

条条大路通罗马,希望大家学会用多种思路去分析问题。

这样,才能举一反三,熟能生巧。

今天就通过一个数据匹配问题,通过4个思路来给大家讲解解决方法。

问题如图,有若干款项,是按月统计的,现在要把每种款项的最后一笔金额匹配出来。

这个问题的难度在于没有一个具体的匹配条件,最后一笔是哪一笔,眼睛看很清楚,但是怎么用公式快速匹配出结果呢?

下面针对这个具体问题给出四个思路。

思路1:INDEX-COUNTA组合

公式为=INDEX(B:B,COUNTA(B:B))

公式解析:这个公式思路比较简单,用INDEX函数在B列找数据,用COUNTA函数统计出B列一共有多少个数据,作为INDEX的检索条件,有几个数据就返回第几个,也就是B列的最后一个值。

缺陷是需要使用三个不同的公式,因为每个款项对应的列是不同的。

思路2:LOOKUP函数

公式为=LOOKUP(9E+307,B:B)

公式解析:思路2直接使用了LOOKUP函数,避免了函数嵌套,需要说明的是公式中的9E+307,这是一个非常大的数字,可以理解为Excel所能识别的最大数值。LOOKUP函数有个特性,如果在给定区域中的所有数据都小于查找值的时候,就会返回最后一个数据。

思路2比思路1简单,缺陷也是需要三个不同的公式。

思路3:LOOKUP-INDIRECT-ROW组合

公式为=LOOKUP(9E+307,INDIRECT("C"&ROW(A2),0))

公式解析:这个公式与思路2的差别在于查找区域是用INDIRECT("C"&ROW(A2),0)得到的。

关于INDIRECT函数,之前也有教程,在本例中使用的是一种比较少见的RC引用模式,"C"&ROW(A2)是为了得到字符串”C2”,在RC引用模式中表示第二列,也就是B列。

因为随着公式下拉,需要得到类似于”C3”、”C4”的效果,所以加了ROW函数辅助。

这个公式也有一个小缺陷,就是查找的款项是顺序排列的。如果想更加灵活,不按款项A、款项B、款项C这样的顺序,就需要对这个思路进行完善。

思路4:LOOKUP-INDIRECT-MATCH组合

公式为=LOOKUP(9E+307,INDIRECT("C"&MATCH(O2,$A$1:$D$1,),0))

公式解析:这个公式估计很多同学会看的比较蒙圈,实际上如果你对思路3理解的话,这个公式只是将思路3里的ROW(A2)换成了MATCH(O2,$A$1:$D$1,)

要解释原理的话也简单,思路3的列是顺序递增的,因为ROW(A2)下拉得到的就是顺序递增的数字。思路4里的列是根据款项位置确定的,因为MATCH函数的作用就是返回指定值在一个范围内的顺序数。

要理解最后这个公式,需要对MATCH函数有所了解。

总之,对于任何一个小问题,都有许多值得学习的知识点。

要想学好Excel的公式函数,还得多实践,不知道今天这个问题中你有什么收获呢?

搜索建议:
热评

 小区里面该不该养狗?

不该让养。坚决支持国家出台禁养犬法规!理由有三个:1,危机人身安全。狗伤人甚至交伤致死的事件屡有发生,这已是不可争辩的事实。2,传抪病毒甚至疫情。狂犬病的发生已...(展开)

热评

 合同违约金应该怎么确定

对违约金问题,人们在尊重当事人自由地约定违约金的前提下,为了限制惩罚性违约金的副作用,确保合同的诚信履行,在一定情况下对违约金进行国家干预是必要的,也是符合契...(展开)

热评

 在广州做试管婴儿需要多少钱?LO...

随着试管婴儿技术的不断发展,目前已经从第一代逐渐发展到第三代,不仅试管婴儿技术越来越受到患者的关注,而且越来越多的不孕不育家庭都选择试管婴儿辅助怀孕。在进行试管...(展开)