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

我看起来像这样的单元格中的string(可能有数百个)

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

理想输出

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

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

我只是无法弄清楚以下3个单元格(Split 2,3和4)

注意:这需要是一个公式而不是文本到列函数。

任何build议将不胜感激,如果需要更多的信息,请问! 🙂

B1中input:

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

并复制和下载:

在这里输入图像说明

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

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

并用两位小数格式化结果。

一个缺点是数字999是任意的,所以如果初始string的长度大于该数字,那么这个公式将失败。 为了防止这种情况,我们可以使用LEN($A1)而不是999:

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