我的数据通常是CMB1.I2.CB3.str01/02+或01-02.01+,或者是设置上的一些随机变化。我认为最坏的情况是AR1.IN2.CM3.ST 04/05+。
现在,我有在col A2-A 1000,在col,C,D等中的完整字符串数据,我正在尝试将完整的字符串按部分分开。我在excel中使用left , mid, len and search函数来分隔字符串,并让用户输入分隔符(在本例中为all,但有时是-,或/等)。所以我的公式是这样的
使用此示例,AR1.IN2.CM3.ST04/05+位于单元格A5中,分隔符/分隔符(.s)位于单元格B2 - D2中。
A5:AR1.IN2.CM3.ST04/05+
A6:A1.I2.CM3.ST06/07-
A7:01.03.4.8/9+
B5 : AR1
b5中的情商:=LEFT(A5,SEARCH($B$2,A5,1)-1)
C5 : IN2
C5中的情商:=MID(A5,LEN(B5&$B$2)+1,SEARCH($C$2,A5,LEN(B5&$B$2)+1)-LEN(B5&$B$2&$C$2))
D5 : CM3
D5中的情商:=MID(A5,LEN(B5&$B$2&C5&$C$2)+1,SEARCH($D$2,A5,LEN(B5&$B$2&C5&$C$2&$D$2)+1)-LEN(B5&$B$2&$C$2&C5&$D$2))
E5 :ST04 04/05+
E5中的情商:=RIGHT(A5,LEN(A5)-LEN(B5&$B$2&C5&$C$2&D5&$D$2))
我的公式很好,但我希望有一个更简单的方法?当我试图向同事解释每种配方都在做什么时,他们的眼睛都呆呆了。
发布于 2016-09-08 23:00:03
为了缩短公式,您可以:
SUBSTITUTE和FIND在这里可能很有用。Split (部分保留公式领域)。我非常喜欢这个,我经常在用户定义的公式中使用它。你的同事看起来会恢复正常..。
发布于 2016-09-08 23:27:42
一种更简单的方法。使用A列中的数据,在B1中输入:
=TRIM(MID(SUBSTITUTE($A1,".",REPT(" ",999)),COLUMNS($A:A)*999-998,999))复制这两个跨和向下。例如:

这就像“从文本到列”,但是有一个公式。
https://stackoverflow.com/questions/39401240
复制相似问题