重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

エクセルで平均値を出す場合、0を計算に入れない式がありますが、更にもう一つ条件として、極端に少ない数値も計算に入れない式はありますか?
例えば50~70辺の数字が並んでいて、その中に10とか20とか極端に少ない数字がある場合、その数字は平均値を出す計算に入れたくないのです。
例として20以下の数字は計算に入れない場合の式を教えて頂けないでしょうか?(0と20以下は計算に入れない)
宜しくお願い致します。
office2003です。

A 回答 (5件)

こんばんは!


すでに色々回答は出ていますが・・・
どの方の回答もちゃんと正解は出ます。

特にNo.3さんの数式の場合、配列数式ですので、Shift+Ctrl+Enterで確定してやる必要があります。

今回は配列数式にしない方法の一例です。
仮にA列にデータが入っているとします。
表示したいセルに

=SUMIF(A:A,">20",A:A)/COUNTIF(A:A,">20")

でもOKだと思います。

※ 計算式の意味は単純にA列の20より大きな数値をすべて合計したものを
20より大きなデータ数で割っているだけです。m(_ _)m
    • good
    • 0
この回答へのお礼

希望通りに計算出来ました。
ありがとうございました。

他の皆さんも回答してくださってありがとうございました。
何故かうまく計算できませんでした、自分が未熟なせいです。

お礼日時:2013/07/16 22:31

No.2 さん、3 さんのご回答は、どちらも正しいです。

No.1 さんのものも、Excel2007 以降なら使えます。

AVERAGEIF も Ctrl+Shift+Enter もできないということなら、次式とか。以下、平均とは全て、算術平均のことです。

20 以下を含まない集合における 20 より大きい数の平均
=sumproduct(0+(a1:a100>20),a1:a100)/countif(a1:a100,">20")

20 以下を含み空白セルを含まない集合における 20 より大きい数の平均(「0」は 20 以下だが空白ではないので注意)
=sumproduct(0+(a1:a100>20),a1:a100)/count(a1:a100)

20 以下と空白セルを含む集合における 20 より大きい数の平均
=sumproduct(0+(a1:a100>20),a1:a100)/rows(a1:a100)

なお、各 SUMPRODUCT 関数の中のカンマ「,」を「*」に書き換えると、100 行の中に文字列が混じった場合に、エラーを表示してくれます。「,」の場合は、文字列を無視します。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/07/16 22:29

{=AVERAGE(IF(A1:A100>20,A1:A100))}

この回答への補足

回答ありがとうございます。
試しましたが、計算できません。

補足日時:2013/07/15 21:38
    • good
    • 0

Excel2003ではAVERAGEIF関数は使えないので以下のような配列数式を使用することになります。



=AVERAGE((IF(A1:A100>20,A1:A100,"")))

配列数式ですので、数式入力後CtrlキーとShiftキーを押しながらEnterしてください。

この回答への補足

回答ありがとうございます。
試しましたが、計算できません。

補足日時:2013/07/15 21:38
    • good
    • 0

A1セルからA100セルの間にデータが有るとしたら



=AVERAGEIF(A1:A100,">20")

この回答への補足

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

教えて頂いた式を入れると「#NAME?」と表示されます。

補足日時:2013/07/15 18:44
    • good
    • 0

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