我已经贴在单元格A1文本可能看起来像这样:查找并在Excel
“先锋 - 总市场 - 复合”,还是“先锋 - 总市场 - 混合”
我想切断“ - 复合”或“混合”并将其余的单元返回到B1单元格。目前我使用这个公式B1:
= LEFT(A1,FIND( “ - 复合”,A1)-1)
但是,我想不出如何寻找多个方面(即复合或混合)。有没有一个公式可以做到这一点?如果没有,我怎么能在VBA中做到这一点?
感谢您的帮助!
我已经贴在单元格A1文本可能看起来像这样:查找并在Excel
“先锋 - 总市场 - 复合”,还是“先锋 - 总市场 - 混合”
我想切断“ - 复合”或“混合”并将其余的单元返回到B1单元格。目前我使用这个公式B1:
= LEFT(A1,FIND( “ - 复合”,A1)-1)
但是,我想不出如何寻找多个方面(即复合或混合)。有没有一个公式可以做到这一点?如果没有,我怎么能在VBA中做到这一点?
感谢您的帮助!
可以使用SUBSTITUTE
功能and chain multiple calls:
=SUBSTITUTE(SUBSTITUTE(A1," - Composite", ""), " - Commingled", "")
如果我理解正确的,您只是要剥夺一切都会过去的-
第二次出现,即返回第一个-
字符左边的修剪(多余的空白字符)文本。适应this solution查找字符串中的最后一个字,这将是它:
=TRIM(SUBSTITUTE(LEFT(A1,LEN(A1)-LEN(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"-",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,LEN(A1)))),"-","",2))
这个公式将带或不带-
周围的空间工作,不管是什么如下:
如果相等间距是非常重要的,你可以用SUBSTITUTE
功能包起来:
=SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(LEFT(A1,LEN(A1)-LEN(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"-",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,LEN(A1)))),"-","",2)),"-"," - ")," "," ")
现在你已经为所有的情况下清洁,相同格式的输出:
将您的数据总是有两个'-'? – Chrismas007
它们总是以“公司 - 指数 - 方法”的形式出现吗? – Comintern
'= SUBSTITUTE(SUBSTITUTE(A1,“ - Composite”,“”),“ - Commingled”,“”)'? – assylias