【问题标题】:Excel: How to search for a word?Excel:如何搜索单词?
【发布时间】:2017-12-24 06:07:33
【问题描述】:

我有一列,该列的每一行都有几个单词。现在我需要搜索该短语中是否存在单独的单词。

我尝试使用 Search() 函数,但即使单词是单词的一部分而不是单独的单词,它也会显示结果。

例如:如果我使用 Search("mart",)。它甚至返回包含 jmart 之类的单词的单元格。但我希望它返回的就像一个单元格包含“hello mart”或“mart abc”

【问题讨论】:

    标签: excel search filter find


    【解决方案1】:

    正如问题中提到的那样,一个单元格中只有两个单词,那么这应该会有所帮助。在Cell B1中输入以下任意一个公式

    =IF(ISERR(SEARCH(" mart",A1)),IF(ISERR(SEARCH("mart ",A1)),"",SEARCH("mart ",A1)),SEARCH(" mart",A1))
    

    -

    =IF(ISNUMBER(SEARCH(" mart",A1)),SEARCH(" mart",A1),IF(ISNUMBER(SEARCH("mart ",A1)),SEARCH("mart ",A1),""))
    

    根据需要向下拖动/复制。参考图片

    【讨论】:

    • B2 应该返回 1 以及“mart”本身就是一个词。
    • @RowenChumacera - 我的解决方案基于 OP 提供的示例,该示例说明 每个单元格中的几个单词。我知道B2 没有返回任何内容,因此为了让 OP 知道这一点,我已将其包含在我的示例数据中。
    【解决方案2】:

    使用以下公式:

    =IF(SEARCH("mart", A1)>1,  IF(AND(MID(A1, SEARCH("mart", A1)-1, 1)=" ", OR(MID(A1, SEARCH("mart", A1)+4, 1)=" ", (SEARCH("mart", A1)+3)=LEN(A1))), SEARCH("mart", A1), 0), IF(SEARCH("mart", A1)=1, IF(OR(MID(A1, 5, 1)=" ", LEN(A1)=4), SEARCH("mart", A1), 0), 0))
    

    在以下测试用例中使用它:

    说明:

    1. 如果“mart”位于文本中的某处但不在文本开头,则转到下一个条件。否则,转到条件 4。
    2. 如果前面的字符是空格,则转到下一个条件。否则,显示 0。
    3. 如果后面的字符是空格或者是文本中的最后一个“单词”,则显示其位置。否则,显示 0。
    4. 如果后面的字符是空格或者是单元格中唯一的“单词”,则显示 1。否则,显示 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-29
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多