【问题标题】:Conditionally Sum a googlesheet column based on entries in related tables根据相关表中的条目有条件地对 googlesheet 列求和
【发布时间】:2022-06-26 13:25:33
【问题描述】:

假设我在 Google 工作表中有两个相关的工作表/标签。一个工作表/选项卡的标题是“类别”,另一个是“措施”。

分类:

userid catcode
1 a
1 b
2 a
3 c

措施:

userid catcode points
1 a 5
1 b 5
1 c 3
2 a 4
3 c 3

对于每个用户,我希望能够将测量表中的点相加,其中类别表中的用户存在 catcode。理想情况下使用自动扩展/填充公式(如数组公式或查询)。

我知道如何使用 SQL 语句来处理这个问题(加入相关的表,或者在存在的地方进行选择),但我是 googlesheets 的新手,希望能在这里得到一些指导。我已经对此进行了一些实验,并假设第三个名为“Users”的表在 A 列中带有用户 ID,我可以添加以下公式:

=sum(filter(measure!C2:C4, measure!A2:A4=users!A2, not(iserror(vlookup(measure!B2:B4, unique(filter(categories!B2:B5, categories!A2:A5=users!A2)), 1, false)))))

但是,这种方法似乎与 arrayformula 不兼容,并且不允许我为新添加的用户 ID 自动填充“用户”选项卡。 Sum 本身显然与 arrayformula 不兼容。此外,如果我将上述内容包含在 arrayformula 中并将 sum 替换为 sumproduct 或其他求和方法,我将无法让 users!A2 引用向下扩展,正如我所期望的那样,通过 users!A2:A 之类的东西。

任何帮助/指导将不胜感激。谢谢!

【问题讨论】:

    标签: arrays google-sheets sum google-sheets-formula google-query-language


    【解决方案1】:

    试试:

    =ARRAYFORMULA(QUERY({A1:A, VLOOKUP(A1:A&B1:B, {D1:D&E1:E, F1:F}, 2, 0)}, 
     "select Col1,sum(Col2) where Col1 is not null group by Col1 label sum(Col2)''"))
    

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      相关资源
      最近更新 更多