过滤由 ARRAYFORMULA 生成的值

Filtering Values Produced by an ARRAYFORMULA

我正在使用 ARRAYFORMULA 从名称列表中提取唯一值,并为每个名称计算第二列的总和。

这是一些示例数据和我正在使用的 ARRAYFORMULA

Example Data

ARRAYFORMULA in cell E3

=ARRAYFORMULA({{unique(B3:B11)},{sumif(B3:B11, (unique(B3:B11)),C3:C11)}})

我想做的是过滤掉令牌总数为零的那些名字 - 即我希望将彼得从列表中过滤掉,因为他的令牌总数为零。

[我也希望将 Peter 和其他任何人显示在单独的列表中,但我想如果你能帮助我破解第一部分,我也可以帮助自己破解第二部分]

有没有一种方法可以用一个 ARRAYFORMULA 实现我想要的?是否有另一种(更好的)方法可以达到同样的效果?

我已经为此苦苦思索了一段时间,所以非常感谢您的帮助

查询和过滤

=FILTER(QUERY(A2:B10,"select A, SUM(B) group by A"),QUERY(A2:B10,"select SUM(B) group by A") > 0)

您不需要数组公式。 QUERY 外面的 FILTER 解决了我们的零标记问题。而QUERY选择A列和B列SUM,returns选择专有名称和总和,这样就没有重名了。我们需要第二个相同的 QUERY 用于 FILTER 与 0 进行比较,因为我们的 QUERY 不存在于公式之外。您对 QUERY 的每次引用都需要您再次执行 QUERY

使用:

=QUERY(QUERY({B3:C}; 
 "select Col1,sum(Col2) 
  where Col1 is not null 
  group by Col1 
  label sum(Col1)''"); 
 "where Col2 is not null"; )