• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでこんな計算できますか?)

エクセルで特定のデータの平均値と標準偏差を計算する方法は?

このQ&Aのポイント
  • エクセルで特定のデータの平均値と標準偏差を計算する方法を教えてください。
  • 現在会社でエクセルを使用して特定のデータの平均値と標準偏差を求める作業に困っています。データや他のシートの重さのために処理が遅くなっており、効率的な方法があれば教えていただきたいです。
  • さまざまなブックに対して特定のデータの平均値と標準偏差を計算する必要があります。個々のブックに対して操作が簡単な方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

A列、B列に数値データが入って入っているとします。 列挿入して空白のC列を作ります。 50件データがあるとします。トップ10とボトム10は 順位では1-10、41-50ですから C1に=AND(RANK(A1,A1:A50)>10,RANK(A1,A1:A50)<41) と入れます。そしてC50まで複写します。 FalseとTrueが合計20個と30個入ります。 このFalseは計算においては0、Trueは1と考えてください。(Falseの行、Trueの行で=C12*1とかをやって見て納得してください。) D1等どこでも=SUM(B1:B50*C1:C50)といれ、Shift キーとCtrlキーを押しながら、Enterキーを押します。配列数式と言うものを利用します。 B列とC列を対応行を掛け算します。Falseの行は0を掛けているから、0になり、足し算されないのと同じに なります。その縦列の和が求まるのです。 http://pc21.nikkeibp.co.jp/pc21/special/hr/hr1.shtmlなどで勉強すること。 結果は件数-20で割れば平均が出ます。 C列は配列数式の一端をわかりやすくするため、わざわざ 出したもので、本当は不要です。 取りあえずSumを出し、件数で割る、ランク順位は人間の目視割りだし(それも総件数から引き算して)回りくどいやり方になっていますが、後刻どなたか配列数式かSumProductを使ったスマートな回答が出るでしょう。 補足要求した手前、取りあえず平均について載せます。

hiromoe
質問者

お礼

どうもありがとうございました。 配列式か~・・・ なんとなく平均の方はできそうです! でもこのやりかたでは複数行の標準偏差に対しては・・・? また明日「教えて!」にのしてみます。 どうもありがとうございました。

その他の回答 (3)

  • papi-pu
  • ベストアンサー率35% (30/84)
回答No.4

手作業でなさるなら、 A,B列のデータのある範囲を選択 ソートする ←このとき、A列とB列だけが、A列にあわせて並び変わるはずです。 上位100個と下位100個を選択して平均値と標準偏差を求める というのはいかがでしょうか。 VBAを使えばもっと自動化できそうですけど、今は思いつきません^^;

hiromoe
質問者

お礼

どうもありがとうございました。 しかし私のでーたーはトップ100が上位100とは限らない (0.1とか1.8とか小数点たんいのものもあるんで・・・) のでこのやりかたでは・・・ しかしごしんせつにありがとうございました。

  • papi-pu
  • ベストアンサー率35% (30/84)
回答No.2

No.1さんも書いているようにBtの意味がわからないので、何の平均値、標準偏差を求めたいのかわかりませんが、 平均値を出すためにはAverage関数 標準偏差を出すためにはStdeva関数があります。 詳しい使い方はヘルプを見てください。 関数を使う分には、セルに関数を書いて、後はコピーするだけなので簡単だと思いますが。 もうちょっと、何をしたいのか書いていただかないと、説明できません^^;

hiromoe
質問者

補足

No1さん同様わかりにくい文でご迷惑おかけしました。 わたしが聞きたいのはNo1さんご指摘の通り >「200行以上ある2列ペアーのデータで、左列トップ100とボトム100を除外した右列平均を出す関数式はどうする」 ということなのです。AV・標準偏差の関数自体はわかるのですが左列に条件をつけ右列を計算させるという条件式がうまくできないのです。 なにかよいアイデアがありましたらご教授下さい。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>A列に0~2000付近 0~2000付近とは1-2000行辺りまでデータ数があると言うことか。 入力する数値が1から2000辺りまでの大きさの数値が 入っているのか。なぜそれを述べる必要があるのか。 >までの数字(長さ) 長さとは「何かの」物体の測定した長さの数値か。 商品のサイズ長か。 >この2つで1Bt分、Btはなんの意味か。 >大体1000~2500程度の縦長さ。 「縦長さ」とは物体の縦の長さか。「縦」をなぜ述べる 必要あるのか。 >横には30Bt分くらい A・B、C・D、F・G、・・と30組(60列)ぐらい データがあるのか。 >長さ列の頭0~100・終わり0~100をはずした 各列でTOP100とBottum100を除外するのか。 >長さに対する実績の 実績とは。販売実績などか。 ●結果として、質問文や説明は長く仕事密着の言葉がでてくるが、不要で 「200行以上ある2列ペアーのデータで、左列トップ100とボトム100を除外した右列平均を出す関数式はどうする」で良いのでは。あるいは「右列トップ100・・・」かも知れない。 ●ペアーが30以上あって「しんどい」のを解決は次ぎの問題。

hiromoe
質問者

補足

わかりにくい文で大変申し訳ありません。結論として私が教えていただきたいのはご指摘の通り >「200行以上ある2列ペアーのデータで、左列トップ100とボトム100を除外した右列平均を出す関数式はどうする」 ということであります。 なにか良い方法がありましたら力を貸していただけませんか?

関連するQ&A