数据,是职场永恒的主题,不同的公司,领导的要求不一样,在众多领导之中,总有一些比较奇葩的,曾见过在明细表输入数量的时候,为了方便,直接将单位,和数量,输入到相同的单元格,可是到后期进行统计的时候,才发现连最基本的求和都搞不定,那么如何将一列包含数量和单位的数据,分为两列,一列数量,一列单位呢?

没有EXCEL2016的版本,不会VBA的正则表达式,难倒低版本,EXCEL2007只能暗暗哭泣吗?

其实作为低版本,这种对于数量的处理,也是可以实现的,对于上面的要求,我们可以直接在C2单元格输入公式:=MAX(IFERROR(LEFT(B2,ROW($1:8))*1,0)),而后同时按住ctrl+enter+shift键,将公式转化为数组,向下一拖动,全部实现数值的提取

升职加薪,需要提升效率,购买后永久有效

很多亲们可能不解是什么意思,我们分步理解,LEFT(B2,1),这个应该很容易理解,就是从B2单元格提取1个字符的意思,那么提取出来的就是1,但是实际之中,数值是不固定的,只提取一个,肯定不行,从而就出现了数组公式LEFT(B2,ROW($1:8)),因为ROW($1:8)得到的结果是{1;2;3;4;5;6;7;8})也就相当于从B2分别提取1-8个字符的意思,形成8个数据,这里值得说明的是如果数值很大,可以将8修改大一点

LEFT(B2,ROW($1:8))*1是因为提取的数值中,是文本形式存在的,那么乘以1之后,就转化为了可以计算的数值型,同时将文本转化为错误值,而后用iferror函数将错误值替换为0,再用max函数提取最大值即可

数值提取出来了,那么下一步,我们就是提取单位,可以用B列数据的总字节长度,减去数值的字节长度,从而获得单位,而后从右侧提取即可=RIGHT(B2,LEN(B2)-LEN(MAX(IFERROR(LEFT(B2,ROW($1:$8))*1,0)))),公式为数组公式,一定记得三键

在职场很多工作之中,问题出来后,都是有解决方法的,只要我们善于思考,懂得搭建框架,但是更重要的,不是后期的处理,而是在我们开始做表的时候,一定要考虑后期的分析,毕竟没有分析的数据,都是没有意义的,职场亲们如有疑问,欢迎关注后讨论