分组缺少数据

时间:2017-03-22 20:57:16

标签: email google-sheets

数据和期望结果的图像:

Image of Data and desired result

我正在努力将Google电子表格中的志愿者时间汇总为非营利组织的志愿者。我们收集志愿者电子邮件信息以及每个志愿者贡献的时间。每个志愿者只在第一次发送电子邮件。我在网上找到了关于如何发送电子邮件的例子,但我在汇总数据方面遇到了麻烦。我认为问题可能是并非每一行都有与之关联的电子邮件地址。

我已经能够使用QUERY(data, "select A, sum(C) Group By A", )获得志愿者工作的小时数,但无法弄清楚如何获得与每个人相关的电子邮件。

3 个答案:

答案 0 :(得分:1)

感谢您的建议! VLOOKUP和ArrayFormula函数对我来说是新的。这就是我解决它的方法:

QUERY(data, "select A, B where B <>'' ", -1)

这使我能够获得每个志愿者的键值对(姓名,电子邮件)(解决多次志愿者的问题,但只留下他们的电子邮件一次)。从那里,我能够通过以下方式生成“名称:工作小时数”表:

QUERY(data, "select A, sum(C) Group By A", )

然后,我使用VLOOKUP查询我的Name-Email表以获得所需的结果:

Name-Email-aggregatedHours

谢谢!

答案 1 :(得分:0)

您无法通过query实现此目标。但您可以将vlookup应用于已排序的表:

=ArrayFormula(VLOOKUP(UNIQUE(FILTER(A2:A,A2:A<>"")),SORT(A2:B,2,0),2,0))

并获取唯一名称的电子邮件列表。

答案 2 :(得分:0)

  1. 首先,清理您的数据。你应该确定至少有一个列没有拼写错误,这个列适当地确定哪个数据对应于每个志愿者。这称为key value。这也可以通过填充每行的缺失值来完成,但不限于此。如果这很难,那么

  2. 创建志愿者名单而不会遗漏数据。

  3. 计算每位志愿者所贡献的时间。如果您能够填写缺失的值,那么您可以使用QUERY,在这种情况下,QUERY公式应该按名称和电子邮件分组,如果没有,则使用SUMIF