• ベストアンサー

VBAのコードに関する質問です。

B列の値が3の時に対応するJ列の値を選択し、そのJ列の値の平均値をI2に出力する、というVBAのコードを教えてほしいです。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.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

関連するQ&A