工作中,多条件求和都是需要引用另外一个工作表来进行计算的,举个简单的例子,我们有一个工作表,记录了销售流水信息,我们的统计表,需要跨表引用数据。
微软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))
这样,即使我们关闭引用的数据表,还是能正常计算,而且当我们引用的数据表更新之后,这个公式也能自动的更新结果,关于这个小技巧,你学会了么?动手试试吧!