• ベストアンサー

一定期間での標準偏差算出

お世話になります。表題の件について教えてください。条件は、以下の質問と同じにします。 http://okwave.jp/qa/q7556541.html 上記の以前の質問では、一定期間の平均値の算出方法を御教えていただきましたが、 今回は、同じく一定期間での標準偏差の算出方法をお教えいただきたく、何卒、よろしくおねいがいい

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

平均の代わりに標準偏差を求める関数に差し替えるだけです。 =STDEV(INDEX(B:B,MATCH(開始日,A:A,0)):INDEX(B:B,MATCH(終了日,A:A,0)))

Life_is
質問者

補足

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

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

ん? 所定の日付のデータが無ければ、そもそも平均から出せなかったはずですが。 でもまぁ、そういう事もあるなら別のやり方で。 D1に開始日 D2に終了日 D3に =STDEV(IF((D1<=A1:A999)*(A1:A999<=D2),B1:B999)) と記入し、この式はコントロールキーとシフトキーを押しながらEnterで入力する のようにした方が簡単です。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

回答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)))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

使われている式が間違っています。例えば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などの操作は必要ありません。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

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