- ベストアンサー
0のときは空白、空白のときも空白を返す式について
あるセルの値が0のときは空白に空白の時はそのまま空白を返す関数はどのようにすればいいでしょうか? たとえばIF計算式で0名の場合の答えは0ですがそれを空白にしたいと思います。 さらに空白のときも空白にしたいので=IF("","",C4/D6)という関数は使えないと思いますが、 どのような式にすればよいでしょうか。 宜しくいお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
要は「0なら空白にして、それ以外はそのまま」って事です。 「空白なら空白」は「空白ならそのまま」と同じ意味です。 場合分けすると 0の時⇒空白 空白の時⇒空白(つまり、そのまま) 0でも空白でもない時⇒そのまま なのですが 空白の時⇒空白(つまり、そのまま) 0でも空白でもない時⇒そのまま の2つは、結果が「そのまま」なので、1つに出来ます。 つまり 0の時⇒空白 0でない時⇒そのまま って事になる訳です。 IF関数を使えば =IF(とあるセル<>0,とあるセル,"") と言う式になるでしょう。 >さらに空白のときも空白にしたいので=IF("","",C4/D6)という関数は使えないと思いますが 割り算で困るのは、割る数が空白か0の時です。 そうすると =IF(D6<>0,C4/D6,"") と言う式のみで充分です。 D6が空白の場合、D6<>0と言う評価式は「偽」になるので「""」が最終結果になります。
その他の回答 (5)
- qualheart
- ベストアンサー率41% (1451/3486)
まあ数式でもできますが、単に0値を表示したくないだけなら、オプション設定でゼロ値を非表示にすれば良いと思いますよ。 Excel2003なら、ツール→オプションの表示タブになる「ゼロ値」のチェックを外せばOKです。 Excel2007移行なら、オプション設定の「詳細設定」にある「次のシートで作業するときの表示設定」にある「ゼロ値のセルにゼロを表示する」のチェックを外せばOKです。 ご参考まで。
お礼
ありがとうございました。 ただ、他の数字で0が消えてしまうのは問題がありまして他の方法を試してみます。
質問者様の意図に沿っていればいいのですが。。。 とりあえず、C4、D6に入力した値が、0か、空白とした場合の回答をさせていただきます。 =IF(OR(C4="",D6="",C4=0,D6=0),"",C4/D6) 割り算の場合、C4、D4のいずれかが、0や空白の場合には、0除算によりエラーになってしまいます。 したがいまして、単純にORで見ています。 また、ISERRORという関数で、エラーをみる方法もあるかもしれません。 =IF(OR(C4="",D6="",ISERROR(C4/D6)),"",IF(C4/D6=0,"",C4/D6)) 上記は、C4、D4が空白の場合、もしくは、C4/D6の計算結果がエラーの場合は空白、 また、C4/D6の計算結果が0の場合は空白、その他の場合はC4/D6の結果を表示します。 また、例えば、A1が空白の場合は空白、C4/D6が0の場合は空白の場合ですと、下記の式でも良いかもしれません。 =IF(OR(A1="",C4=0,D6=0),"",C4/D6) もし、意図と違っている場合は仰ってください。 よろしくお願いします。
お礼
ありがとうございました。 ベストアンサーです。
- aokii
- ベストアンサー率23% (5210/22062)
あるセルをA1として、 =IF(OR(A1="",A1=0),"",C4/D6)
お礼
ありがとうございました。 ベストアンサーです。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =IF(N(あるセル)=0,"",C4/D6)
お礼
ありがとうございました。 ベストアンサーです。
- mar00
- ベストアンサー率36% (158/430)
=IF(OR(対象セル="",対象セル=0),"",C4/D6))のようにすればいいと思います。
お礼
ありがとうございました。 非常に簡単に出来るんですね。 ベストアンサーです。