dポイントプレゼントキャンペーン実施中!

Excel の IF 関数で、セルが空白であることを条件にする場合、ISBLANK あるいは <>"" などいろいろ方法があります。
しかし、どの方法でも、該当セルにスペースのみが打ちこんであると、表示はされなくても、ISBLANK あるいは <>"" の条件に当てはまらなくなります。
スペースのみの場合、空セルでないと判定させるにはどうしたらよいでしょうか、教えてください、よろしくお願いします。

A 回答 (10件)

>スペースのみの場合、空セルでないと判定させる


空セルで「ある」と判定させたいんですよね?

こんなんどうでしょうか。

A1セルを判定。B1セルに以下。

=IF(OR(A1="",LEFT(A1,1)=" ",LEFT(A1,1)=" "),"空白である","空白でない")

以下のいずれかに当てはまるときに「空白である」と返し、それ以外は「空白でない」と返す。
・A1セルが本当に空白のとき
・A1セルの左から1番目の文字が、半角スペースのとき
・A1セルの左から1番目の文字が、全角スペースのとき
    • good
    • 0
この回答へのお礼

soixanteさん ありがとうございます。

> 空セルで「ある」と判定させたいんですよね?
そうなんです。
質問の肝心なところで大間違いをして皆さんにご迷惑をおかけしてしまいました。

No.1 の回答が取り消しどころか、ずばりこの方法で解決できました。

お礼日時:2015/08/18 09:37

ちょっと失礼します。



おそらく、質問者さんの書き間違いだと思います。
×「スペースのみの場合、空セルでないと判定させる」
○「スペースのみの場合、空セルと判定させる」
という筋立てで、一つ書かせていただきました。

こんな文面から、その趣旨に導き出されます。
「該当セルにスペースのみが打ちこんであると、表示はされなくても、ISBLANK あるいは <>"" の条件に当てはまらなくなります。」
という所から、当然質問主さんは、ISLANK(セル), <>"" はご存知ということです。

「文字の空白が入っても、セルは空だと判定させる」
と解釈の元で、再度、回答を試みました。

また、ここの質問と2009年の質問が同じ種類だと考えました。

「EXCELの条件付き書式で数式を空白と認識してくれる方法」
http://oshiete.goo.ne.jp/qa/4905400.html
「EXCELの条件付き書式で例えばA1のセルに何か文字が入っていれば色を付けるというようにする場合は=A1<>""でOKだと思いますが、A1には既に数式が入力されている状態で、でも表示はされていない見かけは空白に見えるセルを空白と認識してくれる方法、数式はないでしょうか?」

という内容で、この質問の正解は出ませんでした。

「中身の見えないセルは、何もない」とすることは出来ないか、と言われたら、簡単ではありませんね。

中身が見えなくても、何か入っいると判定するには、ISBLANK()関数で良いはずです。それなら、Excelをひと通りやった人なら分かります。

=IF(A1="", "空", "在")
のはずが、

A1セルに半角のスペース (&#x20) が混入していたら、計算が間違えてしまいますし、全角空白 (&#x8140)もあります。

最近では、セルに、「&#160」(no-break space)の見えないスペースも入っていることもありますが、さすがに、ここまで来ると、難しいことになりますね。

=IF(LEN(TRIM(A1))=0,TRUE,FALSE)
は、
=IF(TRIM(A1)="",TRUE,FALSE)  こちらでも良い。

以下なら「&#160」も判定が可能です。
=ISERROR(MATCH(FALSE,(ASC(MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1))<"!"),0))

Shift+Ctrl - Enterで、配列の確定をしてください。しかし、数式としては、少し無理があるかもしれません。

#4さんの画像とは趣旨が逆ですが、一覧を作ってみました。
「Excel でセルが空であることを判定す」の回答画像10
    • good
    • 0
この回答へのお礼

ありがとうございます。
質問の肝心なところで大間違いをして皆さんにご迷惑をおかけしてしまいました。

お礼日時:2015/08/18 09:44

細かいところをいえば、


「ISBLANK関数は数式で空欄を返されたセルを空欄とみなさない」
特性がある。(数式が入力されていると判断する)

質問文の
>スペースのみの場合、空セルでないと判定させるには
に対しては
ISBLANK関数でも<>""でも良いのだが(結果はFALSEとして対応)たぶんこれは質問者さんの間違いだろう。

質問タイトルの
「Excel でセルが空であることを判定するには」
であれば、<>""でTrue判定でよい。

質問が曖昧なので、自分は任意の文字列と結合させて文字列全体の長さを判定の材料とした。
    • good
    • 0
この回答へのお礼

ありがとうございます。
質問の肝心なところで大間違いをして皆さんにご迷惑をおかけしてしまいました。

お礼日時:2015/08/18 09:44

セル A1 に「スペースのみが打ちこんであると」


式 =ISBLANK(A1)、=A1<>"" は 何れも FALSE を返すけど、
貴方はなぜこれが不適切と考えるのですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
A1 に入力があったときに、数式計算をしている別のセルで結果を表示させ、A1 に間違ってスペースのみが入ってしまったときには表示させたくなかったのです。

お礼日時:2015/08/18 09:43

ちょっと訂正。


LEN("Inspection"&A1)
にして
IF(LEN("Inspection"&A1)=10,"空欄","なんかいる!")
のほうがいいな。
    • good
    • 1
この回答へのお礼

ありがとうございます、勉強になりました。

お礼日時:2015/08/18 09:42

適当な文字と繋げて文字の長さを確認すればよい。


LEN(A1&"Inspection")
"Inspection"が10文字なので、10文字より大きければA1セルは空欄ではないと判断できる。
あとはIF関数で判断すればよいだろう。
    • good
    • 0
この回答へのお礼

ありがとうございます、勉強になりました。

お礼日時:2015/08/18 09:41

No4のesupuresso です。


一つ言い忘れました。
添付画像のB列で実際スペースだけを入力してあるセルは「B6」と「B11」です。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました。

お礼日時:2015/08/18 09:40

>スペースのみの場合、空セルでないと判定させるには・・・?


添付画像より・・・。
セルに入力してあるものが文字の場合でしたら、「ISTEXT」関数を使用して、文字&スペースを入力した場所は特定できます。(添付画像ではI列に当たります。)
また、D列には =COUNTIF($B$2:B2,"?*") の式を入れて文字とスペースを入力したセルのみ、返ってきた値の変わり目で確認することも出来ます。
「Excel でセルが空であることを判定す」の回答画像4
    • good
    • 0
この回答へのお礼

ありがとうございます、勉強になりました。

お礼日時:2015/08/18 09:40

>スペースのみが打ちこんであると、表示はされなくても、ISBLANK あるいは <>"" の条件に当てはまらなくなります。



=IF(LEN(TRIM(A1))=0,TRUE,FALSE)

ただし、全角空白もブランクです。

✕=ISBLANK(TRIM(A1)) ←これは成功しません。
数式の、="" でも、ブランクの判定をします。
=ISBLANK(A1) では、数式の ="" は、ブランクの判定はしません。

また、=CHAR(0) 値ゼロの文字列("の片方のみ)は、セル上に入りませんが、エラー(#VALUE)が発生しますので、この数式は、エラー(#VALUE)になります。つまり、エラー処理はした方がよければ、そのほうがよいでしょう。=CHAR(1)以上は、ブランクにはなりません。

>スペースのみの場合、空セルでないと判定させるにはどうしたらよいでしょうか、
もちろん、こちらは、=ISBLANK(A1)

まだ、他にもケースがあるような気がしますが、私たちは、英語圏ではないので、こういう場合は、混乱しなくて済みそうです。
英語というか、Excelには、様々な「空白」を表す言葉が出てくるのですが、本来、英語では同じ意味でも、Excelでは、それぞれに意味があって、とてもややこしいと思います。たぶん、英語ネイティブだからこそ、間違ってしまう人が大勢いると思います。

いくつか挙げると、empty, blank, null(本当はナル), 記号では、""(長さ0の文字列), " または null文字(値0の文字列), VBA では、nothing
私は、何年の間、これらの区別がつきませんでしたね。
    • good
    • 1
この回答へのお礼

ありがとうございます、勉強になりました。

お礼日時:2015/08/18 09:40

#1です。

#1の回答は破棄してください。
考えが浅はかでした。すみません。m(_ _)m
    • good
    • 0
この回答へのお礼

浅はかなのはこちらでした。
ありがとうございました。

お礼日時:2015/08/18 09:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!