我很欣赏这些回复,但我认为我的措辞含糊不清。让我试着用图片来解释。
http://postimg.org/image/mrh7okefp/
公式放在C2中,将查看A2中的所有单词。然后它会搜索B2:B9进行任何比赛。如果它找到了什么,它会将该单词放在C2中。如果它什么都没找到,它会将单元格留空(我忘了在图像中包含它)。然后可以将公式向下拖动到C3并搜索相同的B2:B9,将找到的单词放在C3中。等等等等。希望这有助于澄清。
答案 0 :(得分:0)
这是使用公式的一种方法。想象一下如下设置:
A B
1 dog cat mouse orange table
2 cat cat
3 orange orange
4 bananas No match
在单元格B2
中输入以下公式:
=IF(ISERROR(MID($A$1,FIND(A2,$A$1,1),LEN(A2))),"No match",MID($A$1,FIND(A2,$A$1,1),LEN(A2)))
这可以通过检查是否匹配来实现。如果有,它会获得第一个字符的位置以及单词的长度,以提取您需要的内容。
有几点:
希望这有助于您入门。
答案 1 :(得分:0)
可以进一步简化公式以获取单元格中的搜索文本。在下表中是搜索到的文本及其存在:
1 dog cat mouse orange table
A B
3 cat FOUND
4 orange FOUND
5 grapes NOT FOUND
6 table FOUND
7 red NOT FOUND
8 dine NOT FOUND
9 table FOUND
10 dog FOUND
11 cat FOUND
12 leg NOT FOUND
我已将以下公式放在单元格B3中并将其拖下来:
=IF(ISERROR(FIND(A9,$A$1,1)>0),"NOT FOUND","FOUND")
答案 2 :(得分:0)
按Alt + F11,将此代码粘贴到空模块中,在工具/引用中选中VBScript Regular Expressions 5.5复选框,并使用ExtractColor作为B列中的用户定义函数。它处理具有多个关键字的单元格。
Function ExtractColor(c As String) As String
With CreateObject("VBScript.RegExp")
.ignorecase = True
.Global = True
.Pattern = "(red)|(blue)|(orange)|(green)|(black)|(white)|(purple)|(yellow)|.+?"
Set myMatches = .Execute(c)
If .Test(c) Then ExtractColor = Application.Trim(.Replace(c, "$1 $2 $3 $4 $5 $6 $7 $8"))
End With
End Function