最讨厌数据不规范的了。 这么一个表格。 要变成以下的表格。 没有显著的规律,这并不容易。 使用了一个如下数组公式。 =LEFT(A2,MATCH(TRUE,ISERROR(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*1),0)-1)*1 输入之后CTRL+SHIFT+回车。 为了让大家容易明白,新建一个表来说事情。 假设A1长度为9,我们就从1到9 使用以下公式。 如下,选择B1:B9,输入公式,=MID(A1,ROW(1:9),1),这是一个数组公式,需要CTRL+SHIFT+回车。可以看到,分解成一组内容了。 全部*1得到如下效果。 再判断是否有错误。,如果是数字,返回FALSE,否则TRUE 后面再用MATCH去查TRUE的位置,从而知道从第几位开始不是数字了。 但是取数的时候,只能从左边取,取到非数字的位置,减去一个1. 比如120支,汉字是第4位,数字就是取到第3位。 公式更改如下: =LEFT(A2,MATCH(TRUE,ISERROR(MID(A2,ROW(1:9),1)*1),0)-1)*1 但是这样操作仅适合A2单元格长度明确是9位的。如果10位,11位,则需要用INDIRECT结合自动匹配长度。 =LEFT(A2,MATCH(TRUE,ISERROR(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*1),0)-1)*1 外面*1是将文本转为数值。 C列的公式就好理解了。 B列公式有点长,反正国庆节有8天假。 慢慢研究去吧。 本公式需要学过涉及的各个函数。 看不懂没关系,先收藏。 总有一天,你会懂。
子曰:用之则行,不用则藏。 意思是说,如果你用我的这些建议,就马上行动,知行合一,如果你不用,就赶紧收藏,以绝后患。 |
|