Вопрос или проблема
У меня есть таблица Google, где одна вкладка называется “Основная таблица”, а другая – “Графики/Таблицы”. На второй вкладке у меня есть запрос, который получает данные из первой. Запрос выглядит так: =QUERY(‘Основная таблица’!A1:N, “выбрать B, H, I, максимум(K), L, M где B не является null группировать по B, H, I, K, L, M упорядочивать по B пометить B ‘Номер перевода’, H ‘Номер коробки’, I ‘Общее количество коробок в переводе’, M ‘На полках'”). Он работает, но не совсем так, как мне нужно. Я также хотел бы сгруппировать колонку H, но когда есть записи для одной и той же коробки, каждая запись отображается в результате запроса в новой строке. Вот ссылка на мой пример:ссылка
Я пытался изменить порядок группировки, изменить ссылку на колонку на Col# вместо использования букв колонок, и я совсем запутался.
Ответ или решение
Конечно! Давайте рассмотрим вашу формулу и разберемся, почему данные группируются не так, как вам нужно.
Ваш запрос:
=QUERY('Master Sheet'!A1:N, "select B, H, I, max(K), L, M where B is not null group by B, H, I, K, L, M order by B label B 'Transfer #', H 'Box #', I 'Total Boxes In Transfer', M 'Shelved'")
На первый взгляд, проблема заключается в том, что вы группируете по всем выбранным колонкам, включая K
, что не позволяет Google Sheets корректно агрегировать данные по столбцу H
(номер коробки). Если у вас есть несколько записей с одинаковым номером коробки (H), каждая из них будет выводиться как отдельная строка.
Чтобы решить вашу проблему, необходимо правильно настроить группировку. Если вы хотите агрегировать данные по номеру коробки (H), а также желаете получить максимальное значение из колонки K, вам следует изменить группировку. Вы можете попробовать следующее:
=QUERY('Master Sheet'!A1:N, "select B, H, I, max(K), L, M where B is not null group by B, H, I, L, M order by B label B 'Transfer #', H 'Box #', I 'Total Boxes In Transfer', M 'Shelved'")
В этом измененном запросе мы убираем K
из списка группировки, так как хотите получать максимальное значение этой колонки, и оставляем только необходимые группы.
Пояснения к запросу:
select B, H, I, max(K), L, M
: мы выбираем необходимые колонки, включая агрегированное значениеmax(K)
.group by B, H, I, L, M
: теперь в группировку включены столбцы B, H, I, L и M, что позволит сгруппировать данные по номеру коробки.order by B
: сортируем результат по номеру передачи.
Попробуйте изменить вашу формулу на приведенный вариант, и проверьте, устраивает ли вас результат. Если проблема всё ещё будет сохраняться, могу предложить дополнительные варианты решения.