在Excel中第35位字符之前的最后一个空格中分割文本

时间:2019-04-24 02:59:55

标签: excel excel-formula formula

例如供应商名称-南京邦盛精密机械有限公司

我想从第35个位置之前的最后一个空格中删除此名称。

在这种情况下,第35个位置是“机械”中的“ E”,我想将其与前面的空格分开。

NANJING BANGSHING PRECISION - Cell A1
MACHINERY TE - Cell B2     

目前,我正在寻找倒数第二个空格的位置(对于任何超过35个字符的供应商名称,因为名称不超过70个字符),以完成我的任务。但是,这不是一个好习惯。

=FIND("^"|SUBSTITUTE(A1|" "|"^"|LEN(A1)-LEN(SUBSTITUTE(A1|" "|""))-1))

找到位置

NANJING BANGSHING PRECISION - Cell A1
MACHINERY TE - Cell B2

1 个答案:

答案 0 :(得分:2)

AGGREGATE可以返回第35个位置之前的最后一个空格的位置。与REPLACE一起使用可删除不需要的字符。

'first part
=REPLACE(A2, AGGREGATE(14, 7, ROW($1:$35)/(MID(A2, ROW($1:$35), 1)=" "), 1), LEN(A2), "")
'second part
=REPLACE(A2, 1, AGGREGATE(14, 7, ROW($1:$36)/(MID(A2, ROW($1:$36), 1)=" "), 1), "")

如果第35位实际上是空格,该如何做还不清楚。以上将其用作停止点。如果这不是您想要的行为,请将35更改为34。