2014-10-18 177 views
0

有沒有一種方法可以檢查我的單元格是否緊接着另一個空格後是否包含2個空格?檢查單元格是否包含兩個空格,然後彼此相鄰

例如,如果我的單元格包含"The cat went meow"那麼我的公式將返回"No",因爲每個字符之間只有一個空格。但是,如果有2個空格,如

"The cat went meow" 

那麼該公式將返回"Yes"

我已經嘗試了下面的公式,但它拿起所有的空間,而不是我想要它做什麼。 有人可以告訴我怎樣才能糾正這個問題?

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

回答

0

試試這個

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

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

您的代碼對我的作品原樣。你可以把它簡化這樣的:

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

爲了避免錯誤檢查功能,您可以將字符串用雙空格轉換爲空格,這樣比較的版本:

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

但我不確定你現有的代碼有什麼問題。

2

可能是值得考慮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) 

這適用於你的榜樣,如果補貼是返回牛逼製作/ F,而不是Y/N(保持公式short - Y/N可以安排)。

一個更好的(短)版本是由@Rick Hitchcock(誰感謝)的評論提出:

=B1=TRIM(B1) 

但是它不會只爲「雙」的空間,但不屬於的空格的數量返回FALSE對自己(緊鄰字符兩側)

它會爲單個空格,如果你的字符串的開始和/或結束返回FALSE均勻。

所以這不完全是你所要求的,也沒有更多,但在實踐中似乎更有用。

+1

+1,因爲我認爲TRIM只刪除了前導和尾隨空格。很高興知道它也消除了單詞之間的多個空格。 – 2014-10-18 16:01:57

+1

@RickHitchcock你是對的,但是WS和VBA是有區別的。 – pnuts 2014-10-18 16:05:35

+2

也很好知道。請注意,您的代碼可以縮減爲'= B1 = TRIM(B1)'。 – 2014-10-19 16:17:26