如果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多个单词分配相应的值,只要你喜欢简单连接如图所示。 我能够指定数百个单词(和相应的值)。 我希望它有帮助。