【问题标题】:Reference to last worksheet in Excel Function to Sum same range across multiple sheets引用 Excel 函数中的最后一个工作表以在多个工作表中求和相同的范围
【发布时间】:2020-07-07 16:22:34
【问题描述】:

我已经尝试了一些公式选项,但没有一个能达到我想要的效果。

我正在使用一个非常简单的 SUM 公式对我的工作簿中的所有工作表进行总计。目前是这样设置的:

=SUM('1:10'!D3)

但是,我可能会添加更多工作表,并且希望将它们包含在总数中。我尝试了几个不同版本的“wshNameLast”或“getlastwsname”,我在这里的不同文章中找到了它们,但它们都给了我一个#REF 错误。有没有我可以在不转向 VBA 的情况下在这里输入的公式?

感谢您的帮助!

【问题讨论】:

  • 看看下面的链接howtoexcel.org/tips-and-tricks/…你应该能适应你的需求
  • 最后有一个隐藏的空白工作表并只是参考?
  • 从 Michal 的suggestion 中的命名范围开始,我发现=COUNTA(sheetNames) 为工作表的数量提供了命名范围(或者,如果它们都按顺序命名,则为最后一张工作表的名称),然后尝试INDIRECT 尝试重现您的公式。我现在放弃了,但我认为这是可能的,也许使用SUMPRODUCT 就像here 解释的那样。祝你好运!
  • @ashleedawg 我可以做一些你正在尝试的事情。请看一看。不过 BigBen 的答案真的很简单。

标签: excel excel-formula formula worksheet-function worksheet


【解决方案1】:

有趣的问题。

@BigBen 对问题的评论>>>“最后有一个隐藏的空白工作表,只需引用它”>>> 非常实用且最简单的解决方案。

只是为了让它动态

参考..Jeffrey Weir's answerReturn array with Index Function

正如@Michal Rosa 在评论这个问题时所建议的那样 How to generate list of Sheet Names

正如@ashleedawg 在对此问题的评论中所建议的那样 using indirect function to sum across multiple sheets

创建了包含 5 个工作表的工作簿。

第一张是Sheet5,以此类推最后一张是Sheet1

除了第一个工作表之外的每个工作表都具有B5 中的值。

首先定义SheetNames数组=GET.WORKBOOK(1)的名称

然后很容易用这个公式对所有工作表(包括第一个)的B5 中的值求和

=SUMPRODUCT(SUM(INDIRECT("'"&SheetNames&"'!B5")))

但是,如果必须在 B5 的第一张工作表 (Sheet5) 中输入一个公式来总结所有剩余工作表的 B5,该怎么办。上面的公式返回循环误差。

下面的公式可以在第一个工作表B5 中输入,以对从第二个到最后一个的所有工作表求和。请注意,它是array formula。 (复制不带大括号,输入ctrl+shift+enter

{=SUMPRODUCT(SUM(INDIRECT("'"&INDEX(SheetNames,N(IF((1),ROW(INDIRECT(2&":"&SHEETS())))))&"'!B5")))}

INDIRECT(2&":"&SHEETS()) 以第二张表开始数组并以最后一张表结束(使用 Sheets() 函数计算的数字)

因此,如果想从第 3 表开始数组/求和,请使用 INDIRECT(3&":"&SHEETS())Ctrl+Shift+Enter

可以将ROW function 替换为array of Sheet Numbers。例如,仅汇总第二张和第五张表

{=SUMPRODUCT(SUM(INDIRECT("'"&INDEX(SheetNames,N(IF((1),{2,5})))&"'!B5")))}

此外,&"'!B5" 可以替换为 &"'!"&ADDRESS(ROW(),COLUMN()) 以汇总多个工作表中的当前公式单元格地址。

【讨论】:

  • SheetNames = MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1),1)+1,LEN(GET.WORKBOOK(1)))
猜你喜欢
  • 1970-01-01
  • 2021-08-07
  • 2021-12-30
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多