# Sum a column if another column contains any of the values

I have the following data in a google spread sheet.

``````ColumnA         ColumnB
=======================
Bus             205
Train           10
Train           10
Fruit           10
``````

I want to sum all ColumnB where ColumnA is equal to either Bus or Train.

I know that I can sum all content of B based on single value of A like below

``````=(SUMIF(A:A, "Bus", B:B))
``````

But I want to sum if column A contains any of the values that I specify. How can I do that?

``````=ArrayFormula(sum(sumif(A:A,{"Bus";"Train"},B:B)))
``````

# Explanation

• `A:A` is the column containing the categories.
• `{"Bus";"Train"}` is a 1x2 array. It could be replaced by a range 1xn arrange containing the categories to be included in the sum.
• `B:B` is the column containing the values to be summed.

• `sumif` returns of the sum of values corresponding to each specified category

• `sum` returns the sum of the returned array by `sumif`
• `ArrayFormula` :

Enables the display of values returned from an array formula into multiple rows and/or columns and the use of non-array functions with arrays.

# Reference

This should work:

``````=sumproduct((A:A="Bus")+(A:A="Train"),B:B)
``````