首页 > 解决方案 > 如何根据多组 OR 条件对列求和?

问题描述

我有一个表,其中包含一个目标总和列 (ColA) 和三个要根据条件过滤的列。我一直在使用 SUMIFS 根据标准列 Cols B 到 D 计算 ColA 的总和,但是我注意到我没有正确执行此操作。需要注意的一件事是,每个条件列都有不同数量的条件(例如,B 列的 OR 条件比 C 多)

我现在的公式是:

SUM(SUMIFS(table[ColA], table[colB], {"val1", "val2", "val3"}, table[colC], {"val1", "val2"}, table[colD], {"val1", "val2", "val3", "val4"}))

手动检查基础表中的总和后,此公式的结果不正确。关于如何根据一组多个 OR 值对列求和的任何建议?

标签: excelexcel-formula

解决方案


假设您的表名为 Table1,从 A1 开始,带有标题,并且有 4 列宽。在右侧某处的单元格中,例如 G2,您可以输入以下公式:

=AND(OR(B2={"val1","val2","val3"}),OR(C2={"val1","val2"}),OR(D2={"val1","val2","val3","val4"}))

将 G1 留空,那么您的求和公式就是:

=DSUM(Table1[#All],1,G1:G2)

您还可以使用以下方法将标准公式分成三个单元格,每列一个单元格:

=OR(B2={"val1","val2","val3"})
=OR(C2={"val1","val2"})
=OR(D2={"val1","val2","val3","val4"})

在 G2:I2 中(要么将 G1:I1 留空,要么给它们与您的任何表头都不匹配的标签),然后使用:

=DSUM(Table1[#All],1,G1:I2)

推荐阅读