跨多个工作表的总和和索引匹配

问题描述

我有一系列格式相同但开始日期不同的不同工作表。例如,请参见下图:

enter image description here

我想根据出现在两个选项卡之间的所有工作表来总结收入。例如,Sheet1Sheet2 将出现在名为 Portfolio >>> <<< Portfolio

的工作表之间

如果两个范围都在同一个工作表上,我可以通过在 C8添加以下内容来使用索引匹配来做到这一点

=SUM(IFERROR(INDEX($C$6:$H$6,MATCH(C8,$C$5:$H$5,0),IFERROR(INDEX($C$3:$H$3,$C$2:$H$2,0)),0)))

是否可以调整此公式以对位于 Portfolio >>> <<< Portfolio 标签间的多个工作表求和?

解决方法

所以看起来我们有以下...

Sheet1,C1:H1 contains the dates,and C2:H2 contains their corresponding values

Sheet2,C1:H1 also contains the dates,and C2:H2 contains their corresponding values

而且,在您的结果工作表上,我们有以下内容...

C1:I1 contains all of the relevant dates

相应地,在C2中输入以下公式,并复制过来...

=SUMPRODUCT(SUMIF(INDIRECT("'"&{"Sheet1","Sheet2"}&"'!C1:H1"),C1,INDIRECT("'"&{"Sheet1","Sheet2"}&"'!C2:H2")))

您可以根据需要添加任意数量的工作表。此外,您可以在一系列单元格中输入工作表名称,然后引用这些单元格,而不是将工作表名称硬编码到公式中。例如,让 M2 和 M3 分别包含 Sheet1 和 Sheet2。然后在C2中输入以下公式,并复制过来...

=SUMPRODUCT(SUMIF(INDIRECT("'"&$M$2:$M$3&"'!C1:H1"),INDIRECT("'"&$M$2:$M$3&"'!C2:H2")))
,

高级

最终,这可以通过以下简单的方法实现:

=SUM(Sheet1:Sheet3!K2)

尽管需要进行一些设置以确保所跨越的值/日期位于合适的位置。

OneDrive 链接 here 可提供工作解决方案的工作簿演示,该解决方案可以根据需要进行通用化/定制化。

设置

  • 4 个工作表(总体上,Sheets1-3,每个屏幕截图)- 数据位于 A:H 列之间的某处(位置无关紧要,但在这种情况下,其假定数据位于第 9 行上方也是为了说明简单)。此外,根据您的示例,这可能超过 Sheets1-2 或 1-100,只要床单并排放置(顺序无关紧要)

Sheets: overall,1-3

(以上可以轻松自定义以满足相关单元格的精确布局/跨度/范围)

Flexibility to deal with data that can lie anywhere within a specified region in different sheets

(如果这两行只是出现在 Sheets1-3 的相同单元格区域中,例如总是在 A1:H2 内,则可以省略几个步骤)。但是,随后的步骤应在上述基础/设置的基础上进行,以确保解决方案。足够灵活地处理多种不同的布局

3 个步骤

1] 突出显示/选择所需“相邻”选项卡的集合(选择最左边,然后重复:ctrl + shift + Page Down 直到最右边的工作表(此处,#3)被选中/突出显示)。在这种情况下,区域 = J1:Q2(适用于所有选定的工作表):

Selection of multiple sheets to manipulate all simultaneously

2] 在 J1:J2 中,分别输入“Sheet”、“Income”(带撇号)

Data locators: "Sheet" (for date range) and "Income" (for values to sum)

(红色圆圈说明,它现在应该出现在 Sheets1:3 的 J1:J2 中)

3] 在 K1 中,输入公式:

=INDEX($B$1:$H$9,MATCH("*"&$J$1:$J$2&"*",$A$1:$A$9,0),MATCH('Overall'!$B$1:$H$1,Sheet1!$B$1:$H$1,0))

Obtaining data in common location across multiple sheets

实施

在整个工作表中,现在需要的是以下内容(根据下面的屏幕截图)。

=SUM(Sheet1:Sheet3!K2)

Sumifs reduced to sum eqn!

这可以根据需要向右拖动。

瞧!