【问题标题】:Using an ARRAYFORMULA that contains FILTERs in Google Sheets在 Google 表格中使用包含过滤器的 ARRAYFORMULA
【发布时间】:2021-10-09 00:02:51
【问题描述】:

我正在尝试计算列表中每个人B3:B 的某些数据的加权平均值。我根据过滤器从单独的工作表中提取值和权重,以匹配我当前工作表的该行中的人,并且不包含空数据。

这是计算单个人加权平均值的公式: =AVERAGE.WEIGHTED(FILTER(Form!$G$2:$G, Form!$C$2:$C = $B3, Form!$J$2:$J <> ""), FILTER(Form!$J$2:$J, Form!$C$2:$C = $B3, Form!$J$2:$J <> ""))

但尝试排列它以避免在列的每个单元格中都有公式仍然只给我第一个加权平均值。 =ARRAYFORMULA(AVERAGE.WEIGHTED(FILTER(Form!$G$2:$G, Form!$C$2:$C = $B3:B, Form!$J$2:$J <> ""), FILTER(Form!$J$2:$J, Form!$C$2:$C = $B3:B, Form!$J$2:$J <> "")))

有没有办法让它工作?

【问题讨论】:

  • ARRAYFORMULA 不支持 AVERAGE.WEIGHTED & FILTER
  • 您能否提供一个包含样本输入和预期输出的样本表? Share a test sheet

标签: google-sheets google-sheets-formula


【解决方案1】:

=ArrayFormula(VLOOKUP(B2:B,QUERY(QUERY(Form!C:J,"select C,G*J,J where J is not null",1),"select Col1,sum(Col2)/sum(Col3) group by Col1",1),2,FALSE))

  1. 用第一个QUERY计算每一行的加权值
  2. 计算每个人的加权平均值与第二个QUERY
  3. 在输出上执行ARRAYFORMULA(VLOOKUP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 2020-06-06
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2021-02-27
    相关资源
    最近更新 更多