令人恼火的不规范数据源,用这个公式一招干翻它!

每天一点小技能

职场打怪不得怂

编按:一个单元格内只放一个属性的数据是Excel数据规范的要点,但是在日常工作中,我们还是容易遇到不按规范录入的数据源,那么我们应该怎么处理呢?如何精确提取我们所需要的数据,进行下一步的操作呢?

正文:

临近春节,公司组织了各类团拜活动,行政部门的小刘负责统计大家需要的物资数量并配合采购发放,可是大家汇总的结果让小刘头疼不已,数据是这样的。

我们之前讲过的Excel使用规范,即一个单元格只能存放一种属性的数据。但在这个数据表中,一个单元格存放了三个属性的数据,数量、单位和名称都合并到了一起存放。这让小刘感到束手无策,根本无法汇总。

那么该怎么解决呢?

以下,从两个方面来给出解决方案:

1、从处理数据源这个方向下手处理。

2、针对这个数据源找到一个适合的汇总公式。

方案一:改造数据源

既然问题出在数据源不规范,将原本应该是三列存放的数据放在了一列,那么只要把一列再拆分到三列,问题就可以解决了。因此现在要做的就是根据B列的内容,得到C、D、E三列结果。

这就涉及到数据提取的方法,以下分别说明。

1、名称怎么提取?

可以使用公式=RIGHT(B2,LENB(B2)-LEN(B2)-1)提取名称。

思路分析:

名称在单元格的右侧,因此用RIGHT函数提取。在这个问题中的关键在于确定名称的字数。确定单元格内汉字的字数通常用=LENB(B2)-LEN(B2)这个套路。

公式解析:

LEN和LENB都是统计字数的函数,区别在于LEN不分单字节和双字节,LENB是区分单字节和双字节的。比如,统计一个汉字时,LEN的结果是1,而LENB的结果是2。因此,在统计B2单元格字数时,LEN(B2)的结果是6,而LENB(B2)的结果就是9,LENB(B2)-LEN(B2)即可得出B2单元格内汉字的字数。

结果,如下图所示,大家理解一下即可明白。

因为统计出的汉字中还有一个汉字是单位,所以,赠品名称的字数需要在汉字的总字数中减1,即LENB(B2)-LEN(B2)-1。最后,再用Right函数提取名称就完成了。

2、数量怎么提取?

可以使用公式=LEFT(B2,LEN(B2)*2-LENB(B2))提取数量

数量在单元格的左侧,因此用LEFT函数提取。如图,同样用LEN函数和LENB函数配合计算出数字的长度。

这个公式的原理,大家研究一下就可以明白了,在此不再赘述。

实际上要解决小刘的问题,有名称和数量就足够了,使用SUMIF函数就能得到最终的结果。

公式=SUMIF(C:C,I2,F:F)相信同学们都不陌生,就不解释了。

在这里补充一句,如果要直接用SUMIF函数的话,公式LEFT(B2,LEN(B2)*2-LENB(B2))的前面需要加--,也就是文本转数字,因为LEFT函数得到的结果是文本型。

3、扩展学习:单位怎么提取?

这个问题与今天的主题无关,只当是再熟悉一下LEN和LENB的应用吧,公式为:

=MID(B2,LEN(B2)*2-LENB(B2)+1,1)

其中的具体原理,大家可以自己梳理一下,很简单。

以上的三个问题,都不止一种公式可以实现,有兴趣的同学不妨开动脑筋,看看自己能否用其他公式做到。

接下来要介绍的是不改造数据源,直接用公式一步到位的方法。

这个公式就是=SUM(IFERROR(--LEFT(B:B,FIND(I2,B:B)-2),))

下面简单解释一下这个公式的原理。

以茶叶为例,FIND(I2,B:B)可以实现两个功能,如果B列包含“茶叶”的数据则得到“茶叶”这两个字所在的位置,如果不含“茶叶”则会得到错误值。

如下图所示,B列实际上有四个单元格是包含了茶叶的,FIND得到的就是四个数字5、4、4、4,其余都是错误值。

FIND(I2,B:B)-2的结果中同样只有四个数字,分别是3、2、2、2。

注意第一个数字3,就是第一个茶叶所对应的数量的长度,这一步的作用也就很容易理解了,就是得到每个名称所对应的数量的长度。

长度确定了,就可以直接用LEFT函数去提取数量。因此就有了LEFT(B:B,FIND(I2,B:B)-2),对应的结果如图所示。

到这一步,只需要将数值转为文本,将错误值变成0,再用SUM求和就是每个赠品的数量合计了。

数值转文本是通过“- -”实现的,错误值变成0则是IFERROR的特性。

最后通过SUM函数完成求和即可。

注意这个公式是数组公式,需要按着Ctrl、shift和回车键完成输入。

小结:一个不规范数据的统计问题,带出来很多值得思考的问题。今天的教程里有很多公式、函数在应用方面的细节问题,十分期待各位同学将本期内容的收获与大家分享,共同进步。

扫一扫添加老师微信

在线咨询Excel课程

Excel教程相关推荐

Excel教程:还不会做工资条?赶紧戳进来看看
解放双手!这张Excel全自动汇报表,用到你退休!
被老板嫌弃的我,真后悔没有早点掌握这12个Excel常用办公技巧!
再见Ctrl+C!单列数据转换成多列数据,用它只需30秒!
想要全面系统学习Excel,不妨关注部落窝教育的《一周Excel直通车》视频课或者《Excel极速贯通班》。

主讲老师: 滴答

 

Excel技术大神,资深培训师;

课程粉丝100万+;

开发有《Excel小白脱白系列课》

《Excel极速贯通班》

原价299元

限时特价 99 元

少喝两杯咖啡,少吃两袋零食

就能习得受用一生的Excel职场技能!

(0)

相关推荐