• ベストアンサー

[Excel]計算式の結果が0の場合は空白を返す式を作りたいです

計算式で0となった場合空白を返す式を作りたいです。 たとえばif関数を使って、 =if(A12-B15=0,"",A12-B15) とすれば簡単にできますが、この判定式がめちゃくちゃ長かったりすると二回も同じ式の中に記述するのが面倒くさいです。 そこでもっと簡単に、式の結果が0の場合空白とする式があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • spnlight
  • ベストアンサー率46% (15/32)
回答No.5

ユーザ定義関数を作る。 Visual Basic Editorに以下を記述 Function zerotospace(range) If range = 0 Then zerotospace = "" Else zerotospace = range End If End Function

r2san
質問者

お礼

ご回答ありがとうございました。 定義関数というのがあるのですが、早速試してみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

多分質問者が言いたいと推測することは、現状では関数の中ではありません。 =IF(式1=0,"",式1)の場合の、式1が長い式だと2度書くのが面倒で腹立たしいですが、数式バー部でコピーして、式の後半に貼り付けるほか無い。記号で代替する仕組みは出来ないか勝手に考えたが、良い記法も思いつかない。MSがもし作るとすると仮定すると、新しい概念を持ち込む必要があろう。 式の文字列を他セルで定義し、それを使わせるようにするとか。 ーー 現状は (1)ユーザー関数を活用する (2)作業列に結果を出し、それをその番地で参照する。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

このような場合、一般的に作業列を使用します。 A12-B15 の判定式を作業列(たとえば「Z列」)に入力。 本来表示させる列に =if(Z12=0,"",Z12) と入力。 見てくれだけの問題なら #1さん、#2さんの方法でOKです

全文を見る
すると、全ての回答が全文表示されます。
  • m-happy-t
  • ベストアンサー率30% (72/239)
回答No.2

詳細設定の「ゼロ値のセルにゼロを表示する」チェックをはずす。

全文を見る
すると、全ての回答が全文表示されます。
  • hs001120
  • ベストアンサー率60% (473/788)
回答No.1

回答ではありませんが、 >計算式の結果が0の場合は空白を返す式を作りたいです は実は目的ではなく。 「計算式の結果が0の場合は空白を『表示したい』」 が目的というケースが多いですが、そういうことはありませんか? その場合、そもそも計算式ではなく、書式-セルの表示でユーザ書式として # (シャープ 1文字)を指定するだけで用は足りますよ。

r2san
質問者

お礼

ご回答ありがとうございました。 0を表示しないのが目的ではなく、今回の場合は空白としたいのです。 皆様のおかげで大変助かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 計算結果が0なら空白にしたい。ただし・・・

    計算結果が0なら空白にする場合はこう書けばよいですよね。  IF(計算式=0 , "" , 計算式) ただし計算式がすごく長くて複雑だと  IF(すごく長くて複雑な計算式=0 , "" , すごく長くて複雑な計算式) となってしまいますよね。 これをもっと短くシンプルに記述する方法はあるでしょうか?

  • 0のときは空白、空白のときも空白を返す式について

    あるセルの値が0のときは空白に空白の時はそのまま空白を返す関数はどのようにすればいいでしょうか? たとえばIF計算式で0名の場合の答えは0ですがそれを空白にしたいと思います。 さらに空白のときも空白にしたいので=IF("","",C4/D6)という関数は使えないと思いますが、 どのような式にすればよいでしょうか。 宜しくいお願い致します。

  • IF関数での計算結果を貼り付けたとき、完全な空白セルにしたい

    EXCELのIF関数で例えばA1セルが3のときAを表示して違うときは空白にしたい場合は =IF(A1=3,"A","") と書くと思いますが、IF関数が書かれているセル(計算結果)をコピーして他の範囲に値だけを貼り付けた場合、Aまたは空白セルに見かけ上はなってはいるのですが、その空白セルにはよく見ると '(カンマ)が入っており、完全な空白セルにはなっていないようです。後で貼り付けられた範囲を編集していきたいのですが完全な空白セルでないため作業が続かなくなっています。どなたか詳しい方がおられましたらよろしくお願いします。

  • Excel2007の計算式の書き方

    例えば、A1とB1に値があって、C1に=round(A1/B1)*100,1)という式を書き込んでいます。 A1若しくは(OR条件)B1が空白の場合は、計算結果も空白にしたいのですが、その場合の式の書き方が解りません。 ご教授いただけないでしょうか?

  • Excel関数で 空白値の入力はどう書くの?

    あるセル(B1とします)に =if(A1="a",0,"") とif関数を書きました。 別のセルA2にセルB1を合計するような式( =B1+C1 )と書くと#VALUE! というエラーになります。 多分、B1の値 "" が空白ではなく文字列と認識されているからだと思いますが、""の代わりに空白値をif分の中に指定することはできないのでしょうか? 逃げ手として、A2に書く式を =sum(B1:B1)+sum(C1:C1)とする手はありかと思いますが、できたら空白値を代入したいです。

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

  • エクセルで関数の計算範囲に別の関数式で出した空白がある場合

    MAX関数を使う際、選択した範囲内(A10:A1000)に IF関数とISBLANK関数を使った数式 ( =IF(ISBLANK(C1),"",B2+C1) )の空白があると MAX関数がVALUEとなって計算されません どうしたらいいですか?

  • エクセルの式で

    エクセルの式で、IF関数を使って、[A2]=IF(A1=0,"",A1) とすると、A1=0なら、A2を空白にしてくれますが、このとき、[A4]=A2+A3 とすると、A2が空白の時、エラー、#VALUEになります。このとき、空白を0として計算するようにできますか? 帳簿の中に、0がたくさんあるのは嫌なので、0のところを空白になるよう、IF関数で””を使いました。しかし、実際に空白になったところを、他の式で参照して、計算すると、その分が、文字のように認識し、計算がエラー、#VALUEになるわけです。これを避けることはできますか?

  • [Excel]QUARTILEの条件で空白除外

    Excelで下記のようにQUARTILEを使用した集計を行っております。 区分毎に金額の四部位数を求めているのですが、 データに空白がある場合、最小値が "0"になってしまいます。 >> データ 区分|金額 ------------- 1  |100 2  |200 1  |10 1  | 2  |80 >> 集計の記述(区分が1で最小値を求めた場合)  QUARTILE(IF($A$2:$A$6="1",$B$2:$B$6),0) IF関数で空白を除外するよう条件をつけても "0" になってしまいました。  QUARTILE(IF(AND($A$2:$A$6="1", $B$2:$B$6<>""),$B$2:$B$6),0) これを回避する方法はありますか? よろしくお願いします。

  • EXCEL2003で判定式について教えてください。

    仮にA1に12.9、B1に12、C1に11.4、D1に12.5とあるとして F1にはA1-B1の値を、G1にはB1-C1の値、H1にはC1-D1の値を それぞれ10倍して(小数点以下を無くし見易くする為に) 表示するものとします。 その後F1~H1の3つの値(+9、+6、-11)に対し、+5以上が 一つでもあるならなら「A」、+1~+4のみは「B」、 +の値が一つもなく0以下なら「C」と判定させたいのです。 そこで当初J1で =IF(F1:H1>=5,"A",IF(F1:H1<=0,"C","B")) としたところ複数のセルに対してはできないようなので 一旦J1でMAXを使い(+5以上か)を判定し、L1に =IF(J1>=5,"A",IF(J1<=0,"C","B")) と二つのセル、二つの式で結果的には出来たのですが、 なんとかすっきりと一つの関数式で判定させることは 出来ないでしょうか?

専門家に質問してみよう