- ベストアンサー
エクセルの関数で列内の数字の平均値を求める方法はあるのか?
- エクセルで列内の数字の平均値を求める方法はあるのかについて質問です。
- ある列内のセルにある数字を指定し、その数字から下一列にある数字をすべて選択したような状態でその中の数字の平均値を求める方法はあるのでしょうか?
- 具体的な例として、エクセルの表において列内の数字を指定し、その数字から下の列にある数字を全て選択し、その中の数字の平均値を求める方法が知りたいです。
- みんなの回答 (14)
- 専門家の回答
質問者が選んだベストアンサー
No.2です! 投稿した後でNo.1さんの補足を読ませてもらいました。 >3211 3215とある別々のセルに入力したら 自動的に3212~3215の間んぽ・・・ とあるのですが 3211と入力するとその値を超えたものから3215までの平均を出したいという意味なのですかね? もしそうであれば、その下にある >3211 3215 が 3219 3226 に変えたら 3219~3226間の数字の平均がでるような・・・ が違う事になってしまいますが・・・ 一応参考として 前回のD3セルの数式を =IF(COUNTBLANK(D1:D2),"",SUMPRODUCT((A1:A1000>D1)*(A1:A1000<=D2)*(A1:A1000))/SUMPRODUCT((A1:A1000>D1)*(A1:A1000<=D2))) に訂正すれば、D1セルの値を超えて~D2セルの値までの平均が出ると思います。 以上、お役に立てば良いのですが 何度もごめんなさいね。m(__)m
その他の回答 (13)
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばA列にお示しのデータが入力されており、3212をB1セルに3215をC1セルに入力して、その平均値を求めるのでしたらD1セルには次の式を入力します。 ==IF(OR(COUNT(B1:C1)<>2,COUNTIF(A:A,B1)=0,COUNTIF(A:A,C1)=0),"",AVERAGE(INDIRECT(ADDRESS(MATCH(B1,A:A,0),1)):INDIRECT(ADDRESS(MATCH(C1,A:A,0),1))))
お礼
ご回答ありがとうございます。 会社であせりながら質問文を作成していたため、後で確認したら、文がおかしなことになってしまっていて、修正することもできず、読みにくくなってしまい、申し訳ありませんでした。 本当はエクセルのサンプルファイルを図として、添付したかったのですが、会社のパソコンからだと暗号化がかかってしまい、添付もできず、、、。今は自宅のパソコンなので補足でも添付できれば・と思ったのですが、できないのですね(;;) 1111 2222 3333 4444 5555 6666 7777 8888 ・・・・・・とA列に数値が並んでいると仮定して、例えば2222と7777をB1セルとB2セルに入力したら B3のセルに2222~7777までの数値すべての(つまり2222,3333,4444,5555,6666,7777)の平均を返すような式があればと思っていました。 なので、tom04様がNo.2でご回答された関数で希望の結果(1000セルあれば足ります)が返るようになりました。 ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 外していたらごめんなさい。 質問の結果はと若干違うような気がするのですが・・・ 一例として ↓の画像のD3セルに =IF(COUNTBLANK(D1:D2),"",SUMPRODUCT((A1:A1000>=D1)*(A1:A1000<=D2)*(A1:A1000))/SUMPRODUCT((A1:A1000>=D1)*(A1:A1000<=D2))) とりあえず1000行目まで対応できるようにしてみました。 という数式を入れています。 これでD1・D2セルで範囲指定してやればその平均が表示されると思います。 これでA列のデータが規則正しくなれんでいなくても大丈夫だと思います。 以上、参考になれば良いのですが、 外していたらごめんなさいね。m(__)m
- onara931
- ベストアンサー率25% (141/545)
平均値を出す関数は@average(セル番地:セル番地)ですが。 頻繁に任意の範囲の平均値を出すのには、いちいち入力が面倒ですね。 エクセルでは、任意の範囲を選択すると自動的に統計値がステータスバーに表示されます。 通常は合計値になっていますが、ステータスバーに「合計=***」と表示されているところを 右クリックしますと、平均値、データ数、最大値や最小値の表示に切り換えることができます。
補足
ご回答ありがとうございます。 最終的にはaverage関数もしくはDaverage関数を使用することになるとは思うのですが、 ※例えば 3211 3215とある別々のセルに入力したら 自動的に3212~3215の間んぽ数値すべてを選択して平均値の結果が返るように設定したいのです。 (3211 3215 が 3219 3226 に変えたら 3219~3226間の数字の平均がでるような・・・) 実際に使用している表はもっと多く、複雑なのでステータスバーで毎回確認がちょっと時間がかかり、間違えてしまうこともあるので(今はそのやりかたで平均値をだしてます)
- 1
- 2
お礼
ご回答ありがとうございます。 会社であせりながら質問文を作成していたため、後で確認したら、文がおかしなことになってしまっていて、修正することもできず、読みにくくなってしまい、申し訳ありませんでした。 本当はエクセルのサンプルファイルを図として、添付したかったのですが、会社のパソコンからだと暗号化がかかってしまい、添付もできず、、、。今は自宅のパソコンなので補足でも添付できれば・と思ったのですが、できないのですね(;;) 1111 2222 3333 4444 5555 6666 7777 8888 ・・・・・・とA列に数値が並んでいると仮定して、例えば2222と7777をB1セルとB2セルに入力したら B3のセルに2222~7777までの数値すべての(つまり2222,3333,4444,5555,6666,7777)の平均を 返すような式があればと思っていました。 なので、tom04様がNo.2でご回答された関数で希望の結果(1000セルあれば足ります)が返るように なりました。 ありがとうございました。