0

我们正在使用 Google 表单来收集有关我们学生的数据。他们为所有学生使用相同的 Google 表格,但作为表格的一部分,他们会被询问学生姓名。

您可以在此处链接的 Google表格上的表单回复 1 选项卡上看到最终被收集的数据。

我正在尝试使用 ImportRange 为每个学生创建一个选项卡。我只为一名学生使用的公式是……

=QUERY(IMPORTRANGE("1nJANDP1fiQunxfxEf-EjwJrnIRICv6kLhYYY9XBXtD4", "表单响应 1!A:I"),"SELECT * WHERE Col3 = 'Adam N.'")

您可以查看名为 Adam N. 的选项卡,您会发现它确实有效。

似乎不起作用的一件事是,当 EI 列中有文本值时,该文本值最终不会显示在 Adam N. 选项卡上。有什么想法可以同时显示数字和文本值吗?

另一个问题似乎是,在 Adam N. 选项卡上,第一行与 Form Responses 1 选项卡具有相同的标题,但它也具有第一行数据。有什么办法可以去掉?

4

1 回答 1

1

不需要 Importrange,因为您是从同一个电子表格中“导入”的。另外,我建议在 query() 中使用(可选)标头参数。

人们经常注意到,用户很想在列中混合数据类型。query() 函数会给出不需要的输出。如果一列用于数值,则只有数值必须驻留在该列中。日期列只能包含日期,而文本列只能包含文本值。

这并不意味着数字不能出现在文本列中,只要它们是文本格式。因此,重要的是要规划表中的列,以确保无论数据表是手动创建还是通过 Google 表单提交,都可以维护此规则。

通常,query() 函数将假定一列中更多的单元格类型是该数据类型。例如,如果同一列中有 100 个数字和 20 个文本值,则该列将假定为一个数值。文本值很有可能会被忽略。避免这种情况的一种方法是将所有内容转换为文本。

看看这是否有效

=ArrayFormula(QUERY(to_text('Form Responses 1'!A:I),"WHERE Col3 = 'Adam N.'", 1))
于 2019-01-09T07:10:58.050 回答