アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2010です

空白行があると #DIV/0 となることを解消したい

G36 に G4からG34 までの 平均をもとめたいのですが・・

=IF(G4:G34=0,"",AVERAGE(G4*G34))

では #VALUE と 表示されてしまいます。

空白もしくは 0 が あっても平均値を G36に 表示したいのですが

アドバイス お願いします。

A 回答 (5件)

>空白行があると #DIV/0 となることを解消したい


 ⇒対象範囲セルが全て未入力の場合、このエラーになります、
  1つでも数値があればエラーになりません。

>空白もしくは 0 が あっても平均値を G36に 表示したいのですが
 ⇒0の場合、除数に加味され無い方が良いのではないでしょうか。 

因みに関数はエクセル2007以上で新規追加されたものを使用しています。
=IFERROR(AVERAGEIF(G4:G34,">0"),"")
    • good
    • 2
この回答へのお礼

mu2011さん 大変勉強になります。

ありがとうございました

お礼日時:2011/11/12 18:50

入力の間違いかと思いますが


AVERAGE(G4*G34)では G4の数値とG34の数値の掛け算の結果です
もしどちらかに文字が入っていれば #VALUE ですね。
エクセルのAVERAGE関数では途中に空白や文字が入っていても数値の部分だけの
平均値を返してくれます。
特に IF文を使用しなくても
=AVERAGE(G4:G34)
だけで十分です。
何らかの抽出条件があるのであれば
AVERAGEIFやAVERAGEIFS関数で検討してみてください。

この回答への補足

hallo-2007さん 他の方々 大変しつれいしました。

AVERAGE(G4*G34)ではなく、

AVERAGE(G4:G34)でした。

すみません

補足日時:2011/11/12 18:49
    • good
    • 0

Excel2010なら


=IFERROR(AVERAGE(G4:G34),0)
のように使います。


#参考
ちなみに範囲にゼロがあれば
=AVERAGE(G4:G34)
だけでも問題ないので,元データの方を見直すのでもOKです。
もう一度落ち着いて確認してみてください。
    • good
    • 0
この回答へのお礼

keithinさん 回答ありがとうございます。いろいろと勉強になります

お礼日時:2011/11/12 18:43

=IF(ISERROR(AVERAGE(G4:G34)),0,AVERAGE(G4:G34))



じゃだめかい?

因みに、空白や0が有ってもAVERAGE関数はちゃんとそれを
見越した計算をします。
「#DIV/0」と言うのは、分母が0の場合に表示されるものです。
ですから#DIV/0が表示されているという事は、G4~G34が
全て空白(割る数が0)の状態です。
例え、1か所でも数字が入っていればAVERAGE(G4:G34)だけで
済むはずですが…^^;
    • good
    • 1
この回答へのお礼

SWM5903さん 回答ありがとうございます。

>例え、1か所でも数字が入っていればAVERAGE(G4:G34)だけで
済むはずですが…^^;

そうみたいですが 月が替わると入力するセルを未入力状態にするので
なんか 気持ちわるいので 質問しました。

お礼日時:2011/11/12 18:47

=IF(G4:G34=0,"",AVERAGE(G4*G34))





=IF(COUNT(G4:G34)=0,"",AVERAGE(G4:G34))
    • good
    • 0
この回答へのお礼

mshr1962さん ありがとうございます。

そちらのほうで ネットを参考にできました。

お礼日時:2011/11/12 18:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!