2017-07-19 190 views
0

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

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

例如:如果我使用搜索(“mart”,)。它甚至会返回包含jmart等单词的单元格。但我想要它返回就像是如果一个单元格包含“你好集市”或“集装箱市场”

回答

0

正如问题中提到,单元格中只有两个单词,那么这应该有所帮助。在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),"")) 

拖/根据需要复制下来。请查看图片供参考

enter image description here

+0

B2应该返回1以及“ mart“本身就是一个词。 –

+1

@RowenChumacera - 我的解决方案基于OP提供的样本,在每个单元格中指明*几个单词*。我知道'B2'不会返回任何内容,因此让OP知道,我已经将它包含在我的示例数据中。 – Mrig

+0

@ hemanth92 - 这是否有帮助? – Mrig

0

使用如下的公式:

=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)) 

用它在下面的测试情况:

enter image description here

说明:

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