1

我很欣赏这些回应,但我认为我的措辞模棱两可。让我试着用一张图片来解释。

http://postimg.org/image/mrh7okefp/

公式放在 C2 中,将查看 A2 中的所有单词。然后它将在 B2:B9 中搜索任何匹配项。如果它找到了一些东西,它将把那个词放在 C2 中。如果它什么也没找到,它会将单元格留空(我忘了在图像中包含它)。然后可以将公式向下拖动到 C3 并搜索相同的 B2:B9,将找到的单词放在 C3 中。等等等等。希望这有助于澄清。

4

3 回答 3

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. 您可能想考虑如何处理区分大小写
  2. 如果句子中只有一个搜索词实例,则此方法有效

希望这可以帮助您入门。

于 2013-07-21T10:05:59.620 回答
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")
于 2013-07-21T11:48:45.677 回答
0

按 Alt+F11,将此代码粘贴到一个空模块中,在工具/参考中选中 VBScript 正则表达式 5.5 复选框并在 B 列中使用 ExtractColor 作为用户定义的函数。它处理具有多个关键字的单元格。

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
于 2013-07-21T19:29:27.220 回答