检查单元格是否直接包含2个空格

时间:2014-10-18 11:01:17

标签: excel

有没有办法可以检查我的单元格是否紧接着包含2个空格?

例如,如果我的单元格包含"The cat went meow",则下面的公式将返回"No",因为每个字符之间只有一个空格。但是,如果有2个空格,如

"The cat  went meow"

然后公式将返回"Yes"

我已经尝试了以下公式,但它会拾取所有空格而不是我想要它做的事情。 有人可以告诉我如何纠正这个问题吗?

=IF(ISNUMBER(SEARCH(" " & " ",B1)),"Yes","no")

3 个答案:

答案 0 :(得分:3)

可能值得考虑TRIM()

=LEN(B1)=LEN(TRIM(B1))  

测试用例:

"The cat went meow"    TRUE    (single space)
"The cat  went meow"   FALSE   (double space)
" The cat went meow"   FALSE   (leading space)
"The cat went meow "   FALSE   (trailing space)

这适用于您的示例,如果允许返回T / F而不是Y / N(保持公式简短 - 可以安排Y / N)。

@Rick Hitchcock(对此感谢)在评论中提供了更好(更短)的版本:

=B1=TRIM(B1)

然而,它不仅会为“双”空格返回FALSE,而且会返回任意数量的空间(不是双面的字符旁边)

如果在字符串的开头和/或结尾处,即使是单个空格也会返回FALSE。

所以这不完全是你所要求的,而不是更多,但实际上似乎可能更有用。

答案 1 :(得分:1)

您的代码按原样为我工作。你可以像这样简化它:

=IF(ISNUMBER(SEARCH("  ",B1)),"Yes","no")

为避免错误检查,您可以将字符串与转换为空格的双空格的版本进行比较,如下所示:

=IF(SUBSTITUTE(B1,"  "," ")<>B1,"Yes","no")

但我不确定您对现有代码有什么问题。

答案 2 :(得分:0)

试试这个

    =IF(ISERROR(FIND("  ",B1,1)),"No","Yes")

    =IF(ISERROR(SEARCH("  ",B1,1)),"No","Yes")