在几个工作表中汇总单个单元格


3

我可以轻松地将一个给定的单元格(例如B9)与多个工作表相加,例如:

=SUM(Sheet7:Sheet11!B9)

这相当于:

=Sheet7!B9+Sheet8!B9+Sheet9!B9+Sheet10!B9+Sheet11!B9

这是Sheet7Sheet11的所有工作表中单元格B9的总和。我需要创建类似第一个公式的东西,但是在单元格中使用工作表名称。所以,如果A1包含:

Sheet7

和单元格A2包含:

Sheet11

在此输入图像描述

然后A3中的公式将使用这些单元格。到目前为止我尝试过的是:

=SUM(A1 & ":" & A2 & "!" & B9)

=SUM(INDIRECT(A1 & ":" & A2 & "!" & B9))

这些都不奏效。

我可以轻松地创建一个VBA函数来执行此操作,但工作簿必须能够在无宏环境中运行。


试试这个=SUM(INDIRECT(A1 & ":" & A2 & "!" & "B9"))
KingOfAllTrades 2015年

@KingOfAllTrades可悲的是,我得到#REF!
Gary的学生

我认为INDIRECT不适用于多张纸。我可以在单张纸上使用INDIRECT获得各种范围。
KingOfAllTrades 2015年

Answers:


1

根据@ Dave的回答和您的评论,But I don't know in advance what the contents of cells A1 and A2 will be.......so I don't know how many terms to include.我建议添加一列以包含每张纸的总和并对该列求和。假设您在列中输入工作表名称A,然后输入列B

=IF(ISNUMBER(INDIRECT(A2&"!B9")),INDIRECT(A2&"!B9"),0) 

比你能做=Sum(B:B)的更多。

请注意,我添加了IFISNUMBER函数以避免#REF!何时A列缺少工作表名称。你可能想要使用ISBLANK,作为

=IF(ISBLANK(A2),0,INDIRECT(A2&"!B9"))

如果您确实希望在A列的工作表名称错误时收到错误消息。

另一个提示:如果您将工作表命名为Sheet1,Sheet2,则可以轻松拖动以填充A列中的工作表


1

这是一种手动方法,可能并不理想

=INDIRECT(A1&"!A1")+INDIRECT(A2&"!A1")

要么

=SUM(INDIRECT(A1&"!A1"),INDIRECT(A2&"!A1"))

我的工作表看起来像

     A         B         C
1    sheet2
2    sheet3
3

并且在Sheet2 A1中具有与Sheet3 A1一样的值

在你的情况下,你需要

   =SUM(INDIRECT(A1&"!A1"),INDIRECT(A2&"!A1"),INDIRECT(A3&"!A1"),INDIRECT(A4&"!A1")...etc)

谢谢你的回复。我尝试了第二个公式,它正确地总结了Sheet7Sheet11的值,但两者之间没有任何表格。
加里的学生

不遗憾的是,您需要在工作表中输入每个工作表作为新的单元格值...
Dave

但我事先并不知道A1A2单元格的内容是什么.......所以我不知道要包括多少条款。
加里的学生

您可能想用以下内容更新您的问题:(
Dave

我已经添加了句子,希望澄清我的要求......... **再次感谢你的帮助。**
加里的学生
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.