Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel:如何搜索单词?_Excel_Search_Filter_Find - Fatal编程技术网

Excel:如何搜索单词?

Excel:如何搜索单词?,excel,search,filter,find,Excel,Search,Filter,Find,我有一列,每一行有几个单词。现在我需要搜索该短语中是否存在单独的单词 我尝试使用Search()函数,但即使该单词是单词的一部分而不是单独的单词,它也会显示结果 例如:如果我使用搜索(“mart”,)。它甚至返回包含像jmart这样的单词的单元格。但我想让它返回的是,如果一个单元格包含“hello mart”或“mart abc”如前所述,一个单元格中只有两个单词,那么这应该会有所帮助。在单元格B1中输入以下任意公式 =IF(ISERR(SEARCH(" mart",A1)),IF(ISERR(

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

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


例如:如果我使用搜索(“mart”,)。它甚至返回包含像jmart这样的单词的单元格。但我想让它返回的是,如果一个单元格包含“hello mart”或“mart abc”

如前所述,一个单元格中只有两个单词,那么这应该会有所帮助。在单元格B1中输入以下任意公式

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

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


使用以下公式:

=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))
将其用于以下测试用例:

说明:

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

  • B2应该返回1,而“mart”本身就是一个单词。@RowenChumacera-我的解决方案基于OP提供的示例,该示例说明了每个单元格中的两个单词。我知道
    B2
    不会返回任何内容,因此为了让OP知道这一点,我已将其包含在示例数据中。
    =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))