Excel函数公式应用技巧:数据匹配问题的解决方法

编按:我们在用Excel处理数据的时候,匹配数据是很常见的一类问题,今天就来和大家分享一个小伙伴遇到的数据匹配问题,我们通过4个思路来给大家讲解这类问题的解决方法 。


问题如图,有若干款项 , 是按月统计的 , 现在要把每种款项的最后一笔金额匹配出来 。
Excel函数公式应用技巧:数据匹配问题的解决方法

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

思路1:INDEX-COUNTA组合
公式为=INDEX(B:B,COUNTA(B:B))
Excel函数公式应用技巧:数据匹配问题的解决方法

公式解析:这个公式思路比较简单 , 用INDEX函数在B列找数据,用COUNTA函数统计出B列一共有多少个数据,作为INDEX的检索条件,有几个数据就返回第几个,也就是B列的最后一个值 。
缺陷是需要使用三个不同的公式,因为每个款项对应的列是不同的 。
思路2:LOOKUP函数
公式为=LOOKUP(9E 307,B:B)
Excel函数公式应用技巧:数据匹配问题的解决方法

思路2直接使用了LOOKUP函数 , 避免了函数嵌套,需要说明的是公式中的9E 307 , 这是一个非常大的数字,可以理解为Excel所能识别的最大数值 。LOOKUP函数有个特性 , 如果在给定区域中的所有数据都小于查找值的时候,就会返回最后一个数据 。
思路2比思路1简单,缺陷也是需要三个不同的公式 。
那么有没有一个公式可以直接下拉得到所需的结果呢?思路3就可以做到 。
思路3:LOOKUP-INDIRECT-ROW组合
公式为=LOOKUP(9E 307,INDIRECT("C"&ROW(A2),0))
Excel函数公式应用技巧:数据匹配问题的解决方法

【Excel函数公式应用技巧:数据匹配问题的解决方法】这个公式与思路2的差别在于查找区域是用INDIRECT("C"&ROW(A2),0)得到的 。
关于INDIRECT函数,之前也有教程 , 在本例中使用的是一种比较少见的RC引用模式,"C"&ROW(A2)是为了得到字符串”C2”,在RC引用模式中表示第二列,也就是B列 。
因为随着公式下拉,需要得到类似于”C3”、”C4”的效果 , 所以加了ROW函数辅助 。
如果对于这个公式的原理确实理解不了也没关系,会根据自己的需要套用即可,数据在第几列 , 修改ROW的参数即可 。
这个公式也有一个小缺陷,就是查找的款项是顺序排列的 。如果想更加灵活,不按款项A、款项B、款项C这样的顺序,就需要对这个思路进行完善 。
思路4:LOOKUP-INDIRECT-MATCH组合
公式为=LOOKUP(9E 307,INDIRECT("C"&MATCH(O2,$A$1:$D$1,),0))
Excel函数公式应用技巧:数据匹配问题的解决方法

这个公式估计很多同学会看的比较蒙圈,实际上如果你对思路3理解的话 , 这个公式只是将思路3里的ROW(A2)换成了MATCH(O2,$A$1:$D$1,) 。
要解释原理的话也简单,思路3的列是顺序递增的,因为ROW(A2)下拉得到的就是顺序递增的数字 。思路4里的列是根据款项位置确定的,因为MATCH函数的作用就是返回指定值在一个范围内的顺序数 。
要理解最后这个公式,需要对MATCH函数有所了解 。
总之 , 对于任何一个实际问题,都有值得学习的知识点 。所以要想学好Excel的公式函数,还得多实践 , 不知道今天这个问题中你有什么收获呢?

做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
相关推荐:
将excel中的数据按照指定数量进行重复,非得用VBA才能实现吗?
如何在特定位置批量插入空行等12种实用办公技巧
4种删除excel重复值的小妙招,速收藏
Power Query的数据替换技巧比Excel函数更万能!
版权申明:
本文作者老菜鸟;同时部落窝教育享有专有使用权 。若需转载请联系部落窝教育 。

相关经验推荐