【EXCEL VBA】条件に一致するデータ、一致しないデータの合計値を取得したい

ループ処理で回してもよいのですが、WorksheetFunctionオブジェクトを使うのが一番簡単です。以下のようなデータを準備して、トマトの合計個数、トマトに一致しない合計個数を取得する方法を紹介します。

サンプルプログラム

Option Explicit

Sub sample()

    Debug.Print WorksheetFunction.SumIf(Range("a2:a11"), "トマト", Range("b2:b11"))          ' 8 トマト合計個数
    
    Debug.Print WorksheetFunction.SumIf(Range("a2:a11"), "<>" & "トマト", Range("b2:b11"))   ' 28 トマトではない合計個数
   
End Sub