Excel公式SUMIFS使用数组范围内的单元格值

我在Excel文档中使用SUMIFS公式,公式的一部分是一个数组来检查一个值是否符合一些条件。 然而,数组中的数据是手动input的,例如{"Nike", "Amazon"} ,但是我想使用一个单元格值而不是确切的string,即{$K$3, $K$4}但是excel不允许的。

我现在使用的公式如下:

 =SUM(SUMIFS(INDIRECT(C$2&"[Allocation per Account]"),INDIRECT(C$2&"[Team]"),$J$3,INDIRECT(C$2&"[Role]"),$B3,INDIRECT(C$2&"[Account]"),{"Nike","Thirdbridge","Amazon","EIB","Smith & Nephew","ARUP"})) 

通过表格范围的匹配[Account]通过分别input每个值来设置。

我甚至尝试使用INDIRECT打印string, {INDIRECT($K$3), INDIRECT($K$4)}唉,无济于事。

有没有办法将这些值更改为单元格引用?

{"Nike","Thirdbridge","Amazon","EIB","Smith & Nephew","ARUP"}是一个行向量的数组字面量。

所以,如果这个值(string在这种情况下)将在一行中,例如K3:P3 ,那么K3:P3将是完全相同的行向量。

但是,如果这些值在一列中,例如K3:K8 ,则TRANSPOSE(K3:K8)将是完全相同的行向量。

TRANSPOSE将只能在数组上下文中工作。 所以你必须input你的公式作为数组公式:

 {=SUM(SUMIFS(...,TRANSPOSE($K$3:$K$8)))} 

input一个数组公式将它放入没有大括号的单元格中。 然后按[Ctrl] + [Shift] + [Enter]确认。 大括号应该自动出现。