【问题标题】:SUMIF for multiple spreadsheets with text conditional带有文本条件的多个电子表格的 SUMIF
【发布时间】:2014-11-21 00:16:33
【问题描述】:

我有一本 Excel 书籍,其中包含大约 100 个电子表格。每个电子表格都是某些产品的应用程序。最后一个电子表格是我们使用的每种产品的年度总数。我使用的SUMIF 公式是:

=SUMIF('Jan 1:Dec 31'!B5:B14,"Name of product",'Jan 1:Dec 31'!D5:D14)

因此,当产品名称在第一个(1 月 1 日)到最后一个(12 月 31 日)的所有电子表格中的 B5:B14 中使用时,我想从第一个(1 月)的所有电子表格中的 D5:D14 单元格中对其值求和1) 持续(12 月 31 日)。

问题是我最终得到一个#VALUE 错误。我还尝试通过按住 Ctrl+Shift 来输入公式。似乎没有任何效果。

【问题讨论】:

  • 3d 引用(跨多个工作表的引用)在 SUMIF 中不起作用,因此您需要一种不同的方法 - 是否有 100 个工作表或 365 个(每天一个)?
  • 好吧,我不知道。我将有 100 多个电子表格,但一年中的每一天都不会。

标签: excel


【解决方案1】:

您可以使用indirect 公式并在单元格A1 中使用Jan 1,然后在B1 中使用公式:

= sumif(indirect(A1&"!B5:B14"),"Name of product",indirect(A1&"!D5:D14"))

然后您将Jan 2 放入单元格B1 并复制sumif 公式。

请注意,这假定每个选项卡上的结构是一致的,并且每个选项卡上的行数也是一致的(或者您可以将范围的底部设为任意高的数字,例如第 50,000 行)

【讨论】:

  • 对不起,我没有解释自己。电子表格名称标记为 1 月 1 日至 12 月 31 日。在总计电子表格中,我只需要一个单元格来给出该年度每种产品的总和。
  • 我能想到的唯一选择是在每个选项卡上只使用sumif(您可以突出显示多个选项卡并在空单元格中输入sumif 公式以节省时间),然后执行简单的sum 跨越不同的工作表,其结果将仅在摘要选项卡上的单个单元格中
  • 如果您可以列出所有工作表名称并将其命名为SheetList,那么您可以使用类似的方法和一个公式,即=SUMPRODUCT(SUMIF(INDIRECT("'"&SheetList&"'!B5:B14"),"Name of product",INDIRECT("'"&SheetList&"'!D5:D14")))
  • @barryhoudini 在我看来是做到这一点的最佳方法,但仍然需要在某处输入标签名称列表
  • 如果所有工作表名称的格式为"mmm d",例如11 月 20 日、12 月 8 日等然后此版本在公式中构造工作表名称,因此您不需要列表(当该特定日期的工作表不存在时,使用 IFERROR 返回零)-=SUM(IFERROR(SUMIF(INDIRECT("'"&TEXT(ROW(INDIRECT("1:366")),"mmm d")&"'!B5:B14"),"Name of Product",INDIRECT("'"&TEXT(ROW(INDIRECT("1:366")),"mmm d")&"'!D5:D14")),0)) 此版本需要“数组使用 CTRL+SHIFT+ENTER 输入”
猜你喜欢
  • 1970-01-01
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-29
相关资源
最近更新 更多