システムメンテナンスのお知らせ

excelで0と空白を区別させたいです。
あるセルに0を入力すると、あるセルに文字が入力され、
空白の場合はに空白のままにしたいです。
=IF($A1=0,"文字",'')で設定したのですが0の場合も空白の場合も文字が入力されてしまいます。
空白と0を区別し、この目的を達成できる関数またはVBAを
ご教示頂けませんでしょうか?

gooドクター

A 回答 (6件)

ご質問者のご希望はあるセルに0が入力されていれば、あるセルに文字が表示されるということです。


しかし、ご質問者が記述した数式
=IF($A1=0,"文字",''")
では「0入力」「空白」の区別ができないことは他の回答者の皆さんのご指摘のとおりです。

ISBLANK関数はそのがセルが空白であればTRUE、空白で無ければFALSEを返す関数です。

これを使って以下の①②を判別し、①かつ②の場合に文字を表示するようにすればご質問者の希望が実現できるはずです。

NOT(ISBLANK($A1))で「$A1セルが空白でない」を判別・・・①
($A1=0)で「$A1セルに0が入力されている」を判別・・・・・・・・②

①かつ②は①*②と表すことができるので、

表示するセルに記述する数式は

=IF(NOT(ISBLANK($A1))*($A1=0),"文字","")

となります。
    • good
    • 0

実はね、



空白にも 幾種かが、
ありましてね、

抑もからの 空と、
算術結果からの 空白と、
0とね、
あるのですがね。


其れでですね、

0は 兎も角と、
しても、

区別するかで、
答が 変わるのですよ、

如何 されますか?
    • good
    • 0

COUNTBLANKでの判定はどうですか?

    • good
    • 0

=IF(A1="","",IF(A1=0,"",A1))

    • good
    • 0
この回答へのお礼

ありがとうございました。
お返事が遅くなりすみません。
参考にさせていただきます。

お礼日時:2021/01/10 23:40

Excelでは ”空白” は数値と比較した場合 ”ゼロ値” と同等に扱われる仕様です。


なので「空白=0」が成立してしまうのです。

そんなわけで ”空白” は ”ゼロ値” と比較してはいけません。
(空白になり得るセルを数値で比較しないように気をつけましょう)
なのでこの場合は、
 「セルが空白か」
 「セルの値はゼロ値か」
の2つの判断条件が必要になります。

するとこうなる……
 =IF(A1="","",IF(A1=0,"文字",""))
難しくはありませんよね。
比較するロジックをちょいといじるってことです。
    • good
    • 2
この回答へのお礼

ありがとうございました。
とても参考になりました。試してみたいと思います。

お礼日時:2021/01/14 16:24

そのIF関数が真のとき、


さらに数値か否かを判定すれば良いのかなと思います

つまり、例えば以下の数式は如何でしょうか
=IF($A1=0,IF(ISNUMBER($A1),"文字",""),"")

その他にもいろいろと使える関数がありそうなので
参考までにサイトを貼っておきますね
https://www.excelspeedup.com/0blank/
    • good
    • 0
この回答へのお礼

ありがとうございました。
空白はゼロとして判断されてしまうのですね。
とても参考になりました。試してみたいと思います。
完成したらマクロに組み込んでみたいと思います。

お礼日時:2021/01/09 07:51

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング