Excel 在多列中具有多个条件和或逻辑的SUMIF

Excel 在多列中具有多个条件和或逻辑的SUMIF,excel,sumifs,Excel,Sumifs,我找到了一个使用多个条件和/或逻辑执行sumifs的示例,但我尝试使用multiple对多个列执行sumifs,但它不起作用 这里有一个例子。基于此数据集: A1 B1 C1 D1 B X u 11 B X u 22 A X t 22 B X t 22 我使用以下公式: =SUM(SUMIFS(D:D,B:B,"X",A:A,{"A","B"},C:C,{"t","u"})) 在公式中我得到55,但应该是77 如果我更改数据集的最后一行,

我找到了一个使用多个条件和/或逻辑执行sumifs的示例,但我尝试使用multiple对多个列执行sumifs,但它不起作用

这里有一个例子。基于此数据集:

A1  B1  C1  D1
B   X   u   11
B   X   u   22
A   X   t   22
B   X   t   22
我使用以下公式:

=SUM(SUMIFS(D:D,B:B,"X",A:A,{"A","B"},C:C,{"t","u"}))
在公式中我得到55,但应该是77

如果我更改数据集的最后一行,它将正确计算,如下所示:

A1  B1  C1  D1
B   X   u   11
B   X   u   22
A   X   t   22
A   X   t   22  --> Column A1 value changed from B to A
是否可以有多个包含多个OR值的列?

试试

=SUM(SUMIFS(D:D, B:B, "X", A:A, {"A","B"}, C:C, TRANSPOSE({"t","u"})))
通过更改读取第二个条件数组的“方向”,可以获得所有可能的组合,而不是成对的组合。

尝试

=SUM(SUMIFS(D:D, B:B, "X", A:A, {"A","B"}, C:C, TRANSPOSE({"t","u"})))

通过更改读取第二个条件数组的“方向”,可以获得所有可能的组合,而不是成对的组合。

我与@Jeeped在同一行上工作,但找到了

=SUM(SUMIFS(D:D,B:B,"X",A:A,{"A","B"},C:C,{"t";"u"}))
以更改第二个阵列的方向

注意:我不知道您如何轻松地扩展它以包括另一组标准,因为您需要另一个“维度”。据我所知,它必须是这样的

=SUM(SUMIFS(D:D,B:B,{"X","X","X","X","Y","Y","Y","Y"},A:A,{"A","A","B","B","A","A","B","B"},C:C,{"t","u","t","u","t","u","t","u"}))

我和@Jeeped在同一条线上工作,但我想到了

=SUM(SUMIFS(D:D,B:B,"X",A:A,{"A","B"},C:C,{"t";"u"}))
以更改第二个阵列的方向

注意:我不知道您如何轻松地扩展它以包括另一组标准,因为您需要另一个“维度”。据我所知,它必须是这样的

=SUM(SUMIFS(D:D,B:B,{"X","X","X","X","Y","Y","Y","Y"},A:A,{"A","A","B","B","A","A","B","B"},C:C,{"t","u","t","u","t","u","t","u"}))

你是正确的,因为你不能包括第三组标准,因为,正如你所说,你需要一个额外的“维度”,这超出了这些函数的能力。有公式替代方案吗?众所周知,你也可以用数组(或sumproduct)公式来实现这一点,方法是写*而不是AND,+而不是or,因此上面的公式将变成=sumproduct(D2:D5*((C2:C5=“u”)+(C2:C5=“t”)*((A2:A5=“a”)+(A2:A5=“B”))。您可以创建任意复杂度的“布尔”表达式—请看,您是正确的,因为您不能包含第三组标准,因为正如您所说,您需要额外的“维度”,这超出了此类函数的能力。有公式替代方案吗?众所周知,你也可以用数组(或sumproduct)公式来实现这一点,方法是写*而不是AND,+而不是or,因此上面的公式将变成=sumproduct(D2:D5*((C2:C5=“u”)+(C2:C5=“t”)*((A2:A5=“a”)+(A2:A5=“B”))。您可以创建任意复杂度的“布尔”表达式-请参阅