您可以使用FILTER 从您的表中获取符合条件的值列表,然后使用SUM 获取该列表。
=SUM(FILTER(NameOfTable[stat 1], <Criteria>))
诀窍是指定过滤条件。您要求提供日期范围和符合条件的符号列表。
约会很简单
(NameOfTable[Date]>=G2)*(NameOfTable[Date]<=G3)
限定符号列表有点困难。使用新功能 BYROW 可以做到(在撰写本文时仅对内部人员可用)
(BYROW(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))),LAMBDA(array,SUM(array))))
整个函数:
=SUM(FILTER(NameOfTable[stat 1],
(NameOfTable[Date]>=G2)*
(NameOfTable[Date]<=G3)*
(BYROW(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))), LAMBDA(array, SUM(array))))
))
另一种选择,不使用BYROWS
MMULT(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))),1-N(FILTER(I:I,I:I<>"")))
所以整个公式是
=SUM(FILTER(NameOfTable[stat 1],
(NameOfTable[Date]>=G2)*
(NameOfTable[Date]<=G3)*
MMULT(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))),1-N(FILTER(I:I,I:I<>"")))
))
将NameOftable更改为您的实际表名