Подтвердить что ты не робот

Синтаксис QUERY с использованием ссылки на ячейку

У меня возникли проблемы с выяснением довольно простой инструкции QUERY в таблицах Google. Я пытаюсь использовать ссылку на ячейку вместо статических значений, и у меня возникают проблемы. Ниже этого кода, который я использую, но я продолжаю получать ошибку "Ошибка: Формула разбора".

=QUERY(Responses!B1:I, "Select B where G contains"& $B1 &)

Я уверен, что это простая ошибка, но может кто-нибудь, пожалуйста, покажите мне, как написать выше, чтобы QUERY вытаскивал данные из B, где G содержит значение в ячейке B1 (ссылка на ячейку)?

4b9b3361

Ответ 1

У меня есть только обходной путь. В этом специальном случае я использовал бы функцию FILTER вместо QUERY:

=FILTER(Responses!B:B,Responses!G:G=B1)

Предполагая, что ваши данные находятся на листе "Ответы", но ваше состояние (ссылка на ячейку) находится в фактической ячейке B1.

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

UPDATE:

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

=QUERY(Responses!B1:I, "Select B where G matches '^.\*($" & B1 & ").\*$'") - Я не пробовал, но это помогло в другом сообщении: Запрос с диапазоном значений для предложения WHERE?

Ответ 2

Скопировано из веб-приложений:

=QUERY(Responses!B1:I, "Select B where G contains '"&$B1&"'")

Ответ 3

Старая тема, но я нашел это в своем путешествии к нижнему ответу и фигуре, кому это может понадобиться и кому-то другому.

=IFERROR(ArrayFormula(query(index(Sheet3!A:C&""),"select* Where Col1="""&B1&""" ")), ARRAYFORMULA({"*     *","no cells","match"}));

Вот просто построенный текстовый фильтр из набора данных из 3 столбцов (A, B и C), расположенный в "sheet3", в текущий лист и вызывающий сравнение с ячейкой из текущего листа для фильтрации внутри Col1(A).

Этот бит должен просто избавиться от ошибки #N/A, если фильтр не возвращает результатов //ARRAYFORMULA({"* *","no cells","match"}))

Ответ 4

Я знаю, что это старый поток, но у меня был тот же вопрос, что и OP, и нашел ответ:

Вы почти находитесь, способ включения ссылок на ячейки в языке запросов состоит в том, чтобы обернуть всю вещь в речевые метки. Поскольку весь запрос написан в речевых методах, вам нужно будет чередовать "и", как показано ниже.

Вам понадобится следующее:

=QUERY(Responses!B1:I, "Select B where G contains '"& B1 &"' ")

Если вы захотите обратиться к нескольким ячейкам, вы можете добавить еще что-то вроде этого

=QUERY(Responses!B1:I, "Select B where G contains '"& B1 &"' and G contains '"& B2 &"' ")

Вышеуказанное будет отфильтровывать ваши результаты дальше в зависимости от содержимого B1 и B2.