Excelのスプレッドシートで数値データを分析します。各行には、 (左から右へ、Excelのデータセットの図を参照)。各行について、合計30〜180列が存在することができる(したがって、行ごとに3〜10個のサンプルが10個ずつ)。さらに、10〜180行のデータが存在する可能性があります。私はVBのコードは3番目の列(列Dで始まる)の後に列を挿入し、その新しい列で3つの行の値のCV [= STDEV(D3:F3)/ AVERAGE(D3:F3)]を計算したい列(D3/E3/F3)に挿入し、挿入された列の下部には、その列のすべてのCVの平均を計算します(Excelのデータセット画像の処理を参照)。また、データセットには可変数の列があります(しかし、常に3のグループになります)ので、コードが「データ付き」列の最後に来たときにコードが認識するようにしてください。行の数も変化するので、「データ付き」行の最後まで。以下は、開始Excelデータセットと処理済みExcelデータセットの写真です。私は、検索に出てきた多くの関連する質問に目を通しましたが、このアプリケーションには適合しませんでした。コードを書く知識はほとんどありません。助けてくれてありがとう、本当に感謝しています。3番目のデータ列ごとにExcelを挿入/挿入してCV(STDEV/AVERAGE)を計算し、その列のCVの平均を計算します
答えて
ちょうどあなたが持っているものは何でもシート名にシート名を変更...次のコードを試してみてください。
Option Explicit
Function STDEV_AVG()
Dim ws As Worksheet
Dim iRow As Integer
Dim iCol As Integer
Dim iLastrow As Long
Dim iLastCol As Long
Dim rng1 As Range
Set ws = ActiveWorkbook.Sheets("sheet5")
Sheets(ws.Name).Activate
With ws
iLastrow = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
iLastCol = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).column
End With
If iLastCol < 6 Then
MsgBox "There must be a minimum of 6 columns, else this format seems incorrect!"
End If
For iCol = iLastCol + 1 To 7 Step -3
ws.Cells(1, iCol).Select
ActiveCell.Offset(1).EntireColumn.Insert (xlShiftToRight)
Cells(2, iCol) = "StdDev"
For iRow = 3 To iLastrow
If Cells(iRow, iCol - 1) <> "" Then
Set rng1 = ws.Range(Cells(iRow, iCol - 3), Cells(iRow, iCol - 1))
'ws.Range(Cells(iRow, iCol - 3), Cells(iRow, iCol - 1)).Select
Cells(iRow, iCol).Formula = "=STDEV.P(" & rng1.Address & ")"
End If
Next iRow
Set rng1 = ws.Range(Cells(3, iCol), Cells(iLastrow, iCol))
'ws.Range(rng1.Address).Select
Cells(iLastrow + 1, iCol).Formula = "=Average(" & rng1.Address & ")"
Next iCol
End Function
こんにちはウェイン、私は間違って私はSTDEVが本当にCVを望んでいたと述べた(STDEV/AVERAGE; STDEV (D3:F3)/ AVERAGE(D3:F3))。あなたのコードをSTDEVをCVから計算するように修正しようとしていますが、運がまだありません。あなたの助けは再び本当に感謝されるでしょう。 – Bill
次に、 "= STDEV.P("&rng1.Address& ")" =(STDEV( "&rng1.Address&"))/ Average( "&rng1.Address&") "をSTDEV/AVERAGE –
これはうまくいきました。唯一の問題は、前のマクロを実行して#DIV/0を残したExcelファイルにこのマクロを適用したときでした。私がすべての#DIV/0を置き換えるまで、このマクロはそれらのファイルで実行されませんでした! 0.0で、それは完璧に走った。 – Bill
- 1. 平均を計算してテーブルに挿入するSQLクエリ
- 2. IDごとに1つの列に集計/集計して平均とすべての列を計算する
- 3. Excelで3番目の列に2列の値の合計を計算
- 4. 配列の平均を計算する
- 5. 配列の平均を計算する
- 6. SSISは計算された列を挿入しません。
- 7. ユーザー入力からの配列による平均の計算
- 8. divの幅を計算し、divを挿入します。
- 9. Shinyはデータフレーム内の列の平均を計算します
- 10. すべての列の平均を計算して出力差を計算します。
- 11. ループごとに計算された値を挿入する
- 12. 各列の平均を計算します。R
- 13. 計算SQL値新しい挿入
- 14. Datagrid:フッター内の列の平均または合計を計算します
- 15. Excelで数値の平均パーセンテージを計算しますか?
- 16. Mapreduce-java:配列リストの計算平均
- 17. 平均としてSQL Server 2012の計算列を指定します。
- 18. Rails 3アクティブレコード計算:同時に合計と平均を計算する
- 19. 計算した平均
- 20. 合計の計算上の平均を
- 21. データ表の列から平均を計算する
- 22. Filestream Filetableでの問題挿入時のfile_type列の計算
- 23. 計算平均
- 24. 平均計算
- 25. 計算平均
- 26. 3回目のループごとにtrを挿入します。
- 27. 3番目の要素ごとに合計を計算する - array java
- 28. Rのデータ計算での平均計算
- 29. SQL Server:一括計算列のテーブルに一括挿入
- 30. 各生徒の合計スコアを計算して保存し、クラス全体の平均スコアを計算します。
「データの終了」のルールは何ですか?行または列の空白/空のセル値? –
こんにちはウェイン、これを見てくれてありがとう、データルールの私の終わりは "行または列の空白/空のセル値" – Bill