使用公式将列分隔的文本添加到列中

时间:2015-12-03 12:22:35

标签: excel split excel-2010 multiple-columns cells

我在单元格中有字符串,看起来像这样(可能有数百个)

713.00;482.00;337.00;530.00;
71.00;32.54;37.00;5300.30;
  • 有4个数字,每个数字后跟一个分号。
  • 这些数字的长度会有所不同

Ideal Output

我有第一个单元格(Split 1)的公式:

=LEFT(B2,(FIND(";",B2,1)-1))

我无法弄清楚以下3个细胞的格式(分裂2,3和4)

注意:这需要是一个公式而不是文本到列的功能。

任何建议都将不胜感激,如果需要更多信息,请询问! :)

1 个答案:

答案 0 :(得分:3)

B1 中输入:

=TRIM(MID(SUBSTITUTE($A1,";",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

并反复复制:

enter image description here

要获取数字而不是文本子字符串,请使用:

=--TRIM(MID(SUBSTITUTE($A1,";",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

并将结果格式化为两位小数。

一个缺点是数字999是任意的,因此如果初始字符串的长度大于该数字,则该公式将失败。为防止这种情况发生,我们可以使用LEN($A1)代替999:

=--(TRIM(MID(SUBSTITUTE($A1,";",REPT(" ",LEN($A1))),(COLUMNS($A:A)-1)*LEN($A1)+1,LEN($A1))))