Vba: averageif 関数と averageifs 関数の書き方
Excel で VBA を使用して AVERAGEIF 関数および AVERAGEIFS 関数を作成するには、次の方法を使用できます。
方法 1: VBA の AVERAGEIF 関数
Sub Averageif_Function()
Range(" E2 ") = WorksheetFunction.AverageIf(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub
この特定の例では、範囲 A2 :A12 の対応する値が “Mavs” に等しい範囲 B2: B12の平均値を計算し、その結果をセルE2に割り当てます。
方法 2: VBA の AVERAGEIFS 関数
Sub Averageifs_Function()
Range(" E2 ") = WorksheetFunction.AverageIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub
この特定の例では、範囲A2:A12の値が “Mavs” に等しく、範囲B2:B12 の値が 20 より大きい範囲 C2:C12の平均値を計算し、その結果をセルE2に割り当てます。 。 。
次の例は、さまざまなバスケットボール選手に関する情報が含まれる Excel の次のデータセットを使用して、これらの各メソッドを実際に使用する方法を示しています。
例 1: VBA の AVERAGEIF 関数
マブス チームの選手のポイント列の平均値を計算したいとします。
この AVERAGEIF 関数を実行するには、次のマクロを作成します。
Sub Averageif_Function()
Range(" E2 ") = WorksheetFunction.AverageIf(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub
このマクロを実行すると、次の出力が表示されます。
セルE2には18.25という値が含まれていることに注目してください。
これは、マブス チームの選手のポイント列の平均値が 18.25 であることを示しています。
マブスの平均プレーヤー ポイント値を手動で計算することで、これが正しいことを確認できます。
マブス選手の平均ポイント: (22 + 10 + 29 + 12) / 4 = 18.25 。
例 2: VBA の AVERAGEIFS 関数
次の基準を満たすプレーヤーのアシスト列の平均値を計算するとします。
- その選手はマブスチームの一員である。
- その選手は20点以上を獲得した。
次のマクロを作成して、この AVERAGEIFS 関数を実行できます。
Sub Averageifs_Function()
Range(" E2 ") = WorksheetFunction.AverageIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub
このマクロを実行すると、次の出力が表示されます。
セルE2に値9が含まれていることに注目してください。
これは、マブスのチームに所属し、 20 得点以上を記録した選手の平均アシスト数が 9 であることを示しています。
注: この例では、2 つの基準範囲を使用して AVERAGEIFS 関数を作成しましたが、 WorksheetFunction.AverageIfsメソッドでは必要なだけ基準範囲を使用できます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA:範囲の平均値を計算する方法
VBA: SUMIF 関数と SUMIFS 関数の書き方
VBA: COUNTIF 関数と COUNTIFS 関数の書き方