• 締切済み

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

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

noname#164408
noname#164408

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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/7940)
回答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

  • エクセルでの0とエラー値の非表示

    お世話になります。 エクセルでエラー値を表示させないのはIF関数とISERRORを使えばよいのですが そこに0を加える簡単な方法はないでしょうか? たとえば A1/B1の計算結果について0やDIV/0や#VALUEなどがでるとして 現状は =IF(OR(ISERROR(A1/B1)=TRUE,A1/B1=0),"",A1/B1) で対処しようとしていますが、より簡単な方法はないでしょうか? お願いします

  • エクセルのエラーと0を表示させない方法は?

    お世話になります。 今、エクセルでVLOOKUP関数を使っています。 VLOOKUPでエラー表示が出ないように、IF(ISERROR(VLOOKUP・・・),"",VLOOKUP・・・)で エラー表示は出なくなりました。 さらに答えが0だった場合0を表示させない方法はあるでしょうか?

  • エクセルの計算式エラーの理由

    エクセルで以下の計算式を作成しました。 =IF(LOOKUP(D22,D6:D20,C6:C20)=-2,"A",IF(LOOKUP(D22,D6:D20,C6:C20)=2,"B",IF(C2<=-2,"A",IF(C2>=2,"B",IF(AND(C2=-1,B1>1/3),"A",IF(AND(C2=1,B1<1/3),"A", IF(AND(C2=0,OR(C4<=-2,AND(C4=-1,B1>1/3),AND(C4=0,B1>1/2),AND(C4=1,B1<1/3))),"A","B"))))))) それぞれのIFの計算式は間違っていないのですが・・・ それを組み合わせると「エラー」の表示がでてしまいます。 この原因が分かる方アドバイス願いします。 また、エラーの出ないようにするにはどうすればいいのでしょうか? よろしくお願いします。

  • #VALUE!を表示させないようにしたい

    C1=A1/B1で答えが#VALUE!になった時、表示させないようにしたいです。 A1とB1には計算式が入っているので(他のシートを参照しています)、IF関数やISERROR、ISERRでは対応できません。

  • エクセルでエラー値を表示させないやり方

    エクセルのIF関数等でエラー(#VALUE)を表示させないやり方ってありますか? ISERRORは試したのですがだめでした。 詳しく説明できなくて申し訳ありません。

  • エクセルでリンクの#DIV/0!を消す方法

    エクセル初心者です。 リンク先の#DIV/0!を表示したくないので 下記のような式を考えましたがどちらも表示されてしまいます。 =IF(OR(Sheet1!A4="",(ISERROR(Sheet1!A4=TRUE))),"",Sheet1!A4) =IF(OR(Sheet1!A4="",Sheet1!A4="#DIV/0!"),"",Sheet1!A4) どうしたらリンク先の#DIV/0!をけして空欄表示できるようになるのでしょうか ご教授よろしくお願い致します。

  • VLOOKUPでエラー表示と0表示を無くしたい

    VLOOKUPで下の条件にあった数式を作りたいのですが、うまくいきません。 条件は (1)参照先のセルが数値のため0が表示されるが、0と空白は区別したいので、戻り値が空白の場合は0を表示させない。 (2)参照元のシートには参照先には無いコードがあるので、エラー(#N/A)が出てしまうがエラーも表示させない。 作ってみた数式は =IF(OR(VLOOKUP(B1,入力!$B$1:$C$6,2,FALSE)="",ISERROR(VLOOKUP(B1,入力!$B$1:$C$6,2,FALSE))),"",VLOOKUP(B1,入力!$B$1:$C$6,2,FALSE)) です。 戻り値が空白、またはエラーの時に参照先のセルが空白になるように作ったつもりですが、どうしてもエラー(#N/A)が出てしまいます。 どなたかアドバイスいただければ嬉しいです。 よろしくお願いいたします。

  • エクセル ISERROR

    エクセルでISERROR関数を使い、エラー表示されないようにした2つ以上のセルを他のセルで更に計算すると#DIV/0!が表示されます。 例) B2 4月数量 C2 4月金額 D2 4月単価 =IF(ISERROR(C2/B2),"",C2/B2) E2 5月数量 F2 5月金額 G2 5月単価 =IF(ISERROR(F2/E2),"",F2/E2) 4~3月までのセルが続き、各単価の平均・伸長率などを他のセルで計算しようとすると#VALUE!が表示されます。 上記のようにISERROR関数を使った複数のセルを参照させ計算し、更にエラー表示させないようにするにはどのような方法がありますか。 どなたか教えてください。

  • エクセルの関数

    数種類の関数を組み合わせて作ったのですが、ANDでもORでも答えが同じになってしまいます。 どこに間違いがあるのか、教えて頂けると助かります。 =IF(ISERROR(AND(FIND("A",A5,1),FIND("B",A5,1)=FALSE)),"偽","真") =IF(ISERROR(OR(FIND("A",A5,1),FIND("B",A5,1)=FALSE)),"偽","真") 上記式はAND・OR以外はすべて同じのつもりです。 AND関数の場合の答えは、期待通りです。 OR関数の答えとして、A5のセルに『A又Bが含まれている』にも拘わらず、『偽』と表示されます。 (ORのそれ以外の答えは期待通りです。) OR関数で、『A5のセルに、A又はBがひと文字でも含まれている場合』を、『真』とするにはどうすればよいでしょうか? 宜しくお願いいたします。

  • エクセルで、関数が思い通りの結果を返しません

    │ 支出  │ 収入  │ 累計 │ │ ̄ ̄ ̄ ̄│ ̄ ̄ ̄ ̄│ ̄ ̄ ̄| ̄ ̄ │      │      │  A │ │____│____│___│__ │      │      │     │ │  B   │  C   │ D   │ │____│____│___│__ │      │      │     │ │      │      │  E  │ エクセル用計算式を作りたいのですが、詰まってしまったので、アドバイスをお願いします。 やりたいこと…自動で累計を出していく ・Dに入れるための式  (1)もしBに数字が入っていればAとの減算の結果をDに。  (2)もしCに数字が入っていればAとの加算の結果をDに。  (3)B・Cが空欄であればDも空欄。 ((4)Aが空欄であればDも空欄。)←できればこれも入れたい 上記のために、  =IF(BC>="","",IF(B>=1,SUM(A,-B),IF(C>=1,SUM(A,C)))) という式を作ってみたのですが、エラー表示は出ないものの、うまくいきませんでした…。 ISBLANKを使ってみたほうがいいのでしょうか?

専門家に質問してみよう