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]确认。 大括号应该自动出现。