有没有办法可以检查我的单元格是否紧接着包含2个空格?
例如,如果我的单元格包含"The cat went meow"
,则下面的公式将返回"No"
,因为每个字符之间只有一个空格。但是,如果有2个空格,如
"The cat went meow"
然后公式将返回"Yes"
。
我已经尝试了以下公式,但它会拾取所有空格而不是我想要它做的事情。 有人可以告诉我如何纠正这个问题吗?
=IF(ISNUMBER(SEARCH(" " & " ",B1)),"Yes","no")
答案 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")