不管你是刚进职场的菜鸟新手们,还是已经如鱼得水的老将,Excel一定是一项必备技能。不能掌握其中的技巧的话,有时一个简单的Excel数据操作都可能花费我们很长的时间,除去消耗的时间不说,处理繁杂数据的焦躁就足以破坏一整天的工作计划。今天小编就带着大家抛开高深的技术代码,放松一下,跟随聂春霞老师学习Excel操作中字符提取和模糊求和的方法。
如图 1 ,要对A列应用名称为同一款游戏名称的付费金额求和,比如,A2:A5都是王者荣耀,要对B2:B5求和。
图1
也许你会说这还不简单吗,直接用sum(B2:B5)不就行了,可是每种应用名称对应的行数不一样,要生成的报表如图 2 。
图2
解决步骤如下:
Step1:
要生成图 2 报表,首先得把A列应用名称的简称提取出来。
A列内容的特点是前面是文字,中间是数字,只需提取数字前面的文字,因此考虑left或leftb函数提取,C2公式
=LEFTB(A2,SEARCHB("?",A2)-1)
公式意思是先找出A2中单字节的数字所在的字节数,字节数减去1就是数字前面的汉字字节数,再用leftb取左边的汉字。
一个汉字代表 2 个字节,半角状态下的一个数字代表 1 个字节。Searchb是在一个字符串中查找特定字符位置的函数,而且可以区分单双字节,它和Find的区别是可以使用通配符。公式中的?就是表示 任意一个单字节的字符,属通配符,不是真的查找问号。
Step2:
接下来给C列加个字段名称“应用名称简称”就可以用数据透视表得到图 2 结果,
如果用公式,需要对C列提取不重复内容,可以用数据→删除重复项来完成。
Step3:
D列是A列的简称,借助通配符*用SUMIF函数求和。
E2公式
=SUMIF(A:A,"*"&D2&"*",B:B)
&是连接符,D2前后连接*,表示D2前后有任意个字符,如果A列内容和D列前后带任意个字符的内容相符就求和。
一个问题的解决,用到了leftb, searchb,sumif等多个函数,还有通配符*和?,删除重复项、数据透视表等多个技巧,所以说,混职场还是要有点综合实力哦。
(本文节选自聂春霞,佛山小老鼠作品《Excel职场手册:260招菜鸟变达人》)
(点击图片,查看全书)
作者:聂春霞 , 佛山小老鼠
腾讯学院院长写序力荐,ExcelHome论坛、Excel完美论坛鼎立支持。
10年数据分析经验+6年Excel课程讲师+2万学员共同选择。
配套提供Excel操作动画,直观、生动、易学。