- ベストアンサー
EXCELで0をカウントしないで平均を出したい
平均値を求めたいのですが、AVERAGE関数を使うと値が0の分もカウントされて平均値が出てしまいます。 これを0を除いたものだけの平均値にしたいのです。 ちなみにこの平均値をもとめたいものは他のファイルからリンクを貼ってデータを持ってきています。 リンクを貼ってデータを持ってきていないものは、IF文を使って0だったら空白にするという風にしたら出来たのですが。。 ちなみに、今現在一個一個AVERAGE関数で0以外の部分を選択して出しています。これだと毎回直さないといけないので辛いです。どなたか教えてください!! EXCELのバージョンは2000です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SUMIF() と COUNTIF() を使います。平均を求める範囲が A1:A10 だとしたら、 =SUMIF(A1:A10,"<>0",A1:A10)/COUNTIF(A1:A10,"<>0") という感じで、0を除いた平均が計算できます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
配列数式を使うと =AVERAGE(IF(A1:A10<>0,A1:A10)) といれ、Shift+Ctrl+Enterをいれます。 +はそのキーを押しながらを意味する。 結果は数式バーには{=AVERAGE(IF(A1:A10<>0,A1:A10))} と両脇に{}がつく。
お礼
上記の方法だと、Shift+Ctrl+Enterを押しても{}がうまくつきませんでした。。 それで手で{}をつけてやってみたのですがエラーが出てしまいました。 結局前の方が教えてくださったやり方でやることにしました。 同じことをやるにも、色々な方法があるんだなぁ、ととても勉強になりました。 親切に教えていただきありがとうございました★
- taranko
- ベストアンサー率21% (516/2403)
=SUM(A1:A10)/COUNTIF(A1:A10,"<>0") SUM(A1:A10) A1~A10の合計を出します (ゼロはたされても数値に変動がないので考えなくても良いです) COUNTIF(A1:A10,"<>0") A1~A10にゼロ以外がいくつあるかカウントします 合計/カウントで平均が出ます。
お礼
前の方のやり方を試している間に他の方からも回答がきているなんて★ こんなに早く回答がくるなんて思っていなかったので非常にうれしいです。 詳しい説明まで書いていただいてとてもわかりやすかったです! 本当にありがとうございました。
お礼
うわーできました★ こんなにすぐに回答を頂いてしかもこんなに簡単にできるなんて。。 感激です!!どうもありがとうございました。