• 締切済み

Excelで0とエラーを非表示にしたい

Excel97で、B1/A1という計算の答えをC1に表示させる場合についてです。 答えが0のときとエラーのときは空欄にしたいのですが、 下記のように入れてみましたが正しく表示されません。 (答えが0のときは空欄になるのですが、エラーは表示されてしまいます) =IF(OR(ISERROR(B1/A1),(B1/A1=0)),"",B1/A1) 正しいやり方をご存知の方、教えて下さい…

みんなの回答

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

IFの条件のところで割り算をしないことです。 ?1かB1が0の時は、計算しないで結果を空白とし、それ以外の場合にB1/A1の計算結果をセルにセット刷る式にすれば良いでしょう。 =IF(OR(A1=0,B1=0),"",B1/A1) A1,B1が空白でも関数では0の扱いをしてくれる。 割り算で答えが0とは分子B1が0だ。

noname#164408
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 無事解決することができました。 親切に教えていただきまして本当にありがとうございました。

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

正しいやり方ってのは一つではないですね。 あなたの理解できたもので良いと思います。 #N/Aエラーがなければ =IF(ISERR(1/B1/A1),"",A1/B1) 分子の0の判断として、さらに分子となるA1セルで割ってエラーを出す 原型を重視すると =IF(ISERROR(B1/A1),"",IF(B1/A1=0,"",B1/A1)) 少し発展 =IF(ISERROR(B1/A1),"",IF(B1=0,"",B1/A1)) 先にエラー処理、問題なければ分子の0処理 遊びの配列数式 =IF(COUNT(1/A1:B1)=2,B1/A1,"") [Ctrl]+[Shift] +[Enter] で確定、配列数式です({}で囲まれる) とか =IF(INDEX(COUNT(1/A1:B1),)=2,B1/A1,"") え~っと・・・解説は、、、遊びってことで。。。

noname#164408
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 無事解決することができました。 親切に教えていただきまして本当にありがとうございました。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

では =IF(ISERROR(1/A1/B1),"",B1/A1) で。 いったいどんなエラーが出るのかによっては =IF(A1*B1,B1/A1,"") でも。 参考: 今日のお昼の同じご質問です。 http://okwave.jp/qa/q6950524.html

noname#164408
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 無事解決することができました。 親切に教えていただきまして本当にありがとうございました。

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

こんにちは すみません。 よりシンプルに訂正します。 <結論> =IF(COUNT(A1:B1)<>2,"",IF(OR(A1=0,B1=0),"",B1/A1)) <解説> =IF(COUNT(A1:B1)<>2,"", ・・・ 数値が2つで無い場合は計算しないので""を表示  ※COUNTは数値の個数を求めるので、文字列が入っていた場合はカウントされない。 =IF(COUNT(A1:B1)<>2,"",IF(OR(A1=0,B1=0),"", ・・・  ここからは、『数値が2つあるという前提』なので、分母が0でなければ計算できる。   → IF(A1=0,"",B1/A1)  しかし、計算結果の0も表示したくないのであれば、分子が0の場合の割り算を除外  すればよいことになる。 → IF(OR(A1=0,B1=0),"",B1/A1)  従って  A1=0 分母  B1=0 分子  のいづれかが該当した場合には""を表示し、それ以外の場合に計算をする。      ↓ 結果  =IF(COUNT(A1:B1)<>2,"",IF(OR(A1=0,B1=0),"",B1/A1)) 以上

noname#164408
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 無事解決することができました。 親切に教えていただきまして本当にありがとうございました。

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

こんにちは <結論> =IF(COUNT(A1:B1)<>2,"",IF(OR(A1="",A1=0,B1=0),"",B1/A1)) <解説> =IF(COUNT(A1:B1)<>2,"", ・・・ 数値が2つで無い場合は計算しないので""を表示 =IF(COUNT(A1:B1)<>2,"",IF(OR(A1="",A1=0,B1=0) ・・・  ここからは、数値が2つあるという前提なので、分母が0でない、または""でなければ  計算できる。 → IF(OR(A1="",A1=0),"",B1/A1)  しかし、計算結果の0も表示したくないのであれば、分子が0の場合の割り算を除外  すればよいことになる。 → IF(OR(A1="",A1=0,B1=0),"",B1/A1)  従って  A1="" 分母  A1=0 分母  B1=0 分子  のいづれかが該当した場合には""を表示し、それ以外の場合に計算をする。      ↓ 結果  =IF(COUNT(A1:B1)<>2,"",IF(OR(A1="",A1=0,B1=0),"",B1/A1)) 以上

noname#164408
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 無事解決することができました。 親切に教えていただきまして本当にありがとうございました。

すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 =IF(AND(COUNT(A1:B1)=2,A1>0),B1/A1,"")

noname#164408
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 無事解決することができました。 親切に教えていただきまして本当にありがとうございました。

すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

そのエラーは、B1/A1の結果を表示しているわけでは無く、その式自体のエラーです。 #(B1/A1=0)のためにエラーになっています。 先に、B1/A1がエラーになるかを確認し、ならない場合B1/A1が0になるかを確認すれば良いです。 一例です =IF(ISERROR(A1/B1),"",IF(A1/B1=0,"",A1/B1))

noname#164408
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 無事解決することができました。 親切に教えていただきまして本当にありがとうございました。

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

関連するQ&A