【问题标题】:How do I sum several rows by category? (EXCEL)如何按类别汇总几行? (Excel)
【发布时间】:2019-09-06 08:20:47
【问题描述】:

我创建了一个 Excel 表格来概述我的项目中的成本,但是,我还需要概述我的项目中每个类别的成本。我用谷歌搜索并试图在网上找到示例,但是,它只返回一个值 0,这不应该是这种情况。谁能帮我?工作表如下所示。

我将使用 SUMIF 函数按类别进行分组,但我的 excel 表比这要复杂一些,所以我尝试相应地调整它,如下面的代码所示。无论我做什么,它要么返回错误,要么返回 0。

=IF(B12=B8;"";SUMIF(B12:B39;B12;J12:BE39))

在上面的公式中,我试图将可以写在 B12 中的类别的成本相加,例如,软件开发。出于保密原因,我无法显示实际填写的 Excel 表格。

【问题讨论】:

  • 您可能想用一些虚拟数据填充它而不是真实数据,然后向我们展示。无论哪种方式,你为什么要比较例如Software development 到单元格 B8 作为标题?
  • 显示空白工作表而不显示哪里出了问题和/或您想要实现的目标没有帮助。
  • 没关系,我从这里的人那里得到了我需要的答案。不过谢谢!
  • 在这种情况下,您应该将问题标记为已回答。在“帮助”下查看如何操作。

标签: excel excel-formula sum categories sumifs


【解决方案1】:

sumif 不适用于对多列求和。而是像这样使用sumproduct 语句:

=IF($B12=$B$8;"";SUMPRODUCT(($B$12:$B$39=$B12)*($J$12:$BE$39)))

详细解释这是如何工作的can be found here

编辑: 我感觉到一个后续问题即将到来,如何跳过某些列。因为正如您现在设置的那样,它将计算从J12BE39 的整个范围,其中您有预测成本和实际成本。我想这是将成本与预计成本和实际成本进行比较。现在它将计算预计成本和实际成本,翻倍。为了防止这种情况,您可以输入以+ 分隔的每一列,如下所示:

=IF($B12=$B$8;"";SUMPRODUCT(($B$12:$B$39=$B12)*($J$12:$J$39+$L$12:$L$39+$N$12:$N$39)))

我还为所有不变的值添加了 $ 符号,以便在向下拖动公式上的填充柄以填充下面的单元格时它会起作用。

【讨论】:

  • 例如,有没有办法在每个实际列中做到这一点?另外,非常感谢您的帮助!
  • 看看我的编辑,我知道这会发生,所以我在你问之前就写了;)
  • @Tina 可能是多余的,但您也可以轻松调整此公式来汇总实际成本而不是预测,如果这是您也想进行的比较。为此,您可以将计数的所有列(在最后一对括号中)向上调整一个字母。
  • 你太棒了!非常感谢!我将它调整为所有实际的列,它工作得很好 - 有点多余,是的,​​但它完成了工作:) 非常感谢,你让我开心!
  • 不客气,我总是很乐意提供帮助。如果这可以解决您的问题,请随时接受我的回答,以供可能偶然发现它的其他人使用。我还尝试通过添加命名范围而不是命名每一列来降低复杂性,但是它不会将列识别为该范围中的分隔符并返回错误。因此,为每一列命名是可悲的方式。
猜你喜欢
  • 2021-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多