繁体   English   中英

具有3个或更多多个数组条件的求和

[英]sumifs with 3 or more multiple array criteria

我有一个SUMIFS ,可以处理下拉列表和复选框中包含的值。 下拉列表中的值用作AND准则(即,以下拉列表中的该值与下拉列表中的该值为条件的列求和),但是当我想在复选框中包括这些值时,事情变得棘手根据用户输入是动态的。 本质上,复选框中的值需要用作OR条件(即,如果选择了框1,则基于该值对一列求和;如果选择了框2,则以该值为基础,也以下拉菜单中的值为条件)。

在线示例显示,通过执行以下操作,您可以使用OR条件获得总和:

{=SUM(SUMIFS(sumrange,
    criteriarange0,"x",
    criteriarange1,{"1","2","3"},
    criteriarange2,{"A";"B"}
))}

哪里
"x"是下拉菜单中的值,
{"1","2","3"}是在三个对应的复选框中打勾的结果值,
如果勾选了它们的链接复选框,则{"A";"B"}是另一组结果值。
1,2,3,A,B均为布尔值,因为如果未选中复选框,则它们可以从值更改为0(因此存在组合矩阵)。

我的问题是,如何使用3个或多个作为OR条件的多个数组来执行此操作,这些数组在公式中被引用为单元格引用? 像这样:

{=SUM(SUMIFS(sumrange, 
    criteriarange0,"x", 
    criteriarange1,value_range1, 
    criteriarange2,value_range2, 
    criteriarange3,value_range3
))}

我发现了涉及SUMPRODUCTISNUMBER(MATCH()公式的东西,但无法使其正常工作,此外该表是500,000行x 100列,因此该公式需要有效。

这是我目前带有注释的原始公式:

={SUM(

SUMIFS(sumrange,$A:$A, $A1, $B:$B, $B1, $C:$C, $C1...,  

求和一个范围,该范围取决于单元格$ A1,$ B1,$ C1中的值。 这些是AND条件。

$E:$E,$AA10:$AC10, 

'在$ AA10:$ AC10中包含动态值,这些值的值分别为:5年,10年,15年。 这些是OR条件。

$F:$F,{$AA11;$AC11}, 

”还包括针对不同单元格范围的这些动态值:“ 5天,10天,15天”。 这些是OR条件。

$G:$G,{$AA12;$AJ12})
)} 

并包括这些多个动态值,这些值也是OR标准:“ 5个苹果,10个梨,15个香蕉”。

可以选择动态值的任何组合。

您可以对两个代表最后一个标准的SUMIFS产生的总数求和。

=SUM(SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, "a")), 
     SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, "b")))

最后两个条件不能与第二个条件在同一布局中使用。 这会在数组的循环计算过程中产生混乱和错误的计算。 但是,如果您可以认为最后一个条件与第二个条件位于不同的布局中,则计算周期应会产生正确的结果。 TRANSPOSE将更改最后一个条件数组的“方向”,从而更改其计算方式。

=SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"})))

这将产生与第一个公式相同的结果¹。

要添加第三组基于OR的条件,您需要将两种方法结合起来。

=SUM(SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"}), E:E, "m")),
     SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"}), E:E, "n")),
     SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"}), E:E, "o")))

¹ 样本数据:
列A充满随机数。
B列中填充= CHAR(RANDBETWEEN(87,89))
C列中填充= RANDBETWEEN(0,5)
D列中填充= CHAR(RANDBETWEEN(65,67))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM