举个工作中的例子,我们有多个工作子表,需要快速计算,汇总到总表里面去
分两种情况,子表顺序一致,以及不一致的情况
第一种情况,所有子表里面的员工顺序全部一致:如果每个子表员工排序一样,那我们可以一个表一个表的加起来,但效率很低
我们可以使用公式:
=SUM('*'!b2),里面的*表示通配符
通过这样输入之后,当我们按回车键,它也会自动的变成公式:
=SUM('1月:5月'!B2)
第2种情况,子表顺序不一致如果说子表里面,员工顺序不一致,那我们就不能使用上面的方法了
第1步,我们需要将每个子表的名称列出来:
然后我们使用公式:
=SUM(SUMIFS(INDIRECT($D$1:$D$5&"!B:B"),INDIRECT($D$1:$D$5&"!a:a"),A2))
也就是使用条件求和公式,用indirect引用了多个工作表
其中D1:D5需要进行固定引用
如果说我们D列用的是整列数据,那需要再嵌套一个ifferror公式,使用的公式是:
=SUM(IFERROR(SUMIFS(INDIRECT(D:D&"!B:B"),INDIRECT(D:D&"!a:a"),A2),0))
但是这种方法是不推荐的,它的计算量太大了,表格会变得很卡
关于这个函数公式, 你学会了么?动手试试吧!