• ベストアンサー

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

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

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

  • ベストアンサー
  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.3

1. 書式-条件付書式-セルの値が0ならフォントの色をセルの色と同じにする (表示だけさせない) 2. 計算セルを別に用意して if(計算セル=0,"",計算セル) 3. セルの書式-表示形式-ユーザ定義-「#」と入力

noname#13261
質問者

お礼

今回の質問での「すごく長くて複雑な計算式」とは実は「INDIRECT(長くて複雑な参照)」という形でした。 INDIRECT関数は参照先のセルに記述された参照先のセルの値を得るというものでした。(C言語のポインタみたいなもの?) ところが参照先の参照先が空白セルの場合、返り値が空白ではなく0になってしまうという仕様のため、今回困ってしまいました。(質問No.1672392 INDIRECT関数で参照先が空白セルの場合) で、結局次の式である程度解決しました。  =VALUE(TEXT(INDIRECT(A1),"###.#")) 一度文字列に変換して再度数値に戻すということでした。参照先の参照先が空白セルのときはエラーになるけど、グラフにはプロットされないので好都合でした。エラーは条件付書式で見えなくしました。 いろいろご回答ありがとうございました。

noname#13261
質問者

補足

すいませんまとめて補足させてください。 実は計算結果をグラフにプロットするので、オプションで0を表示しないとか、フォントの色を背景色と同じにするでは、だめなんです。セルの書式設定を#にする方法もだめでした。 最初に書くべきでしたm(__)m。 あとEXCELだとグラフにプロットするときに0をプロットしないというオプションがあるそうですが、私はOpenOfficeを使っているのでその機能がないんです。 あ、もちろんほぼEXCEL互換なので皆さんの回答も有効利用させていただいてます。 ということで今回の質問に対する答えは 計算セルを別に用意して、ということになるのでしょうか? もしウルトラCの技があったらお願いします。

その他の回答 (2)

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.2

セルにIF文を設定するのではなくて、条件付書式で「0」だったら背景色と同じにすれば、見えなくなりますがこれじゃだめですか?

  • makochi
  • ベストアンサー率38% (496/1279)
回答No.1

計算式にせずに、ゼロを非表示にするように、オプションで変更するのが早いとおもいます。 もちろん、シート内のすべてのゼロ(10の0や0.5などの0は除く)は非表示になります。 参考URLを。

参考URL:
http://homepage1.nifty.com/kenzo30/ex_kisopoint/onepoint_kihon2.htm

関連するQ&A