Google Sheets Formulas – How to Sum a Column if Another Column Contains Any of the Values

google sheets

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?

Best Answer

Short answer

=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