举一个例子,左边是各大区各种商品的库存数据,我们现在需要统计某些大区,某些仓库的的数量:

如果是统计所有的地区,所有的商品的数量,使用数据透视表更方便
但实际工作中,我们只需要统计部分地区,部分仓库,而且表格的样式也是特定的,所以用数据 透视表不是很方便
这个时候用SUMIFS函数公式是最方便的
但是不同的人,也有不同的写法,同事写的更加的高级
1、普通写法因为它要汇总3个仓库,所以,普通写法是一列一列来计算
首先在I2单元格输入的公式是:
=SUMIFS(E:E,A:A,H2)
E列的数据是仓库3的数据
A列是所有的仓库
H2是条件区域

然后向下填充得到第一条的结果

对于仓库2,那就是求和的列变成了D列,继续使用公式:
=SUMIFS(D:D,A:A,H2)

对于仓库4的汇总,那就是将求和列变成F列,继续使用公式:
=SUMIFS(F:F,A:A,H2)

还有小伙伴可能会引进数组写法
也就是在计算仓库3的时候,直接使用的公式是:
=SUMIFS(E:.E,A:.A,H2:.H100)
它使用了数组的用法,因此只需要在I2一个单元格输入1次公式,就会得到一整列的结果
同时我们的数据源冒号后面都加了一个点
表示动态对数据源进行裁剪,这样就可以只自动只引用有数据源的部分,优化计算效率

H2:.H100,虽然我们写的H2到H100,但是实际上只有H2到H4有数据,它会自动裁剪到H2:H4
同时,将来,如果在地区的下方又需要计算另一个大区,因为是动态引用数据范围,有数据的部分是H2:H5了,所以,右边的公式不用向下拉,也能得到结果

同样的仓库2和仓库4的公式分别变成:
=SUMIFS(D:.D,A:.A,H2:.H100)
=SUMIFS(F:.F,A:.A,H2:.H100)

但是仍然需要写3次公式才能得到结果
3、最高级写法我们只需要在I2单元格输入一条公式,就能得到所有的结果
因为求和区域是3条区域,所以我们只需要在第2种写法的基础上,更改成如下写法:
=SUMIFS(OFFSET(C:.C,,{2,1,3}),A:.A,H2:.H100)
改进的地方就是使用offset得到3个列的数据源
输入完公式不用填,就一次性得到了3列的结果
并且实现动态裁剪

关于这个小技巧,你学会了么?动手试试吧!