QUERY возвращает неполный набор результатов

Я использую следующую формулу в электронной таблице:

=query(importrange("https://docs.google.com/spreadsheets/...?usp=sharing","Gmap List!A:G"), "select Col1,Col2,Col3,Col4,Col5,Col6,Col7 where Col7 = 'Deer Valley'",1)

Это дает следующий результат:

пример вывода

Это загадка. Эти ячейки должны иметь номера почтовых индексов 85029 в обеих ячейках.

Простое использование вышеуказанного IMPORTRANGE показывает число 85029 в обеих ячейках, на которые ссылается запрос.

Любая идея о причине этого?

Исходная электронная таблица генерирует содержимое ячеек, которые отображаются пустыми, точно так же, как и ячейки, в которых есть числа.


person Dave Bird    schedule 25.06.2017    source источник


Ответы (2)


Эта проблема могла бы быть лучше описана лучшим названием темы. Что-то вроде «Поиск по запросу возвращает неполный набор результатов». Но неважно, на данный момент, так как я это исправил.

Я не знаю, почему набор результатов неполный, но вот, по крайней мере, часть проблемы и то, что я сделал, чтобы ее исправить.

Некоторые ячейки результирующего набора, которые были пустыми, были получены из ячеек, которые были получены из ячеек (например, Members!F3), содержащих форму 85029S, 5 цифр, за которыми следует одна альфа. Исходные ячейки содержали формулу, например, =Left(Members!F3,5), которая давала 85029, но приводила к неполному набору результатов. Это было исправлено путем изменения формулы на =value(Left(Members!F3,5)). Почему это работает, я понятия не имею.

Вышеизложенное является определенным упрощением того, что происходит. Не все неполные наборы результатов исходят из формы «5 цифр, за которыми следует альфа». Но все неполные наборы прогонов кажутся исходящими из вычислений с дополнительным уровнем, подобным =indirect("Zip Corrections!C" & match(F3,'Zip Corrections'!B:B,0) ), и исправление работает для всех условий.

Если кто-то посмотрит на это и захочет в этом разобраться, я уверен, что они захотят взглянуть на настоящую электронную таблицу, которая показывает проблему. Это, я не могу поделиться из-за проблем с конфиденциальностью. Кроме того, я не заинтересован в создании примера электронной таблицы, чтобы показать проблему, так как я решил проблему сейчас, и это потенциально намного больше работы.

Это лучшее, что я могу сделать на данный момент.

Дэйв

person Dave Bird    schedule 26.06.2017

Возможным решением может быть использование «=» вместо «содержит»:

=query(importrange("https://docs.google.com/spreadsheets/...?usp=sharing","Gmap List!A:G"), "select Col1,Col2,Col3,Col4,Col5,Col6,Col7 where Col7 contains 'Deer Valley'",1)

Я также обнаружил, что пустые ячейки в диапазоне importrange вызывают проблемы; заполнение их нулями решило проблему.

person Grubbmeister    schedule 09.04.2018