我在Google Sheets中使用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 |
+---------+--------+
但是,当我对来自IMPORTRANGE()的数据集使用QUERY()函数时,一些“绘图编号”消失了,而状态值(和其他列数据值)保持不变(同样,有些列被省略了,但我确实需要它们,它们工作得很好):
=QUERY(IMPORTRANGE("url"; "Data!A4:Y"); "SELECT Col2, Col1")
输出如下:
+------+---------+
| Col1 | Col2 |
+------+---------+
| | Status1 |
| | Status2 |
| 3769 | Status1 |
| 3156 | Status2 |
| 3515 | Status1 |
| | Status2 |
+------+---------+
如您所见,非数字值为空(或null?)但正确的状态仍然存在(以及我遗漏的其他数据)。我不能以任何方式控制源数据,但是我能做些什么来让它工作吗?我猜这与QUERY处理“多种数据类型”的方式有关,但在本例中,我希望它被视为文本。
发布于 2020-01-15 02:48:45
这就是查询公式的自动转换/假设。使用:
=ARRAYFORMULA(QUERY(TO_TEXT(IMPORTRANGE("url"; "Data!A4:Y")); "SELECT Col2,Col1"))
发布于 2020-01-15 03:50:00
您可以添加("")和数组公式:
=ARRAYFORMULA(QUERY(IMPORTRANGE("url"; "Data!A4:Y") &""; "SELECT Col2, Col1"))
https://stackoverflow.com/questions/59743766
复制