动态添加行以扩展QUERY

时间:2020-10-29 05:06:33

标签: google-sheets google-sheets-formula google-forms

我有一个链接到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)

我想做的是随着每个用户发送多个提交,动态地将新行添加到关联的查询中;这样,查询数据就有足够的空间,而且我不会收到错误消息。

这怎么办?

1 个答案:

答案 0 :(得分:1)

如果您愿意随意更改报表结构以简化操作,请使用QUERY函数在单个公式中使用Google Query LanguageORDER 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
)) 

资源

相关问题