sumproduct多条件求和_SUMPRODUCT的用法
在处理数据时,经常需要跨工作表进行多条件求和操作。
以一个简单的例子来说明。我们手头有一个记录销售流水信息的工作表。在进行数据分析时,我们常常需要从另一个统计表中引用数据,进行跨表计算。
业务流水表的格式大致如下展示:
而我们的统计表格式则是这样的:
通常情况下,我们倾向于使用sumifs函数来进行汇总操作。其使用方法为:
```
=sumifs(求和区域,条件列1,条件1,条件列2,条件2...)
```
在我们的场景中,公式可能看起来像这样:
```
=SUMIFS([20240202业务流水表.xlsx]Sheet2!$E:$E,[20240202业务流水表.xlsx]Sheet2!$B:$B,$A2,[20240202业务流水表.xlsx]Sheet2!$C:$C,B$1)
```
尽管这个公式看起来没有问题,但它有一个令人头疼的缺陷。那就是当我们保存并再次打开统计表时,系统可能会提示我们需要点击更新。一旦点击更新,之前计算的结果可能会变成错误值。
如果原始的业务流水表有更新,我们也必须手动更新统计结果。那么,有没有办法在点击更新时避免出现错误值呢?
答案是有的。我们可以通过使用sumproduct公式来计算条件求和,这个公式更为灵活且无需打开被引用的数据表格。其通用公式为:
```
=sumproduct(iferror((求和列)(条件列1=条件值1)(条件列2=条件值2),0))
```
在我们的场景中,使用的公式如下:
```
=SUMPRODUCT(IFERROR(([20240202业务流水表.xlsx]Sheet2!$E:$E)([20240202业务流水表.xlsx]Sheet2!$B:$B=$A2)([20240202业务流水表.xlsx]Sheet2!$C:$C=B$1),0))
```
这样设置后,即使我们关闭了引用的数据表,统计表的计算依然可以正常进行。而且,当引用的数据表更新后,这个公式也能自动更新结果,无需我们再次手动干预。