Подготовка данных для QUERY сортировки по цене
Дано: база данных с заказами и ценами, сведенными в таблицу.
Перед извлечением определенных данных — нужно обработать эту таблицу, выделив извлекаемые данные из общего текста в ячейке.
Если исследовать значения, можно выделить единый признак, содержащийся в каждой ячейке: » | « — вертикальная черта. По ней и будем разделять таблицу на составные элементы:
=ARRAYFORMULA(IFERROR(TRIM(SPLIT(B4:B;"|"))))
- B4:B — таблица, которую надо разделить на 2 части.
- «|» — символ, по которому будет разделен столбец с текстом.
- ARRAYFORMULA — функция, построчно размножающая процесс разделения на ячейки во всем столбце.
- IFERROR — функция предотвращения ошибки, в случае, если данные в столбце B закончатся и массив выдаст ошибку.
- TRIM — функция, убирающая лишние пробелы, которые образуются после разделения текста на столбцы по определенному символу.
- SPLIT — функция, разделяющая текст по определенному символу.
QUERY выборка почтовых адресов по столбцу с ценой в Google таблицах
Стоит задача: показать только те почтовые адреса клиентов, сумма заказов которых больше или равна определенным значениям.
После того, как столбец разделился на составные части — можно приступить к извлечению определенных данных (почтовых адресов) по определенным ценам из соседних столбцов:
=QUERY(A4:E90;"select E where C = 2000 or C = 3990 or C = 4000")
- A4:E90 — таблица, из которой нужно извлечь почтовые адреса.
- «select E where C = 2000 or C = 3990 or C = 4000» — запрос: из столбца C извлекать почтовые адреса клиентов, сумма за заказы которых 2000, 3990, 4000 рублей.
Данный вариант QUERY сортировки подходит для ситуации полудинамической обработки данных — под мои запросы. Мне нужно было быстро подготовить список почтовых адресов для рассылки обновлений google шаблона.
Конечно, разделить столбцы с текстом можно было встроенной функцией Google Sheets — «Разделить текст на столбцы», но у меня на примере есть объединенные ячейки, которые препятствуют процессу.