在Google表格中查询导入范围不正确

时间:2019-01-08 18:50:28

标签: google-sheets importrange

我们正在使用Google表单收集有关我们学生的数据。他们为所有学生使用相同的Google表单,但作为表单的一部分,要求他们提供学生姓名。

您可以在Google Sheet linked here上的Form Responses 1标签上看到最终收集的数据。

我正在尝试使用ImportRange为每个学生创建一个标签。我只为其中一名学生使用的公式是...

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

您可以查看名为Adam N.的标签,您会发现它很有用。

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

似乎有问题的另一件事是,在Adam N.选项卡上,第一行与Form Responses 1选项卡具有相同的标题,但它也具有第一行数据。有办法删除它吗?

1 个答案:

答案 0 :(得分:1)

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

通常会注意到用户很想在列中混合数据类型。 query()函数将给出不期望的输出。如果将一列用于数值,则仅数值必须位于该列中。日期列只能包含日期,文本列只能包含文本值。

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

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

看看是否可行

=ArrayFormula(QUERY(to_text('Form Responses 1'!A:I),"WHERE Col3 = 'Adam N.'", 1))
相关问题