繁体   English   中英

在 Google 表格中使用 ImportRange 时,为什么 Query 会用破折号删除值?

[英]Why does Query drop values with dashes when using ImportRange in Google Sheets?

我在 Google 表格中使用 IMPORTRANGE() 从另一个电子表格中获取一些数据。 身份验证已完成,看起来一切正常。 直到现在它都运行良好,我不知道发生了什么。

当我只使用 IMPORTRANGE 时,输出与我预期的一样。 我有一个“绘图编号”列表,它们主要是数字,但可以添加 -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 处理“多种数据类型”的方式有关,但在这种情况下,我希望将其视为文本。

这就是查询公式的自动转换/假设。 用:

=ARRAYFORMULA(QUERY(TO_TEXT(IMPORTRANGE("url"; "Data!A4:Y")); "SELECT Col2,Col1"))

您可以添加 ("") 和数组公式:

=ARRAYFORMULA(QUERY(IMPORTRANGE("url"; "Data!A4:Y") &""; "SELECT Col2, Col1"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM