Часто вы можете захотеть объединить результаты запроса в Google Таблицах в одну ячейку на строку.
К сожалению, невозможно использовать функцию CONCAT с функцией QUERY , но вы можете использовать следующую формулу для воспроизведения этой функции:
=ARRAYFORMULA(
SUBSTITUTE(
trim(transpose(query(transpose( your_query ),,COLUMNS( your_query )))),""," _ ")
)
Эта конкретная формула объединяет результаты запроса, используя _ в качестве разделителя, но вы можете изменить этот разделитель на любой другой.
В следующем примере показано, как использовать эту формулу на практике.
Пример: используйте CONCAT с QUERY в Google Таблицах.
Предположим, у нас есть следующий набор данных в Google Sheets:

Мы можем использовать следующую формулу для запроса строк, где имя содержит «Энди», и объединить имя, отчество и фамилию в одну ячейку для каждой строки:
=ARRAYFORMULA(
SUBSTITUTE(
trim(transpose(query(transpose(query( A:C , " select \* where A contains 'Andy' ")),,COLUMNS(query( A:C , " select \* where A contains 'Andy' "))))),""," _ ")
)
На следующем снимке экрана показано, как использовать эту формулу на практике:

Обратите внимание, что запрос возвращает только строки, в которых имя содержит «Энди», а имя, отчество и фамилия объединены в одну ячейку для каждой строки с использованием символа подчеркивания _ в качестве разделителя.
Чтобы использовать другой разделитель, просто замените « _ » в конце формулы на что-то другое.
Например, на следующем снимке экрана показано, как вместо этого использовать пробел в качестве разделителя:

И снова запрос возвращает только строки, в которых имя содержит «Энди», а имя, отчество и фамилия объединены в одну ячейку на строку с использованием пробела в качестве разделителя.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Google Таблицах:
Запрос Google Sheets: как использовать «не равно» в запросе
Запрос Google Sheets: как вернуть только уникальные строки
Запрос Google Sheets: как использовать несколько критериев в запросе