Почему Query сбрасывает значения с тире при использовании ImportRange в Google Sheets? - PullRequest
2 голосов
/ 15 января 2020

Я использую IMPORTRANGE () в Google Sheets, чтобы получить данные из другой таблицы. Аутентификация выполнена, и, похоже, все работает нормально. До сих пор все работало нормально, и я понятия не имею, что происходит.

Когда я использую только IMPORTRANGE, результат будет таким, как я ожидал. У меня есть список «номеров графиков», которые в основном обозначены цифрами c, но могут содержать дополнения, такие как -a или -1 c. (Примеры: 1234, 1234-а, 1234-1а). Эти цифры имеют некоторую информацию о статусе, это просто текст. При импорте я вижу правильный список, который ожидал (я пропустил некоторые другие столбцы, которые находятся в импортируемом диапазоне, но содержимое на самом деле не имеет значения):

+---------+--------+
|  Col1   |  Col2  |
+---------+--------+
| Status1 | 3701-L |
| Status2 | 3302-G |
| Status1 | 3769   |
| Status2 | 3156   |
| Status1 | 3515   |
| Status2 | 3301-C |
+---------+--------+

Однако, когда я использую Функция QUERY () с набором данных из IMPORTRANGE (), некоторые из этих «номеров графиков» исчезают, сохраняя при этом значения состояния (и другие значения данных столбцов) очень хорошо (опять же, некоторые столбцы пропущены, но мне они нужны, они работает просто отлично):

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

с выводом:

+------+---------+
| Col1 |  Col2   |
+------+---------+
|      | Status1 |
|      | Status2 |
| 3769 | Status1 |
| 3156 | Status2 |
| 3515 | Status1 |
|      | Status2 |
+------+---------+

Как видите, нечисловые значения c пустые (или нулевые?), но имеют правильный статус все еще там (наряду с другими данными, которые я пропустил). Я никак не могу контролировать исходные данные, но могу ли я что-то сделать, чтобы позволить этой работе? Я думаю, это как-то связано с тем, как QUERY обрабатывает «несколько типов данных», но в этом случае я хочу, чтобы это воспринималось как текст.

Ответы [ 2 ]

2 голосов
/ 15 января 2020

это автоматическое преобразование / предположение формулы запроса. использование:

=ARRAYFORMULA(QUERY(TO_TEXT(IMPORTRANGE("url"; "Data!A4:Y")); "SELECT Col2,Col1"))
1 голос
/ 15 января 2020

Вы можете добавить ("") и формулу массива:

=ARRAYFORMULA(QUERY(IMPORTRANGE("url"; "Data!A4:Y") &""; "SELECT Col2, Col1"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...