如何对 Excel 中额外列或单元格中定义的列列表求和

如何对 Excel 中额外列或单元格中定义的列列表求和

假设 A、B 和 C 列包含数字。如果这些列中的所有内容列在额外的列或单元格中,我想将它们相加。要相加的列可以位于电子表格中的任何位置。而且这必须是一个函数,而不是 VBA 脚本。

例如,D 列可能包含包含“A”和“C”的单元格,或者可能包含“A, C”的单个单元格。因此,我的函数 (E2) 将输出 A 列和 C 列值的总和。

A   B   C   D   E
1   4   7   A   30
2   5   8   C
3   6   9

为了增加附加复杂度,我希望总和是 SUMIF,以便根据匹配条件过滤出 A、B 和 C 列中的行。因此,在下面的示例中,我用颜色 (F) 对 A、B 和 C 列中的行进行分类。E 现在显示两个总和 - A 和 C 列的总计(类别为红色 (E2))和类别为绿色 (E3) 的总和。我完全希望 E2 和 E3 中的公式不同,以便指定不同的匹配条件。

A   B   C   D   E   F
1   4   7   A   18  red
2   5   8   C   12  red
3   6   9           green

谢谢。

答案1

如果我理解正确的话,我不认为 SUMIF 是可行的方法。

我会在你的 D 和 E 之间添加一个辅助列,如下所示:

A   B   C   D   E   F
1   4   7   A   x   30
2   5   8   C   x
3   6   9       x

在 E 列中,我添加了“x”作为占位符,输入此公式(在单元格 E2 中并向下复制):

=IFERROR(SUM(INDIRECT(D2&":"&D2)),0)

这只是将您在 D 列中指定为条件的每列的总数相加。如果该行没有条件,则可以使用 IFERROR 调用的 fallback 0。

最后,在单元格 F2 中,您可以将所有这些小计相加:

=SUM(E:E)

您的最终表格将如下所示:

A   B   C   D   E   F
1   4   7   A   6   30
2   5   8   C   24
3   6   9       0

相关内容