• ベストアンサー

EXCELで0をカウントしないで平均を出したい

平均値を求めたいのですが、AVERAGE関数を使うと値が0の分もカウントされて平均値が出てしまいます。 これを0を除いたものだけの平均値にしたいのです。 ちなみにこの平均値をもとめたいものは他のファイルからリンクを貼ってデータを持ってきています。 リンクを貼ってデータを持ってきていないものは、IF文を使って0だったら空白にするという風にしたら出来たのですが。。 ちなみに、今現在一個一個AVERAGE関数で0以外の部分を選択して出しています。これだと毎回直さないといけないので辛いです。どなたか教えてください!! EXCELのバージョンは2000です。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

SUMIF() と COUNTIF() を使います。平均を求める範囲が A1:A10 だとしたら、 =SUMIF(A1:A10,"<>0",A1:A10)/COUNTIF(A1:A10,"<>0") という感じで、0を除いた平均が計算できます。

noname#3876
質問者

お礼

うわーできました★ こんなにすぐに回答を頂いてしかもこんなに簡単にできるなんて。。 感激です!!どうもありがとうございました。

その他の回答 (2)

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

配列数式を使うと =AVERAGE(IF(A1:A10<>0,A1:A10)) といれ、Shift+Ctrl+Enterをいれます。 +はそのキーを押しながらを意味する。 結果は数式バーには{=AVERAGE(IF(A1:A10<>0,A1:A10))} と両脇に{}がつく。

noname#3876
質問者

お礼

上記の方法だと、Shift+Ctrl+Enterを押しても{}がうまくつきませんでした。。 それで手で{}をつけてやってみたのですがエラーが出てしまいました。 結局前の方が教えてくださったやり方でやることにしました。 同じことをやるにも、色々な方法があるんだなぁ、ととても勉強になりました。 親切に教えていただきありがとうございました★

  • taranko
  • ベストアンサー率21% (516/2403)
回答No.2

=SUM(A1:A10)/COUNTIF(A1:A10,"<>0") SUM(A1:A10) A1~A10の合計を出します (ゼロはたされても数値に変動がないので考えなくても良いです) COUNTIF(A1:A10,"<>0") A1~A10にゼロ以外がいくつあるかカウントします 合計/カウントで平均が出ます。

noname#3876
質問者

お礼

前の方のやり方を試している間に他の方からも回答がきているなんて★ こんなに早く回答がくるなんて思っていなかったので非常にうれしいです。 詳しい説明まで書いていただいてとてもわかりやすかったです! 本当にありがとうございました。

関連するQ&A