Формула запроса не группирует должным образом

Вопрос или проблема

У меня есть таблица 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: сортируем результат по номеру передачи.

Попробуйте изменить вашу формулу на приведенный вариант, и проверьте, устраивает ли вас результат. Если проблема всё ещё будет сохраняться, могу предложить дополнительные варианты решения.

Оцените материал
Добавить комментарий

Капча загружается...