A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
StDevメソッドの引数には配列も指定できるようなので、条件に合う値だけを配列に溜め込んで、それを渡してやれば、行きそうですね。
No.1
- 回答日時:
こんばんは。
標準偏差で、STDEV とお書きになっていますが、ふつうは、標本標準偏差として、
STDEVP を使いますので、以下は、それに合わせています。
ただし、No.1 と文字列になっている場合は、文字列から数字を取り出さないといけません。
'// 標準モジュール
Sub Main()
Dim Rng As Range
Dim Ret As Double
Dim Ret2 As Double
'条件セル A1からA列の最後の行まで
Set Rng = Range("A1", Cells(Rows.Count, "A").End(xlUp))
'A列で№1~№50のグループ
Ret = condiSTDEVP(Rng, Rng.Offset(, 1),51, 0)
Ret = Application.Round(Ret, 3)
'51以上のグループ
Ret2 = condiSTDEVP(Rng, Rng.Offset(, 1),51, 1)
Ret2 = Application.Round(Ret2, 3)
End Sub
Function condiSTDEVP(ByVal cndiRng1 As Range, ByVal Rng2 As Range, _
ByVal condi As Variant, Optional cmp As Integer = 0) As Variant
'引数は、条件列, 計算列, 条件値, 小なり=0, 大なり・等しい=1か、0以外
Dim c As Range
Dim dblSum As Double
Dim avrg As Double
Dim difSum As Double
Dim Ar() As Variant
Dim difSumAvrg As Double
Dim i As Long, j As Long
Dim flg As Boolean
'開始
For Each c In cndiRng1
If cmp = 0 Then
flg = Val(c) < condi '小なり-比較条件
ElseIf cmp <> 0 Then
flg = Val(c) >= condi '小なり-比較条件
End If
If flg Then
ReDim Preserve Ar(i)
'計算
If Not IsNumeric(Rng2.Cells(i + 1).Value) Then condiSTDEVP = "Err!": Exit Function
Ar(i) = Rng2.Cells(i + 1).Value
dblSum = dblSum + Rng2.Cells(i + 1).Value
i = i + 1
End If
Next
avrg = dblSum / i
For j = 0 To i - 1
difSum = difSum + (Ar(j) - avrg) ^ 2
Next
difSumAvrg = difSum / i
condiSTDEVP = difSumAvrg ^ (1 / 2)
End Function
お礼が遅くなり申し訳ありません
ありがとうございました
コードを入力してみたもののうまく走りませんでした。
もう少し頑張ってみます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- 統計学 生物統計学の質問 7 2022/05/17 13:59
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- 統計学 不偏分散を計算するときに標準偏差和をn-1で割りますが、なぜ-1なのでしょうか? 「なぜnでなくn- 5 2022/07/04 14:54
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- Excel(エクセル) 指定した条件でTRANSPOSE関数を使う 5 2023/08/18 19:45
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
一番好きな「クリスマスソング」は?
街に出ればクリスマスソングを聞かない日はないくらい、 いろんな曲がかかっていますよね。 あなたが一番好きな「クリスマスソング」を教えてください!
-
2024年に成し遂げたこと
今年も残すところわずか。 皆さんが今年達成したことを教えていただきたいです。 どんな小さなものでも構いません。
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
【穴埋めお題】恐竜の新説
【大喜利】 考古学者が発表した衝撃の新説「恐竜は、意外にもそのほとんどが〇〇〇」 (〇〇〇に入る部分だけを回答して下さい)
-
VBAを用いて条件付きの平均値、標準偏差を求めたいです(Ecxel 2016使用)
Visual Basic(VBA)
-
エクセルでの複数条件下での標準偏差の求め方
Excel(エクセル)
-
エクセル 条件を指定した標準偏差の出し方
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
VLOOKUPの列番号の最大は?
-
エクセルで最初の行や列を開け...
-
CSVファイルの「0落ち」にVBA
-
Accessのレポートで繰り返し表...
-
エクセル マクロ 範囲の値を上...
-
エクセル 任意の列数で分割する...
-
VBAで別ブックの列を検索し、該...
-
エクセルのソートで、数字より...
-
エクセルで?
-
Excel VBA マクロで複数列が共...
-
データシートビューのタイトル...
-
列を1つずつ非表示にしたい
-
VBA Splitで「引数の数が一致...
-
Alt+Shift+↑を一括で行うには、...
-
VBA エラーコード1004について
-
エクセルのシートの大きさを変える
-
VBA 選択範囲とUnionの使い方に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
Excelの行数、列数を増やしたい...
-
VBA 指定した列にある日時デー...
-
列方向、行方向の定義
-
エクセルで最初の行や列を開け...
-
VBAで結合セルを転記する法を教...
-
エクセルマクロの組み方
-
エクセルのソートで、数字より...
-
エクセル マクロ 範囲指定で...
-
Excel文字列一括変換
-
データシートビューのタイトル...
-
エクセルマクロPrivate Subを複...
-
Alt+Shift+↑を一括で行うには、...
-
横軸を日付・時間とするグラフ化
-
エクセルで複数列の検索をマク...
-
リストからデータを紐付けしたい
-
Accessのレポートで繰り返し表...
おすすめ情報