如果给定了几个条件,这些条件必须全部满足才能求和,那么可以使用SUMIFS函数:
=SUMIFS(求和区域,条件区域1,条件值1,条件区域2,条件值2,条件区域3,条件值3,......)
但是,如果这几个条件是或条件呢?例如,要把上海、北京、深圳、苏州这4个城市的数据加起来?
下图是一个例子。

由于SUMIFS函数是多个与条件的求和,因此这里是无法使用的。
一些人会想,我分别用SUMIF函数求出每个城市的合计,再把它们加起来就行了啊,结果设计了下面的公式:
=SUMIF(B2:B17,"北京",C2:C17)
+SUMIF(B2:B17,"上海",C2:C17)
+SUMIF(B2:B17,"苏州",C2:C17)
+SUMIF(B2:B17,"深圳",C2:C17)
公式不算错,也能解决这个问题。
但是,如果是10几个城市要合计呢?如果写出10个SUMIF再相加,就很啰嗦了。
其实,SUMIF函数的第二个参数是条件值,这个条件值可以使用数组,对每个条件分别求和,因此,我们可以使用一个更简单的公式来解决:
=SUMPRODUCT(SUMIF(B2:B17,{"北京","上海","苏州","深圳"},C2:C17))
这个公式中,SUMIF函数部分是:
SUMIF(B2:B17,{"北京","上海","苏州","深圳"},C2:C17)
这个SUMIF 的结果并不是一个,而是4个:{900,800,1200,700},它们分别是这四个城市的合计数。
这样,使用SUMPRODUCT函数将这个4个数加起来,就是我们需要的结果:
=SUMPRODUCT({900,800,1200,700})
这个思路,可以实现利用SUMIF函数对任意个数或条件的求和,例如,下面的公式就是计算上海、北京、深圳、苏州、广州、南京的合计数:
=SUMPRODUCT(SUMIF(B2:B17,{"北京","上海","苏州","深圳","广州","南京"},C2:C17))
SUMIF函数的条件值,不仅可以是一个精确值,也可以是或条件多个精确值,还可以是多个关键词的或条件,使用通配符(*)即可:
=SUMPRODUCT(SUMIF(B3:B14,{"*水泥*","*钢筋*","*黄沙*"},C3:C14))

--------------
为方便朋友们学习,附上以往推送的文章链接:
函数公式精选文章
数据分析近期文章

