2014-10-09 71 views
2

A1 = Blabla,124814012Excel:如何使用通配符替換文本?

我想除去「Blabla」以外的所有東西。

我用什麼命令來獲得效果,就好像我做了CTRL + H(替換),並告訴它用什麼都替換「,*」。

我能做到這一點: = REPLACE(A1,FIND( 「 」A1,1),3000,「」)

但是需要能夠使用X *等

回答

1

得到Morefunc附加組件及用途:

=REGEX.SUBSTITUTE(A1 , ",(.*)" , "")


MOREFUNC ADDON

+0

你會認爲微軟會現在添加正則表達式 – helena4 2014-10-09 15:54:18

1

嘗試,

Dim x as string 
x = range("a1").value 
if cbool(instr(1, x, chr(44))) then _ 
    x = left(x, instr(1, x, chr(44))-1) 'Chr(44) is a comma 
debug.print x 

附錄:我會做功能版本票友一點。

Public Function fc_Split_at(sSTR As String, sDELIM As String, Optional iPC = 1) 
    fc_Split_at = Split(sSTR, sDELIM)(iPC - 1) 
End Function 

語法:

= fc_Split_at(<原始字符串><分隔符>,[可選] <件返回>

?fc_Split_at("*Blabla,124814012", ",") 
*Blabla 
?fc_Split_at("*Blabla,124814012", ",", 2) 
124814012 
+0

你能作出這樣的成功能? = FREPLACE(目標,取代什麼,用此取代) = FREPLACE(A1,「,*」,「」) – helena4 2014-10-09 13:59:32

+0

是的,這很酷。即使是強硬的結果,我認爲是不同的。 – helena4 2014-10-09 14:40:24

-1

Excel的查找&替換允許使用通配符。

在您簡單的例子,如果你去查找/替換並鍵入:

查找內容:Blabla*

替換爲:Blabla

這將這樣的伎倆和刪除任何以下內容Blabla

希望能訣竅!

+1

我認爲'?'可能不是必須的(然後你會把第二個'B'變成大寫)。 – pnuts 2014-10-09 14:35:38

+0

我試圖使用一個公式或udf它(;並且你認爲我總是用什麼替換(:而且我永遠不會替換掉我用其他東西去除的東西(:Thx任何方式) – helena4 2014-10-09 14:41:22