【发布时间】: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