如果B列中的值=特定文本,则将特定文本插入列A中的值

简单地说 – 如果列B中的任何单元格包含此thisvalue则使用thisvalue附加到列A中的相邻单元格。

这是怎么做的?

把这个公式放在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 

但是,macros的重复运行会再次附加文本。 如果你不希望发生这种情况,你需要更多的validation码。

一个简单的if语句。 例如:

 =IF(ISNUMBER(SEARCH(thisvalue, B1)), sometext, "") 

编辑:ISNUMBER(SEARCH(thisvalue,B1))在B1中search此值,如果find它,它将返回一个数字(该数字是B1中此值的起始索引)。

编辑#2:若要将插入的值附加到单元格A中当前值的末尾,请使用CONCATENATE公式。

例:

 =CONCATENATE(A1, sometext) 

在A1中复制粘贴,考虑到你在B中有值

 =IF(ISNA(VLOOKUP("thisvalue",B:B,1,FALSE)),"",VLOOKUP("thisvalue",B:B,1,FALSE)&"ADDITIONAL VALUE") 

它是这样说的:如果vlookup的值是空的(如果查找不返回任何内容),则显示空值(双引号),但是如果查找返回值,则执行此查找并追加“ADDITIONAL VALUE”文本到find的结果

我想我有你要找的东西,让我知道你是否还有兴趣,如果你想让我进一步阐述。 在单元格F2:= IF(ISNUMBER(SEARCH($ U $ 2,E:E)),$ V $ 2,“”)&IF(ISNUMBER(SEARCH($ U $ 3,E:E)),$ V $ 3, “”)&…在E:E列的所有单元格中search在U2中指定的值的情况下,如果find匹配项,则会附加您在V2中指定的值。 为了search多个单词分配相应的值,只要你喜欢简单连接如图所示。 我能够指定数百个单词(和相应的值)。 我希望它有帮助。