- 締切済み
[至急]エクセルで標準偏差をグループごとに一気に計算したいのですが。
[至急]エクセルで標準偏差をグループごとに一気に計算したいのですが。 エクセルにおいて大量のデータがあり,そのデータを規則的に120個づつのグループに分け,それぞれのグループごとの標準偏差を出したいと思っています。今,STDEV関数を使い,1つづつ自分で120個の範囲を決めて,入力して計算しましたが,非常に時間がかかってしまいます。一気に計算する方法はあるのでしょうか?そして,どのような関数を利用すれば良いのでしょうか?if関数を使うと早く計算出来ますか?if関数初心者です。 教えて下さい。お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
いま実際にやりたいことが実は >A列に1年間分のデータがあり、(120×365個)B列に1日分の標準偏差した値を算出したいと思っています。 のようであるなら,幾つデータがあるのか事前に個数も決まっていますし,どのセルの計算をしたらいいのかも全部事前に分かっています。 そのようなお話であるのなら,2回目の回答で2番目にお話ししたように… あなたのお話の前提: >今,STDEV関数を使い,1つづつ自分で120個の範囲を決めて,入力して計算しましたが,非常に時間がかかってしまいます。 手順(再掲): 既に一度あなたが120個ずつを計算する式を365個入れたシートをもう一度持ってくる 既に一度あなたが作った120個を計算する式はそのまま残しておいて その式がみているA列(?)の元データのセル範囲に,新しい120個×365日分のデータをコピーして入れ替える と,もう出来ています。 ここで一度手を止めて,実際に手を動かして試してみてから次に進んでください。 どうしてか以前折角やったのを使わず,とにかくイチからやり直したいなら,前回の最初の手順ですが 手順(再): A列にデータを用意する B3セルに =STDEV(A3:A146) を入れる B3:B146を選択しておいて,その状態から,下向けにオートフィルドラッグする。 すると B147に =STDEV(A147:A290) B291に =STDEV(A291:A434) 以下同じ が自動で入った事を確認する B列を列選択する Ctrl+Gを押す 現れたダイアログでセル選択のボタンを押す 現れたダイアログで空白セルにマークしてOKする 途中の空白セルが飛び飛び選択できたら,編集メニューの削除で上に詰める のようになります。 ところで >最終的に、B列の1セルの数式が、=STDEV(B3:B146)となり、 データが当初の「120個」と違ってますね。またA列B列のご説明も何やら間違いがあるようです。こういったどうでも良いと思ったかも知れない部分でも,「できない」とそこで立ち止まってしまい先が進めなくて結局困りますよ。たとえば誰か回答者が折角「120個ずつのうまい式」を書いて教えてくれても,そのままじゃ使えずあなたも直せず,回答者は最初に120個という前提で進めているので何が違ってるのか判断材料も無いので直し方もお話し出来ず全て無駄になるという次第です。 説明を聞いただけで後はご自分で応用して出来れば良い事なのですが,それなら先に回答した範囲で既に出来たはずです。そうならないよう,正しい「その通りにすれば出来るやり方や数式」を回答して欲しい時は,嘘偽りない実際のあなたのお手許のエクセルの正しい姿を丁寧にご相談で説明するようになさってください。 よく見かける事ですが,「わかりやすくと思って結局嘘(事実ではないこと)を書きました」が一番あなたご自身と回答者双方の手間暇を無駄にします。
- keithin
- ベストアンサー率66% (5278/7941)
他にやりようは,もちろん色々ありますよ。沢山ある中から「一番手間が要らなくて確実と思われる」ピボットテーブルについてご紹介してみたわけです。 それに先の回答で「これこれがご相談で説明が足りてない点」とお話ししておいたのもちゃんと目を通して,そう言われたからでもいいですから言葉で情報を補足して投稿して貰えれば,「そこまで出来ているならこうします」と具体的なHowToももっと沢山即座に皆さんから回答が寄せられてると思います。 そもそもいま一番問題の「120もグループを分けている」からして,具体的にどういう分け方をしたいのか・していいのか・しなさいと言われているのか,そこから情報が皆無なので,上手いアイデアを出そうにもとっかかりが無さ過ぎる事に気がついてください。 そんな決め事も何も無いのでとにかく誰か代わりにやってくださいで良いのなら。 もう一個簡単な作成例: A1からA1200まで数値を並べる。 B1に =STDEV(A1:A10) と式を入れる。 B1:B10を選んで,下向けにえいやーっっっっとオートフィルドラッグする B11,B21…に合計120個,目的の計算式が並ぶ。 #更におまけ B列を列選択する Ctrl+Gを押す 現れたダイアログでセル選択のボタンを押す 現れたダイアログで空白セルにマークしてOKする 途中の空白セルが飛び飛び選択できたら,編集メニューの削除で上に詰める 以上です。 もしかするともう一個別の手: 既に一回120グループ分の計算式を並べ終えたなら。 次の作業では,新たな元のデータをコピーして先に作成し終えたシートに貼り付けて,データだけ入れ替えるのでも出来るかも?しれません 逆に,そのやりかたじゃ「今こうなってるから出来ないんです」が説明できればしめたもので,そういう「これこれの具合にこうなっているから困っています」という具体的な事柄をご相談に書いてください。 #実際のとこ。 回答したようにやり変えてみることも出来ない,かといって具体的に今どうなってるのか現状を説明することも出来ない,ただ出てくるのは「できないよーどうにかなりませんかよー」と愚痴がこぼれるばかりでは,お手伝いしたいのは山々ですが正直打つ手がありません。 また返答が遅れてごめんなさいと,回答者にあやまるのも見当違いです。急いでいたのはあなたの方で,でも当初は至急でしたが実際返答が返ってくるまで丸一日ですし,別にもう急いでる様子も無さそうと判断してもいいですよね? 別に怒ってる訳じゃありませんからごめんなさいとか言い訳とか要らないので,ともかく問題を解決したいのでしたらあなたも「回答者から答えを引き出せるよう」動いてみてください。
補足
回答ありがとうございます。 データとしては、1日分のデータが120個あり、1年間分のデータを処理したいと思っているところです。 A列に1年間分のデータがあり、(120×365個)B列に1日分の標準偏差した値を算出したいと思っています。(最終的に365個となるはずなのですが)データが多いので、それを一気に算出したいと思っています。keithinさんの教えてくださったように以下の方法で算出しました。 >もう一個簡単な作成例: A1からA1200まで数値を並べる。 B1に =STDEV(A1:A10) と式を入れる。 B1:B10を選んで,下向けにえいやーっっっっとオートフィルドラッグする B11,B21…に合計120個,目的の計算式が並ぶ。 最終的に、B列の1セルの数式が、=STDEV(B3:B146)となり、 2セルの数式が、=STDEV(B147:B290)となり、 3セルの数式が、=STDEV(B291:B434)となり、これが、一気に365日算出することをしたいと思っています。 急いで解決したいのですが、進みが遅くなりました。 どうぞ宜しくお願いします。
- keithin
- ベストアンサー率66% (5278/7941)
たとえばA1に「データ」と書いてあって、A2以下たくさんデータがある。 たとえばB1に「グループ」と書いてあり、B2以下各データのグループ番号が書いてある。 たとえばExcel2003を使っている。 データメニューのピボットテーブルレポートを開始し 行にグループを投入 データにデータを投入 合計/データをWクリックして集計の方法を標本標準偏差に変更して,完成。 #上述でいちいち「たとえば」と書いた部分が全て,実際がどうなっているのかご説明不足の部分です。出来ない,出来ていない箇所があれば具体的にして,必要に応じてそれぞれまた別途ご相談を投稿してみてください。
お礼
返信が遅くなりまして,申し訳ございません。 アドバイスありがとうございます。 ピボットテーブルも初心者でやり方を調べながらやっていますが,うまく処理が出来ないところです。 ピボットテーブルの他にもやり方はあるのでしょうか? また,相談にコメントを乗せてみます。 ありがとうございました。
お礼
細かく色々な方法でご回答下さり,ありがとうございました。 おかげ様で,データを処理する事が出来ました。助かりました。 説明の所で,分かりづらくなり申し訳ありませんでした。