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