从Excel中第35个位置字符前的最后一个空格中拆分文本

问题描述 投票:0回答:1

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

我想在第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
excel excel-formula formula
1个回答
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。

© www.soinside.com 2019 - 2024. All rights reserved.