私は3つの列と162のデータセット(行)+ヘッダーを持つテーブルを持つシート( "DATA")を持っています。vbaを使用してExcelで条件に基づいて平均を計算する方法
私は列A(「サイト」)におけるサイト名に基づいて、列C(「研修ステータス[%]」)の平均値を計算する必要があります。それは、テーブルがどのように見えるかです。
新しいシート(「概要」)にテーブルを作成するマクロを作成しました。ここでは、各サイトは1回だけ記述されていますが、各サイトの平均「トレーニングステータス」を計算する必要があります。
決勝テーブル:
どのように私は、元のテーブルからのデータに基づいて最終テーブルに正しい値を取得するには、プラス平均は、各サイトのために計算しなければならないという条件を検討することもでき名?もちろん、各サイトには同じ量のデータセットがありません(たとえば、「BRU-Logistics」には3つのデータセットがあり、「FRA-Logistics」には15のデータセットがあります)。
私はいくつかのVBAコードを見つけましたが、正に、私は実際には後ろのロジックを理解できず、必要に応じて渡すことができませんでした。
私のコードは完全ではありません。私は何とか始めようとしましたが、私は迷ってしまいました。
Sub Average()
Dim rng As Range
Dim LastRow As Long
Dim r1 As Long, r2 As Long
Dim lNoRows As Long
LastRow = Sheets("DATA").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Set rng = Sheets("DATA").Range("A2:C" & LastRow)
lNoRows = rng.Row.Count
For r1 = 1 To lNoRows
If rng(r1, 1) = rng(r2, 1) And r1 = r2 Then
End Sub
ありがとうございました!
AVERAGEIF() –
を使用して、問題の特定に役立ててください。ありがとう –