「夫を成功」へ導く妻の秘訣 座談会

お世話になります。表題の件について教えてください。条件は、以下の質問と同じにします。

http://oshiete.goo.ne.jp/qa/7556541.html

上記の以前の質問では、一定期間の平均値の算出方法を御教えていただきましたが、
今回は、同じく一定期間での標準偏差の算出方法をお教えいただきたく、何卒、よろしくおねいがいい

このQ&Aに関連する最新のQ&A

A 回答 (5件)

平均の代わりに標準偏差を求める関数に差し替えるだけです。



=STDEV(INDEX(B:B,MATCH(開始日,A:A,0)):INDEX(B:B,MATCH(終了日,A:A,0)))

この回答への補足

そうなんですが、#N/Aになってしまいます。ちなみに、shift+ctrl+returnは押しています。

補足日時:2012/08/01 15:49
    • good
    • 0

ん?


所定の日付のデータが無ければ、そもそも平均から出せなかったはずですが。


でもまぁ、そういう事もあるなら別のやり方で。

D1に開始日
D2に終了日
D3に
=STDEV(IF((D1<=A1:A999)*(A1:A999<=D2),B1:B999))
と記入し、この式はコントロールキーとシフトキーを押しながらEnterで入力する
のようにした方が簡単です。
    • good
    • 0

回答No3です。


E1セルには次の式でもよいでしょう。

=AVERAGE(INDEX(B:B,IF(ISERROR(MATCH(C$1-0.1,A:A,1)),2,MATCH(C$1-0.1,A:A,1)+1)):INDEX(B:B,MATCH(D$1,A:A,1)))

F1セルには次の式でもよいでしょう。

=STDEV(INDEX(B:B,IF(ISERROR(MATCH(C$1-0.1,A:A,1)),2,MATCH(C$1-0.1,A:A,1)+1)):INDEX(B:B,MATCH(D$1,A:A,1)))
    • good
    • 0

使われている式が間違っています。

例えば2/10から3/9までの平均値や標準偏差を計算する場合に、使われている式では2/10や3/9の日付が入力されていなければエラーとなってしまいます。
例えば次のようにすればよいでしょう
A2セルから下方に日付が昇順で並んでいるとします。B2セルには重量などの数値が並んでいるとします。そこで2/10から3/9までの期間の開始の日付をC1セルに2012/2/10のように、終了の日付を2012/3/9のようにD1セルに入力するとしてその平均値をE1セルに表示させるとしたら次の式をE1セルに入力します。

=AVERAGE(INDEX(B:B,IF(COUNTIF(A:A,C$1)=1,MATCH(C$1,A:A,0),IF(ISERROR(MATCH(C$1,A:A,1)),2,MATCH(C$1,A:A,1)+1))):INDEX(B:B,IF(COUNTIF(A:A,D$1)=1,MATCH(D$1,A:A,0),MATCH(D$1,A:A,1))))

標準偏差をF1セルに表示させるとしたら次の式をF1セルに入力します。

=STDEV(INDEX(B:B,IF(COUNTIF(A:A,C$1)=1,MATCH(C$1,A:A,0),IF(ISERROR(MATCH(C$1,A:A,1)),2,MATCH(C$1,A:A,1)+1))):INDEX(B:B,IF(COUNTIF(A:A,D$1)=1,MATCH(D$1,A:A,0),MATCH(D$1,A:A,1))))

なお、いずれの式でもCtrl+Shift+Enterなどの操作は必要ありません。
    • good
    • 0

ん?


>#N/Aになってしまいます

それは単純にデータの間違いで、MATCH関数で探させている日付を見つられていない状況です。
正しいデータで計算させてください。

ちなみにCtrl+Shift+Enterする必要も全くありません。



#参考
たとえばこちらのような質問相談投稿板でよく初心者さんから寄せられる間違いとしては、8月15日を計算したくて数式にいきなし 2012/8/15 なんて書き込んじゃうようなポカをしていませんか。

よく見かける間違いの例:
=STDEV(INDEX(B:B,MATCH(2012/8/10,A:A,0)):INDEX(B:B,MATCH(2012/8/15,A:A,0)))

よく見かける間違いの例:
=STDEV(INDEX(B:B,MATCH("2012/8/10",A:A,0)):INDEX(B:B,MATCH("2012/8/15",A:A,0)))



正しい計算例:
D1セルに 2012/8/10 を記入しておく
D2セルに 2012/8/15 を記入しておく
D3セルに
=STDEV(INDEX(B:B,MATCH(D1,A:A,0)):INDEX(B:B,MATCH(D2,A:A,0)))
と計算させる

正しい計算例:
=STDEV(INDEX(B:B,MATCH(DATE(2012,8,10),A:A,0)):INDEX(B:B,MATCH(DATE(2012,8,15),A:A,0)))

正しい計算例:
=STDEV(INDEX(B:B,MATCH(DATEVALUE("2012/8/10"),A:A,0)):INDEX(B:B,MATCH(DATEVALUE("2012/8/15"),A:A,0)))




#補足
「計算できませんエラーになります」で困っているときは、あなたが具体的にどんな式を書いて答えが出なかったのか、実際にあなたがエクセルに書いて失敗した「その数式」を手抜きせずその通りにご相談に書いて情報提供してください。
また必要に応じて「あなたが準備して計算させた実際のデータ」も、具体的に情報提供してください。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで一定期間毎の平均値の算出式について

A列に日付、B列にあるラインで製造された部材の重量が入力されているとします。
この時、ある一定期間に製造された部材の重量の平均値を返すには、どのような数式を使えばよいでしょうか?
またこの一定期間というのが、少し厄介で、月毎ではなく、月の途中から途中(例えば、2/10~3/9、3/10~4/9というような感じ)の場合になりますが、このような時、どのような数式になるか、お教え頂きたく、よろしくお願いします。

Aベストアンサー

こんばんは!
一例です。

↓の画像でF2セルに
=IF(COUNTBLANK(D2:E2),"",AVERAGE(IF($A$1:$A$1000>=D2,IF($A$1:$A$1000<=E2,$B$1:$B$1000))))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は
F2セルに貼り付け後、数式バー内で一度クリック!
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。

これをオートフィルで下へコピーすると
画像のような感じになります。

※ ↓の画像は当方使用のExcel2003での一例です。
配列数式の場合は極端にデータ量が多い場合はオススメできないのですが、1000行程度であれば問題ないと思います。

※ 当然No.1さんの回答にあるようにExcel2007以降であればAVERAGEIFS関数が利用できますし、
データ量が多い場合はNo.1さんの後半の数式をオススメします。

失礼しました。m(_ _)m

こんばんは!
一例です。

↓の画像でF2セルに
=IF(COUNTBLANK(D2:E2),"",AVERAGE(IF($A$1:$A$1000>=D2,IF($A$1:$A$1000<=E2,$B$1:$B$1000))))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は
F2セルに貼り付け後、数式バー内で一度クリック!
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。

これをオートフィルで下へコピーすると
画像のような感じになります。

※ ↓の...続きを読む

Qエクセルでの複数条件下での標準偏差の求め方

教えてください。エクセル2007を使用しています。僕はエクセル初心者ではありませんが、玄人でもない中級者くらいだと思います。早速ですが、例えばA列に男か女かの性別、B列に日本、アメリカなどの国籍、C列に東京、フロリダなどの州、県、D列に右利きか左効きか、E列に年齢が書いてある表において、「男、日本、埼玉、右利き」の人の「年齢」の「標準偏差(STDEV)」を求めようとしたとき、計算する方法がわかりません。ソートをかけて求める方法も考えましたが、内容や位置がコロコロ変わるため、向いていないと思ってます。平均値ならAVERAGEIFSで出せますし、合計ならSUMIFSがあると思います。1つの条件(たとえば、「日本」の「年齢」の標準偏差)ならば、なんとかできますが、このような場合の関数はあるのでしょうか?もしなければ、どのように算出するのか教えて頂ければありがたいです。よろしくお願いいたします。

Aベストアンサー

方法1:
=STDEV(IF((A1:A100="男")*(B1:B100="日本")*(C1:C100="東京")*(D1:D100="左"),E1:E100))
と数式バーに記入して,コントロールキーとシフトキーを押しながらEnterで入力します


方法2:
STDEVの基本式
=SQRT((N*Σ(x^2)-(Σx)^2)/(N*(N-1)))
で計算します(関数のヘルプを参照の事)

NはCOUNTIFS関数,ΣxはSUMIFS関数で計算できますが,Σ(x^2)については
=SUMPRODUCT((A1:A100="男")*(B1:B100="日本")*(C1:C100="東京")*(D1:D100="左"),E1:E100,E1:E100)
といった具合に求める必要があります。

Q指定した期間内での数値を合計する関数。

関数について教えて下さい。

SUMIF関数で条件に合うセル内の数値を合計するのは出来るのですが
その条件に更に条件を加えたいのですがやり方がわかりません。

下記の画像でD28セルに8/1~8/3までの間の海山商事さんの個数を
合計して表示させるにはどんな関数が入るでしょうか?

SUMIF関数で全期間の海山商事さんの個数を合計する事はできますが
期間を指定する関数がどうしてもわかりません。

初歩的な質問かもしれませんがよろしくお願いします。

Aベストアンサー

こんにちは。

8/3までの個数から8/1以前の個数を引けば8/1~8/3までの個数になります。

=SUMIF(B5:B20,"<=8/3",F5:F20")-SUMIF(B5:B20,"<8/1",F5:F20")

今回は8/1から始まっていて以前がないので、8/3までの個数を求めればSれが答えになります。


このカテゴリの人気Q&Aランキング