2012-08-09 125 views
3

我需要替換可能包含某些值的單元格中的值。比方說,我有列在A列中的以下值。Excel函數替換子字符串

Trucking Inc. 
New Truck Inc 
ABV Trucking Inc, LLC 

我希望能夠用相應的值替換以下內容。以下是包含在2列中的列表。 1列是從,另一個是到字段。

 From  To 
     " Inc." "" 
     " Inc" "" 
     " Inc, " "" 
     " LLC" "" 

結果應該是:

Trucking 
New Truck 
ABV Trucking 

希望我在這裏做的意義。

+1

你有沒有想過''Replace'按Ctrl + G'或'Substitute'功能? – 2012-08-09 20:14:05

+0

我使用下面的單元格公式來查找特定的一組測試。 = IF(Q3 =「」,0,VLOOKUP(Q3,I $ 2:J $ 7,2,FALSE)) Q3是我驗證的值,這將是A列中的數據。 I列包含From值,J列包含To值。這個公式的問題是它尋找確切的值。我需要找到子字符串。 這個公式的變體可能嗎? – 2012-08-09 21:05:47

回答

6

我正在做同樣的假設,斯科特·霍爾茨曼 - 你可能要使用的替補多的功能。

例子:

=SUBSTITUTE(A2,B2,C2) 

這是我假設你的情況:

Your Situation I Think

,正如asside(笑雙關語):你應該學會如何採取屏幕截圖和然後用MS油漆編輯 - 這將讓很多其他問題回答正確你(只是備查):

+0

因爲我的需要,這肯定會做。我只希望From和To可以是VLookup中的範圍。 – 2012-08-09 22:04:08

+0

我會記住截圖:) – 2012-08-09 22:04:57

1

我你是試圖在宏中執行此操作,然後您也可以嘗試VBA替換語句。它比替代功能好得多。

您可以使用下面的宏來助您的事業:

Sub ChangeTerms() 
Dim rows As Integer 
Dim cellvalue As String 
Dim Newcellvalue As String 
rows = ActiveSheet.UsedRange.rows.Count 
For i = 1 To rows 
cellvalue = ActiveSheet.Cells(i, 1).Value 
Newcellvalue = Replace(cellvalue, " Inc.", "") 
Newcellvalue = Replace(Newcellvalue, " Inc,", "") 
Newcellvalue = Replace(Newcellvalue, " Inc", "") 
Newcellvalue = Replace(Newcellvalue, " LLC", "") 
ActiveSheet.Cells(i, 1).Value = Newcellvalue 
Next i 
End Sub 

這個宏的心臟是替換功能。如果您需要了解更多有關該功能的話,請辦理以下資源:

http://www.exceltrick.com/formulas_macros/vba-replace-function

http://msdn.microsoft.com/en-us/library/bt3szac5(v=vs.80).aspx