• 締切済み

エクセル 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関数を使った複数のセルを参照させ計算し、更にエラー表示させないようにするにはどのような方法がありますか。 どなたか教えてください。

みんなの回答

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.3

AVERAGE関数使用で、 オールブランク値の場合に質問の症状が発生する。 のであれば、 エラー発生の場合TRUE  と判断させる関数を用い。 IF関数で条件判断させればよいかと。 例 =IF(ISERR(AVERAGE(D2,G2)),"",AVERAGE(D2,G2))

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

#DIV/0!が表示されるのは、割り算を0で割ってるからです。 0で割らないようにエラー処理を工夫する必要がありますよね。 #VALUE!が表示されるのは、使われている引数が関数の種類に あってない場合です。 例えば、足し算なのに、文字列が指定されている等です。 その辺をよく理解して整理して考えましょう。 D2の場合は、B2が空白なら計算させてはいけません。 IF(B="","",IF(ISERROR(C2/B2),"",C2/B2)) もしくは、IFの直下にANDを入れて、B2,C2のどちらか一つでも 空白なら・・・って式でも良いでしょうね。 #DIV/0!等を計算の参照先に出さない事を考えて下さい。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

エラーの理由は、ISERROR関数を使ったからでは無くて必要な値が入っていないからエラーになるのでは? #DIV/0! は、0や空欄の対象に割り算を行った場合のエラーなので、エラーを表示させない対策は取れますが、計算のエラーを防ぐには正しい値が必要です。 #VALUE!は、=D1+D2+D4 ではなくて、=SUM(D1:D2,D4) などのように関数で計算すると空欄のセルを無視して計算します。 データの平均なら =AVERAGE(A1,B1,C1)

関連するQ&A