编按:大家好,今天来给大家讲一个提取关键符,再按照类别在不同列中显示的技巧,赶紧来学习一下吧!
最近有位学员求助,如图所示,他需要对收汇金额按照币种进行分列,即将B列的数据按照不同的币别分别提取到C、D、E列里,由于数据太多,一个个手动复制粘贴实在是太麻烦了,有没有什么高效的解决方案呢?
解决这个问题的思路不止一个,今天给大家分享一个比较容易理解的方法。
可以分成两步来思考:
第一步:判断B列是什么币别
我们先取后三位字符,然后判断币别与哪一列相符(注意不是相同),从而确定金额要在哪一列显示。
第二步:提取B列的金额。
提取到以后,在对应的列显示出来。
有了思路,现在我们就来写公式吧!
用公式COUNTIF(C$1,"*"&RIGHT($B2,3)&"*")来判断C1单元格是否存在B2单元格对应的币别,如果存在则显示1,不存在则显示0,效果如图所示。
COUNTIF函数的这种用法可以总结为:COUNTIF(单元格,“*指定字符*”),其中的*表示通配符,如果指定字符是单元格引用或者公式的话,公式就要改成:COUNTIF(单元格,”*”&单元格或公式&”*”)。
接下来要实现的就是从B列的数据中把金额提取出来,这个方法就更多了,比较容易理解的一个公式是=LEFT($B2,LEN($B2)-4),结果如图所示。
LEFT函数是从单元格的左边开始截取字符,在这个问题中,截取的长度就是单元格内的字符数-4,第二步这个公式很好理解。
最后就是按照第一步得到的结果将第二步的数字在对应的位置显示出来,用IF函数很容易解决。
公式为:=IF(COUNTIF(C$1,"*"&RIGHT($B2,3)&"*"),LEFT($B2,LEN($B2)-4),"")
合并后的公式看起来虽然比较复杂,但是用到的都是很基础的函数,通过前面的分析还是比较容易理解的。
最后再来分享两个不一样的思路,公式就不解析了,有兴趣的同学可以自己研究一下。
公式1:=IFERROR(--SUBSTITUTE($B2,MID(C$1,4,3),),"")
公式2:=IF(RIGHT($B2,3)=MID(C$1,4,3),--LEFT($B2,8),"")
对于这个问题如果你还有其他思路,欢迎留言分享,大家一起进步。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
学习交流请加微信:hclhclsc进微信学习群。
相关推荐:
Excel教程:如何用函数公式提取不同员工的薪资档位?
财务经常遇到的字符提取,三种方法轻松解决!
别怕,VBA入门级教程来了,条件语句很简单!
八大查找函数公式,轻松搞定数据中的多条件查找
版权申明:
本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。
领取专属 10元无门槛券
私享最新 技术干货