使用公式将文本分隔为列

Delimited text to columns using a formula

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

713.00;482.00;337.00;530.00;
71.00;32.54;37.00;5300.30;

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

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

我只是想不出以下 3 个单元格(拆分 2、3 和 4)的公式

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

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

B1中输入:

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

并向下复制:

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

=--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))))