简单地说 - 如果 B 列中的任何单元格包含thisvalue
,那么将附加到 A 列中的相邻单元格上sometext
。
这是怎么做到的?
一个简单的 if 语句。例如:
=IF(ISNUMBER(SEARCH(thisvalue, B1)), sometext, "")
编辑: ISNUMBER(SEARCH(thisvalue, B1)) 在 B1 中搜索 thisvalue,如果找到,则返回一个数字(该数字是 B1 中 thisvalue 的起始索引)。
编辑#2:要将插入的值附加到单元格 A 中当前值的末尾,请使用 CONCATENATE 公式。
例子:
=CONCATENATE(A1, sometext)
将此公式放入 A1 中,然后根据需要向下拖动:
=IF(B1="thisvalue","sometext","")
编辑
使用 Visual Basic 编辑器,您可以像这样更新单元格 A 的内容:
Private Sub UpdateColumnA()
Dim x As Long
For x = 1 To 65536
If InStr(1, Sheet1.Range("$B$" & x), "thisvalue") > 0 Then
Sheet1.Range("$A$" & x) = Sheet1.Range("$A$" & x) & "sometext"
End If
Next
End Sub
然而,宏的重复运行将再次附加文本;如果您不希望发生这种情况,您将需要更多验证代码。
我想我有你要找的东西,如果你仍然感兴趣,如果你想让我进一步详细说明,请告诉我。单元格 F2 中的这个公式: =IF(ISNUMBER(SEARCH($U$2,E:E)),$V$2,"")&IF(ISNUMBER(SEARCH($U$3,E:E)),$V$3, "")&... 您在 E:E 列的所有单元格中搜索您在 U2 中指定的值,如果找到匹配项,则会附加您在 V2 中指定的值。要搜索分配相应值的多个单词,只需按照您喜欢的方式连接即可。我能够指定数百个单词(和相应的值)。我希望它有所帮助。
考虑到您在 B 中有值,复制粘贴到 A1
=IF(ISNA(VLOOKUP("thisvalue",B:B,1,FALSE)),"",VLOOKUP("thisvalue",B:B,1,FALSE)&"ADDITIONAL VALUE")
它是说:如果 vlookup 的值为空(如果查找不返回任何内容),则显示空值(双引号)但如果查找的值返回某些内容,则执行此查找并将“附加值”文本附加到找到的结果