在Excel中查找和删除单元格中的文本
我已经在单元格A1中粘贴了文本,如下所示:
“先锋 – 市场 – 综合”或“先锋 – 市场 – 混合”
我想切断“ – 复合”或“混合”,并将其余的单元格返回到B1单元格。 目前我在B1中使用这个公式:
= LEFT(A1,FIND(“ – Composite”,A1)-1)
但是,我不知道如何查找多个术语(即复合或混合)。 有没有一个公式可以做到这一点? 如果不是,我怎么能在VBA中做到这一点?
谢谢您的帮助!
如果我理解正确的话,你只需要去掉第二个出现的东西,也就是返回第一个字符左边的修剪过的(多余的空白的)文本。 调整这个解决scheme来findstring中的最后一个单词,这将是:
=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))
这个公式将会在-
或者没有周围的空间的情况下工作,而不pipe下面是什么:
如果间距很重要,可以用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)),"-"," - ")," "," ")
而现在,您对所有情况都有干净的格式化输出:
我已经制定了这个公式,只要您填入可能性范围,就可以使用许多可能性,而不需要在有新的公式时更改公式。 这里是:
=LEFT(A2,FIND(INDIRECT(ADDRESS(SUMPRODUCT((--ISNUMBER(SEARCH(Possibilities,A2)))*ROW(Possibilities)),SUMPRODUCT((--ISNUMBER(SEARCH(Possibilities,A2)))*COLUMN(Possibilities)))),A2)-1)
您可以使用SUBSTITUTE
function并链接多个呼叫 :
=SUBSTITUTE(SUBSTITUTE(A1," - Composite", ""), " - Commingled", "")