2016 - 2024

感恩一路有你

跨多表条件求和方法

浏览量:4697 时间:2024-01-28 10:42:05 作者:采采

今天我们来探讨一下跨多个Excel/WPS表格进行条件求和的方法。假设我们有多个工作表,每个工作表都有相同的列但行数不同的明细表,我们的目标是汇总出每个产品的销量之和。

工作表命名规则

首先,我们需要给每个工作表进行命名。例如,我们可以按照序号字符的规则给工作表命名。如下图所示,我们有1日~5日共5个工作表。要求汇总每个产品的销量之和。

单个表求和方法

如果只有一个表格,我们可以直接使用SUMIF函数进行求和。例如,在第一个工作表中,我们可以使用以下公式:

SUMIF('1日'!B:B, '合计'!A2, '1日'!C:C)

多个表求和方法

对于多个表格,除了使用SUMIF函数之外,也可以利用INDIRECT函数生成对多个表格的引用。例如,我们可以使用以下公式:

SUMIF(INDIRECT("1日!B:B"), A2, INDIRECT("1日!C:C"))

这样,我们就能够通过SUMIF函数结合INDIRECT函数来同时求和多个工作表的数据。

多表求和结果汇总

上述公式返回的是每个工作表的求和结果,是一组数值。如果我们想要将这些结果汇总起来,可以使用SUMPRODUCT函数。例如:

SUMPRODUCT(SUMIF(INDIRECT("1日!B:B"), A2, INDIRECT("1日!C:C")))

通过SUMPRODUCT函数,我们可以对每个工作表的求和结果进行求和,得到最终的销量之和。

不规则的工作表名称

实际情况中,工作表的命名往往是不规则的。例如,下图所示的工作表名称就存在不规则性。

为了解决这个问题,我们可以使用宏表函数来获取工作表的名称。首先,在名称管理器中新建一个名称,例如“sh”,然后在“引用位置”框中输入以下公式:

MID((1), FIND("]", (1)) 1, 99)T(NOW())

其中,(1)是一个宏表函数,当参数为1时,可以获取当前工作簿中所有工作表的名称。通过FIND和MID函数,我们可以截取只包含工作表名称的字符串。而T(NOW())的作用是让公式自动更新。

由于获取的工作表名称中可能包含“合计”等无关字符,所以在制作汇总表时,需要避开相应的列,以免造成循环引用的错误。

以上就是跨多个Excel/WPS表格进行条件求和的方法。希望对您有所帮助!

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。