Запрос листов с помощью importrange с оператором select where, ссылающимся на ячейку листа

Как правильно ссылаться на ячейку в листе, чтобы запрос мог использовать строку в ячейке в качестве фильтра в запросе where?

Приведенный ниже запрос не выполняется в операторе where с:

"Error:Unable to parse query string for Function QUERY parameter 2: NO_COLUMN: BADO".

"BADO" является строкой в ​​ячейке C1, на которую есть ссылка в операторе where, и является допустимым значением в Col2 на листе importrange.

Запрос возвращает всю дату, если в ячейку C1 введено "Col2". Я пробовал несколько других вариантов безрезультатно.

{=QUERY(importrange("1cCQQA3DYwuiSKokzcuqhnUPVV8-Ok2JAZUzG6ryxLf8","$A$2:$F"),
        "select * where (Col2="&C1&")")}

Ниже мой тестовый лист:

https://docs.google.com/spreadsheets/d/1RY2AXali01-N0fd-zBPPJDO-4vPuoRGsG5dSMn1NBJU/edit?usp=sharing

1 ответ

Решение

Формула верна, однако ошибка в том, что в случае cluase, Col2 требует строковое значение, но мы передаем BADO. в идеале синатекс должен быть 'BADO' с одинарными кавычками. Так что просто добавьте одинарные кавычки в предложении где формулы.

=QUERY(importrange("1cCQQA3DYwuiSKokzcuqhnUPVV8-Ok2JAZUzG6ryxLf8","$A$2:$F"),"select * 
where Col2='"&$C$1&"'")

Надеюсь, это может помочь.

Другие вопросы по тегам