Excel 在所有表中添加产品

Excel 在所有表中添加产品,excel,Excel,我的工作簿中有20多页。我正在尝试对月份和年份的所有值求和 这个公式我想弄明白。从技术上讲,假设查找所有图纸并添加指定月份(在本例中为一月)的总值 =SUMPRODUCT(-MONTH('wildcard here'!B25:B48)=1),'wildcard here'!D25:D48) 或 =SUMPRODUCT(--(月份('wildcard here'!$B$25:$B$48)=1),'wildcard here'!$C$25:$C$48) 我好像没办法让这件事成功。我得到了#REF e

我的工作簿中有20多页。我正在尝试对月份和年份的所有值求和

这个公式我想弄明白。从技术上讲,假设查找所有图纸并添加指定月份(在本例中为一月)的总值

=SUMPRODUCT(-MONTH('wildcard here'!B25:B48)=1),'wildcard here'!D25:D48)

=SUMPRODUCT(--(月份('wildcard here'!$B$25:$B$48)=1),'wildcard here'!$C$25:$C$48)


我好像没办法让这件事成功。我得到了#REF error。

理论上,这将使用两个概念:数组公式和间接函数。假设的公式可能如下所示:

=SUM(INDIRECT("Sheet"&{1,2,3,4,5}&"!A1"))
在此示例中,间接函数用于键入每个图纸名称(假设您有Sheet1、sheet2、sheet3等),并从所有这些命名图纸中提取A1。但是,如果没有额外的步骤,间接函数不允许以这种方式使用数组公式(有关详细信息,请参见下面的@XORLX注释):

因为这里的页码是硬编码的{1,2,3,4,5},所以您可以像输入任何其他公式一样输入此公式-这样,它就不是完整的“数组公式”

备选办法:

最简单的方法是在摘要选项卡中为每张工作表指定一列,然后将所有这些内容添加到一起。您可以通过编程的方式来实现这一点,因此它不像您想象的那么痛苦(尽管它会占用很多空间)

假设Sheet1是空的,沿着第1行从B列开始,您有每个选项卡的名称(我不能从您的问题中很清楚,但让我们假设类似“2010;2011;2012…”等等。从第2行开始,沿着A列,您有您要添加的月份。我还假设每个月都是沿着每个选项卡的A列设置的,并且您当月的结果位于每个选项卡的B列。综合起来,B2中的公式和向下/向右拖动的公式是:

=VLOOKUP($A2,INDIRECT("'"&B$1&"'!A:B"),2,0)
这将从A列中提取月份名称,并使用间接函数检查要从哪个工作表中提取月份名称。一旦有了工作表名称,它将添加到“A:B”,这意味着它将使用VLOOKUP搜索A列。它将从第二列(B列)中为您提供值,并且需要精确匹配以提供值。


您能否澄清一下您的命名约定是如何设置的?每个选项卡的前缀是月份吗?它引用了什么?我相信月份就是功能。
=SUMPRODUCT(--(月份(Sheet1!A2:A11)=1),Sheet1!B2:B11)
只要A1到A11中有正确的日期,我就可以使用它。您的函数包括“”!这使您看起来像是在输入一个空白的工作表名称,而您不能使用它。此外,excel并不能真正处理所有工作表中的公式,您最好有一个汇总表,并对每个工作表分别进行计算和汇总g结果。您说“月和年的所有值之和”,但我在公式中看不到任何对年的尝试引用?每个选项卡都有不同的名称(客户端名称),这就是为什么我希望使用*(通配符)。=SUMPRODUCT(-(月('wildcard here'!B25:B48)=1),'wildcard here'!D25:D48)捕获选项卡的原因是给定年份的指定月份?还是将所有值相加,例如,一月份,即使其中一个是2014年1月,另一个是2015年1月,等等?Re“间接函数不允许以这种方式使用数组公式”,你能澄清一下吗?这是一个很重要的陈述。在你的结构中添加一个N函数,紧跟在间接-即=和(N(间接(“表”&{1,2,3,4,5}&“!A1”))之前-应该创建数组求和。更重要的是,这个特殊的构造甚至不需要CSE。@XORLX太神奇了;我以前从未见过,谢谢。我将编辑到我的响应中。不客气。仍然不太确定OP想要什么,尽管我确信我们可以在发现后相应地调整这个N/间接多页设置。不是吗也就是说,如果所查询的数组包含文本值,我们将使用T,而不是N,强制必要的数组使用间接数组(尽管在这种情况下,我们显然不会求和!)。我认为你应该重新阅读OP的帖子。我相信他们希望对满足特定条件的所有表格中给定范围内的所有值求和。换句话说,每张表格中的求和不仅仅是一个单元格。
=VLOOKUP($A2,INDIRECT("'"&B$1&"'!A:B"),2,0)