我有一个链接到Google表单的Google表格,以一种易于操作的方式记录用户输入。就我的示例目的而言,假设这只是一种获取用户评论的表格。
在此示例中,我具有名为“数据”的工作表,该工作表检索表单提交。它具有以下标题:
|-----------|--------|-----------|
| Timestamp | User | Comment |
|-----------|--------|-----------|
新表单提交正在积极地添加到此工作表中。
我正在通过QUERY FUNCTION将这些数据拖到另一个表中,称为“报告”。我想在其选择用户下对这些评论进行排序。这是我的报告表的布局:
|----------|---------|
| User 1 | |
|----------|---------|
| | QUERY |
|----------|---------|
| User 2 | |
|----------|---------|
| | QUERY |
|----------|---------|
| User 3 | |
|----------|---------|
| | QUERY |
|----------|---------|
带有“ QUERY”的单元格将具有以下内容:
=QUERY(Data!A1:C,"Select * Where B = 'User 1'", 1)
我想做的是随着每个用户发送多个提交,动态地将新行添加到关联的查询中;这样,查询数据就有足够的空间,而且我不会收到错误消息。
这怎么办?
答案 0 :(得分:1)
如果您愿意随意更改报表结构以简化操作,请使用QUERY函数在单个公式中使用Google Query Language的ORDER BY
子句
公式将如下所示:
=QUERY({Data!B1:B,Data!A1:C},"Select * Order By Col1", 1)
然后,如果单元格值与上述单元格相同,则可以使用条件格式将字体和背景色设置为相同。
如果确实需要逐步报告,则添加仅包含用户名的一组行。示例:
=ArrayFormula(QUERY(
{Data!B:B,Data!A:C;UNIQUE({Data!B2:B,IF(LEN(Data!B2:B),{"","",""})})},
"Select * Where Col1 is not null Order By Col1, Col2", 1
))
资源