Excel Sumifs具有1个单元格内的多个条件的数组

时间:2018-05-01 20:18:30

标签: excel dynamic-arrays sumifs

我正在尝试使用数组编写一个公式来对多个条件求和,但我想在一个单元格中使用这些条件。通常情况下,数组中的条件是手动输入的,但我希望能够使其成为动态的,这样我就可以有3种颜色,或者我想要添加多少颜色。 我不想将它们放在单独的单元格中,因为电子表格会在所需的列数中爆炸。

示例:将蓝色黄色结合在一起。

{ =sum(sumifs($a$1:$a$10,$b$1:$b$10,{“Blue”,”Yellow”}))}

列a包含颜色,列b包含数字。

我想要做的是让一个单元格包含蓝色黄色的标准,并且公式如下:

{=sum(sumifs($a$1:$a$10,$b$1:$b$10,{c1}))}  where c1  would be “Blue”, “Yellow”

1 个答案:

答案 0 :(得分:1)

不幸的是,做你要求的事情相当复杂。将标准分成多个单元格要容易得多。例如,如果Blue在单元格C1中,而Yellow在单元格C2中,那么公式将是(常规公式,不需要数组输入):

Blue,Yellow

但如果=SUMPRODUCT(SUMIFS($A$1:$A$10,$B$1:$B$10,TRIM(INDEX(MID(SUBSTITUTE($C$1,",",REPT(" ",LEN($C$1))),LEN($C$1)*(ROW($A$1:INDEX($A:$A,LEN($C$1)-LEN(SUBSTITUTE($C$1,",",""))+1))-1)+1,LEN($C$1)),)))) 位于单个单元格C1内,那么这就是您需要的公式。它有点长而丑(常规公式,不需要数组输入):

if(grid.getChildren().size() < i && grid.getChildren().get(i) != null)
    grid.getChildren().remove(i);

所以基本上,请不要在一个单元格中放置多个标准。将标准放在单独的单元格中要容易得多,也更清晰。