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 関数の書き方

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です