プロが教える店舗&オフィスのセキュリティ対策術

エクセルで複数のセルの数値の平均値を表示させたいのですが
未入力のセルを無視して
入力済のセルの数値だけの平均値を出すには
どうしたらよいでしょうか?

A 回答 (6件)

>0を除いた平均値の表示はどうしたらよいでしょうか?


0を除いた個数は
=SUM(A:A)/SUM(COUNTIF(A1:A10,{"<0",">0"}))

=SUM(A:A)/(COUNT(A:A)-COUNTIF(A:A,0))
でも出るでしょう(負も計算済み)

しかし、通常0の表示は意味を持っていると考えます。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2009/05/23 14:20

No3です。



0および空白を除いた平均を求める計算ですが、先ほどのような面倒なことをせずとも
=SUM(A1:A10)/SUMPRODUCT((A1:A10<>0)*1)
で出ますね。失礼しました。
No4さんのとの違いは、マイナスは計算対象に入ることです。
    • good
    • 0

No1です。

数値が正の値と 0 だとして
先のシートの例で 
A列の合計は =SUM(A:A) で得られると思います。
A列の 0以上の件数は =COUNTIF(A:A,">0") で得られると思いますので
平均であれば
=SUM(A:A)/COUNTIF(A:A,">0") で如何でしょうか?
    • good
    • 0

> 0を除いた平均値の表示はどうしたらよいでしょうか?



以下は、0および空白を除いた平均を求める一例です。

=SUMPRODUCT((A1:A10<>0)*(A1:A10))/SUMPRODUCT((A1:A10<>0)*1)
    • good
    • 0

AVERAGE関数は思いついているのかな。


エクセル関数の学習や経験の始めに知る・使う関数だが。
知っているなら実際やってみましたか。
#1のご回答のとおりのはず。
関数の解説には文字列、空白セルを参照している場合、「それらは計算から除外されます、と必ず解説が有るはず。

ーー
2007の場合(質問にバージョンぐらい書くこと)
http://www.becoolusers.com/excel/averageif.html
のように考えられるが、上記のとおりで、つかう必要ないでしょう。
    • good
    • 0

AVERAGE関数ではダメだったのでしょうか?


AVERAGE関数は、指定した範囲で空白があったら無視してくれますが。

 A  B
10
20
30
・・・とあって
=AVERAGE(A1:A3)
=AVERAGE(A1:A100)
=AVERAGE(A:A) いずれも同じ答えになると思いますが。

この回答への補足

ありがとうございます。
ちなみに未入力のセルにすでに数式が入っていて
"0"が表示されている場合、
0を除いた平均値の表示はどうしたらよいでしょうか?
重ねて質問してすみません。

補足日時:2009/04/19 13:37
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています