- ベストアンサー
エクセルで平均値を出す時に極端に少ない数値を除外
エクセルで平均値を出す場合、0を計算に入れない式がありますが、更にもう一つ条件として、極端に少ない数値も計算に入れない式はありますか? 例えば50~70辺の数字が並んでいて、その中に10とか20とか極端に少ない数字がある場合、その数字は平均値を出す計算に入れたくないのです。 例として20以下の数字は計算に入れない場合の式を教えて頂けないでしょうか?(0と20以下は計算に入れない) 宜しくお願い致します。 office2003です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! すでに色々回答は出ていますが・・・ どの方の回答もちゃんと正解は出ます。 特にNo.3さんの数式の場合、配列数式ですので、Shift+Ctrl+Enterで確定してやる必要があります。 今回は配列数式にしない方法の一例です。 仮にA列にデータが入っているとします。 表示したいセルに =SUMIF(A:A,">20",A:A)/COUNTIF(A:A,">20") でもOKだと思います。 ※ 計算式の意味は単純にA列の20より大きな数値をすべて合計したものを 20より大きなデータ数で割っているだけです。m(_ _)m
その他の回答 (4)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
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 行の中に文字列が混じった場合に、エラーを表示してくれます。「,」の場合は、文字列を無視します。
お礼
回答ありがとうございました。
{=AVERAGE(IF(A1:A100>20,A1:A100))}
補足
回答ありがとうございます。 試しましたが、計算できません。
- MackyNo1
- ベストアンサー率53% (1521/2850)
Excel2003ではAVERAGEIF関数は使えないので以下のような配列数式を使用することになります。 =AVERAGE((IF(A1:A100>20,A1:A100,""))) 配列数式ですので、数式入力後CtrlキーとShiftキーを押しながらEnterしてください。
補足
回答ありがとうございます。 試しましたが、計算できません。
- KURUMITO
- ベストアンサー率42% (1835/4283)
A1セルからA100セルの間にデータが有るとしたら =AVERAGEIF(A1:A100,">20")
補足
回答ありがとうございます。 教えて頂いた式を入れると「#NAME?」と表示されます。
お礼
希望通りに計算出来ました。 ありがとうございました。 他の皆さんも回答してくださってありがとうございました。 何故かうまく計算できませんでした、自分が未熟なせいです。