D列包含要查找的子字符串,它可以位于A列的搜索字段中的任何位置。列E包含用于替换A列内容的值。请参阅B列中的结果。任何人都可以帮助我吗?
答案 0 :(得分:0)
如果你对此感到满意,我建议修改一下。
在columns F, G and H
中排列查找值,并在下一个相应行中替换值。你需要3个辅助列,(因为你有3个查找值)。 Column B, C and D
是辅助列。
在column B
,B1
,
=IFERROR(IF(MATCH("*"&F$1&"*",$A1,0),F$2),"")
只需将其拖动到整个范围的底部,然后将其拖到E列。
F列是您的实际输出。在F列中输入公式
=B1&C1&D1
然后将其拖下来。希望这可以帮助。如果您还有其他需要,请告诉我。
答案 1 :(得分:0)
这样可行,但不是很优雅,也不容易扩展。
REPT(Replacement,COUNTIF(Values,*Labels*))
这是*
系列。搜索周围的SharedPreferences
允许它是通配符,基本上是否包含COUNTIF的标志。然后我们重复替换值countif存在的次数(在示例中将始终为1),然后连接结果。
答案 2 :(得分:0)
我已经创建了一个VB脚本来解决这个问题:
Sub DetermineFeatures()
Dim featureLabel As String
Dim testString As String
testString = "FEAT_EMV_L4, Team_1, Team_IBM"
Dim stringValue As Variant
Dim lookupRange As Range
Set lookupRange = Worksheets("LookupTable").Range("A1:B100")
Dim outputWorksheet As Worksheet
Set outputWorksheet = Worksheets("Output")
Dim feature As String
Dim rowIndex As Long
For Each cell In Worksheets("Original").Columns("O").Cells
rowIndex = cell.Row
cellValue = WorksheetFunction.Trim(cell.Value)
For Each stringValue In Split(cellValue, ",")
If InStr(stringValue, "LABEL_") Then
featureLabel = Trim(stringValue)
' Call the Vlookup function to look up the actual feature name
for the supplied label. This
' returns the value from the second column of the range within
the LookupTable worksheet.
feature = Application.WorksheetFunction.VLookup(featureLabel,
lookupRange, 2, False)
outputWorksheet.Cells(rowIndex, 1) = feature
If Not IsEmpty(featureLabel) Then Exit For
End If
Next
Next cell
End Sub