Excel和怎么用sumproduct函数公式实现多条件求和?

工作中,多条件求和都是需要引用另外一个工作表来进行计算的,举个简单的例子,我们有一个工作表,记录了销售流水信息,我们的统计表,需要跨表引用数据。

微软Office LTSC 2021专业增强版 简体中文批量许可版 2024年09月更新

  • 类型:办公软件
  • 大小:2.2GB
  • 语言:简体中文
  • 时间:2024-09-12

查看详情

业务流水表的格式如下所示:

统计表的格式如下所示:

一般情况下,我们大多数,都会选择sumifs来进行汇总,我们输入的公式是:

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)

注意:

  • a2列要固定列标
  • b1要固定行标

公式输入的没有任何问题,但是这种方法,有一个很大的缺陷问题

就是当我们保存完之后,然后再次打开这个统计表的时候

它会提示我们点击更新

当我们点击更新的时候,全部变成了错误值。

如果我们原始的业务流水表本来就有更新,也需要更新统计的结果。如何让我们点击更新的时候,它不返回错误值呢?就必须将引用的业务流水表,也是打开的状态,它更新才不会出错。

那有没有公式可以做到,可以不用打开引用的数据表格呢?答案就是用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))

这样,即使我们关闭引用的数据表,还是能正常计算,而且当我们引用的数据表更新之后,这个公式也能自动的更新结果,关于这个小技巧,你学会了么?动手试试吧!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平