Excel SUMPRODUCT - 从公式中排除标题单元格

Excel SUMPRODUCT - 从公式中排除标题单元格

我有两列,一列是日期,一列是值,我想把所有单元格相加,其中日期的年份是所需的年份。我的问题是,我在表格中有标题,我不想手动定义要考虑的第一行和最后一行,而是取所有行...

失败并出现#VALUE!错误:

=SUMPRODUCT((YEAR(C:C)=2015)*(E:E))

这有效:

 =SUMPRODUCT((YEAR(C2:C1000)=2015)*(E2:E1000))

C1E1我有标题(文本)。它们被格式化为文本,并且在简单的公式中足以将它们排除在公式之外,但这不适用于SUMPRODUCT...

有没有更好的解决办法?

答案1

另外一个稍微更易读的建议。

=SUM(IFERROR((YEAR(C:C)=2015)*E:E,0))

将其用作数组函数(按Ctrl++ ShiftEnter而不仅仅是Enter

答案2

有没有更好的解决办法?

就在这里。

使用表格(选择您的范围然后:插入 - 表格),然后您可以在那里编写如下公式:

=SUMPRODUCT((YEAR(Table1[HeaderC])=2015)*(Table1[HeaderE]))

当然,不是把HeaderC真正的标题写在 C 列,E 列也一样。

答案3

发布后不久,我就有了一个想法,而且它有效:

解决方案:

=SUMPRODUCT((YEAR(INDIRECT("C2:C"&(MATCH(0;E:E;-1));TRUE))=2015)*(INDIRECT("E2:E"&(MATCH(0;E:E;-1));TRUE)))

match 函数查找最后一个值 >= 0 的单元格,对我来说,这很好用。根据用例,您必须调整 match 函数...

相关内容