Vba: sumif 関数と sumifs 関数の書き方


Excel で VBA を使用して SUMIF 関数および SUMIFS 関数を作成するには、次の方法を使用できます。

方法 1: VBA の SUMIF 関数

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

この特定の例では、範囲A2:A12の対応する値が「Mavs」に等しい場合にのみ、範囲B2:B12の値を合計し、その結果をセルE2に割り当てます。

方法 2: VBA の SUMIFS 関数

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(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 の SUMIF 関数

マブスチームに所属するプレーヤーのみのポイント列の値の合計を計算したいとします。

この SUMIF 関数を実行するには、次のマクロを作成します。

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

このマクロを実行すると、次の出力が表示されます。

セルE2に値73 が含まれていることに注目してください。

これは、マブス チーム プレーヤーのポイント列の値の合計を表します。

マブス チームのプレーヤーのポイント列の値の合計を手動で計算することで、これが正しいことを確認できます。

マブス選手のポイントの合計: 22 + 10 + 29 + 12 = 73

例 2: VBA の SUMIFS 関数

次の基準を満たすプレーヤーのみのアシスト列の値の合計を計算したいとします。

  • その選手はマブスチームの一員である。
  • その選手は20点以上を獲得した。

この SUMIFS 機能を実行するには、次のマクロを作成します。

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub

このマクロを実行すると、次の出力が表示されます。

セルE2に値18が含まれていることに注目してください。

これは、20 ポイント以上を獲得したマブス チームの選手のポイント列の値の合計を表します。

: この例では、2 つの基準範囲を使用して SUMIFS 関数を作成しましたが、 WorksheetFunction.SumIfsメソッドでは必要なだけ基準範囲を使用できます。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: COUNTIF 関数と COUNTIFS 関数の書き方
VBA: AVERAGEIF 関数と AVERAGEIFS 関数の書き方

コメントを追加する

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