为什么在 Google 工作表中使用 ImportRange 时 Query 会用破折号删除值?
Why does Query drop values with dashes when using ImportRange in Google Sheets?
我在 Google 表格中使用 IMPORTRANGE() 从另一个电子表格中获取一些数据。身份验证已完成,看起来一切正常。到目前为止一切正常,我不知道发生了什么。
当我只使用 IMPORTRANGE 时,输出与我预期的一样。我有一个 "Plot numbers" 的列表,主要是数字,但可以添加 -a 或 -1c。 (示例:1234、1234-a、1234-1a)。这些号码有一些状态信息,只是文本。导入时,我看到了我预期的正确列表(我遗漏了导入范围内的其他一些列,但内容并不重要):
+---------+--------+
| Col1 | Col2 |
+---------+--------+
| Status1 | 3701-L |
| Status2 | 3302-G |
| Status1 | 3769 |
| Status2 | 3156 |
| Status1 | 3515 |
| Status2 | 3301-C |
+---------+--------+
但是,当我将 QUERY() 函数与来自 IMPORTRANGE() 的数据集一起使用时,其中一些 "plot numbers" 消失了,同时保持状态值(和其他列数据值)很好(再次,有些专栏被遗漏了,但我确实需要它们,它们工作得很好):
=QUERY(IMPORTRANGE("url"; "Data!A4:Y"); "SELECT Col2, Col1")
输出:
+------+---------+
| Col1 | Col2 |
+------+---------+
| | Status1 |
| | Status2 |
| 3769 | Status1 |
| 3156 | Status2 |
| 3515 | Status1 |
| | Status2 |
+------+---------+
如您所见,非数值为空(或空值?)但正确的状态仍然存在(以及我遗漏的其他数据)。我无法以任何方式控制源数据,但是我可以做些什么来让它工作吗?我想这与 QUERY 处理 "multiple data types" 的方式有关,但在这种情况下,我希望它被视为文本..
那是查询公式的自动conversion/assumption。使用:
=ARRAYFORMULA(QUERY(TO_TEXT(IMPORTRANGE("url"; "Data!A4:Y")); "SELECT Col2,Col1"))
可以加上("")和数组公式:
=ARRAYFORMULA(QUERY(IMPORTRANGE("url"; "Data!A4:Y") &""; "SELECT Col2, Col1"))
我在 Google 表格中使用 IMPORTRANGE() 从另一个电子表格中获取一些数据。身份验证已完成,看起来一切正常。到目前为止一切正常,我不知道发生了什么。
当我只使用 IMPORTRANGE 时,输出与我预期的一样。我有一个 "Plot numbers" 的列表,主要是数字,但可以添加 -a 或 -1c。 (示例:1234、1234-a、1234-1a)。这些号码有一些状态信息,只是文本。导入时,我看到了我预期的正确列表(我遗漏了导入范围内的其他一些列,但内容并不重要):
+---------+--------+
| Col1 | Col2 |
+---------+--------+
| Status1 | 3701-L |
| Status2 | 3302-G |
| Status1 | 3769 |
| Status2 | 3156 |
| Status1 | 3515 |
| Status2 | 3301-C |
+---------+--------+
但是,当我将 QUERY() 函数与来自 IMPORTRANGE() 的数据集一起使用时,其中一些 "plot numbers" 消失了,同时保持状态值(和其他列数据值)很好(再次,有些专栏被遗漏了,但我确实需要它们,它们工作得很好):
=QUERY(IMPORTRANGE("url"; "Data!A4:Y"); "SELECT Col2, Col1")
输出:
+------+---------+
| Col1 | Col2 |
+------+---------+
| | Status1 |
| | Status2 |
| 3769 | Status1 |
| 3156 | Status2 |
| 3515 | Status1 |
| | Status2 |
+------+---------+
如您所见,非数值为空(或空值?)但正确的状态仍然存在(以及我遗漏的其他数据)。我无法以任何方式控制源数据,但是我可以做些什么来让它工作吗?我想这与 QUERY 处理 "multiple data types" 的方式有关,但在这种情况下,我希望它被视为文本..
那是查询公式的自动conversion/assumption。使用:
=ARRAYFORMULA(QUERY(TO_TEXT(IMPORTRANGE("url"; "Data!A4:Y")); "SELECT Col2,Col1"))
可以加上("")和数组公式:
=ARRAYFORMULA(QUERY(IMPORTRANGE("url"; "Data!A4:Y") &""; "SELECT Col2, Col1"))