首页 > 解决方案 > SUMIFS 中的动态总和列

问题描述

我有月份列和行标准(部门、度量),并且需要一种方法来汇总给定度量的所有部门,并且只返回报告月份。

INDEX(MATCH)不起作用,因为我需要它来汇总所有 12 月 18 日的缺勤值,但列中还有其他度量。

我当前的迭代(数组):

=SUM(OFFSET(D1:D53,,MATCH(Y3,$D$2:$P$2,0)))

但我无法根据所选月份更改求和列。

我最后的猜测是我需要交换部门和月份(所以部门列标题,月份行),但如果我遗漏了一些明显的东西,我宁愿不要。

例子:

Department  |      Measure        | Nov-18     |    Dec-18
Sales       |      Absence Hours  | 3.5        |    4.6
Manu        |      Absence Hours  | 6.2        |    1.7
Sales       |      Hours worked   | 1000       |    976

标签: excelexcel-formulasumifs

解决方案


不使用类似计算的数组或易失性函数的替代解决方案。

=SUMIF($B$2:$B$4,$F2,INDEX($C$2:$D$4,0,MATCH(G$1,$C$1:$D$1,0)))

如果未找到您的条件或日期,则会显示错误。您可以通过将整个内容包装在 IFERROR 函数中来处理此问题,然后选择您自己的错误消息、显示空白或返回 0。

=IFERROR(SUMIF($B$2:$B$4,$F2,INDEX($C$2:$D$4,0,MATCH(G$1,$C$1:$D$1,0))),"NOT FOUND")

POC

此外,如果您希望通过“部门”和“衡量”进一步细分您的结果,那么您可以使用 SUMIFS,它允许您设置多个标准而不是 1


推荐阅读