Excel函数替换子字符串

4

我需要替换可能包含某些值的单元格中的值。假设我在A列中列出了以下值。

Trucking Inc.
New Truck Inc
ABV Trucking Inc, LLC

我希望能够用相应的值替换以下内容。以下是一个包含2列的列表。第1列是From,另一列是To字段。

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

结果应该是:
Trucking
New Truck
ABV Trucking

希望我表达得清晰明了。


1
你有没有考虑过使用“替换”、“Ctrl + G”或“替代”函数? - Scott Holtzman
我使用以下单元格公式来查找特定的测试集。=IF(Q3="", 0, VLOOKUP(Q3,I$2:J$7, 2, FALSE))Q3是我正在验证的值,这将是A列中的数据。I列包含From值,J列包含To值。这个公式的问题在于它只查找精确值。我需要查找子字符串。是否可能有这个公式的变体? - Michael W
2个回答

12
我做出和Scott Holtzman相同的假设 - 你可能想使用SUBSTITUTE函数。 示例:
=SUBSTITUTE(A2,B2,C2)
我假设你的情况如下所示:

Your Situation I Think

顺便说一句(开个玩笑):你应该学会如何截屏并使用 MS Paint 进行编辑,这将更好地回答你的问题(作为参考)。

对于我的需求来说,这肯定是可以的。我只希望“从”和“到”可以像VLookup中一样是范围。 - Michael W

1
如果您希望在宏中执行此操作,则还可以尝试使用VBA Replace语句。 它比替换函数更好。
您可以使用以下宏来帮助您的工作:
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

这个宏的核心是Replace函数。如果您需要了解更多关于此函数的信息,请查看以下资源:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接