ゴリラストロングの雑記帳

月収10万円の広告収入を目指す自称専業ライターのブログです。




【VBA】CountIf、CountIfs、AverageIfの使い方の例。条件に合うデータの集計。




どうも、ゴリラストロングです。

 

今回はVBAで、条件に合うデータの集計として、CountIf、CountIfs、AverageIfの使い方の例を作成してみました。

 

<元データ>

f:id:gorilla-strong:20200321103115p:plain

 

<マクロ実行後>

f:id:gorilla-strong:20200321103206p:plain

 

 

 

 スポンサーリンク

 

 

 

ソースコード

Sub 関数()

Dim macro As Object
Set macro = Workbooks(1).Worksheets(1)

Dim lastrow As Long
lastrow = macro.Cells(Rows.Count, 1).End(xlUp).Row


Dim rng1 As Range
Set rng1 = macro.Range("A3:A" & lastrow)

macro.Range("F3") = WorksheetFunction.CountIf(rng1, macro.Range("E3"))
macro.Range("F4") = WorksheetFunction.CountIf(rng1, macro.Range("E4"))


Dim rng2 As Range
Set rng2 = macro.Range("B3:B" & lastrow)

macro.Range("F7") = WorksheetFunction.CountIfs(rng2, "<20")
macro.Range("F8") = WorksheetFunction.CountIfs(rng2, ">=20", rng2, "<30")
macro.Range("F9") = WorksheetFunction.CountIfs(rng2, ">=30", rng2, "<40")
macro.Range("F10") = WorksheetFunction.CountIfs(rng2, ">=40", rng2, "<50")
macro.Range("F11") = WorksheetFunction.CountIfs(rng2, ">=50")


Dim rng3, rng4 As Range
Set rng3 = macro.Range("A3:C" & lastrow)
Set rng4 = macro.Range("C3:C" & lastrow)

macro.Range("F14") = WorksheetFunction.AverageIf(rng3, macro.Range("E14"), rng4)
macro.Range("F15") = WorksheetFunction.AverageIf(rng3, macro.Range("E15"), rng4)




End Sub

 

 

以上、ゴリラストロングでした。

 

 スポンサーリンク