- ベストアンサー
VBAのコードに関する質問です。
B列の値が3の時に対応するJ列の値を選択し、そのJ列の値の平均値をI2に出力する、というVBAのコードを教えてほしいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
=AVERAGE(IF(B1:B30=3,J1:J30))の配列数式(入力完了時にShift+Ctrl+Enterキー押下)や、エクセル2007以上なら、=AVERAGEIF(B:B,3,J:J)で可能ですよ。 マクロ例です。 Sub sample() Dim wk() For i = 1 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B") = 3 Then ReDim Preserve wk(cnt) wk(cnt) = Cells(i, "j") cnt = cnt + 1 End If Next Cells(2, "I") = Application.Average(wk) End Sub