Форматирование границ для результата функции GROUPBY в Excel?

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

Я использую эту функцию для фильтрации данных по общей сумме продаж:

=GROUPBY(Table_G[[#All],[Name]:[Dept]], Table_G[[#All],[Sales]],SUM,3,,,Table_G[Dept]="IT")

Как я могу установить внутренние и внешние границы для результатов? Независимо от количества сгруппированных строк данных, основные данные иногда увеличиваются, иногда уменьшаются.

Это небольшая хитрость, но она должна сработать, если количество столбцов в результате не меняется и первая строка всегда одинаковая.

enter image description here

  • На изображении выше я вручную добавил верхнюю границу для G2:I2.
  • Для нижней и боковых границ мне нужно знать, на какой строке заканчивается формула GROUPBY.
    Для этого я создал именованный диапазон под названием LastRow, который ссылается на =COUNTA(INDEX(GROUPBY(Table_G[[#All],[Name]:[Dept]],Table_G[[#All],[Sales]],SUM,,,,Table_G[Dept]="IT"),,1))+1.
    +1 в конце, потому что я добавил мою формулу на строку 2. Эта формула возвращает число 5, так как считает, сколько строк в первом столбце результата формулы содержат текст (и добавляет 1 к результату).
  • Далее я создаю три условных формата:
    =ROW()=LastRow применяется к =$G:$I с форматом, дающим нижнюю границу.
    =AND(ROW()>=2,ROW()<=LastRow) применяется к =$G:$G с форматом левой границы.
    =AND(ROW()>=2,ROW()<=LastRow) применяется к =$I:$I с форматом правой границы.

enter image description here

Ответ или решение

Для форматирования границ результатов функции GROUPBY в Excel необходимо использовать сочетание функций и условного форматирования. Давайте рассмотрим, как это можно реализовать, учитывая изменяющееся количество строк с группированными данными.

Инструкция по форматированию границ для результатов GROUPBY

  1. Добавление верхней границы вручную:
    Для начала вручную добавьте верхнюю границу к первой строке вашего диапазона результатов. Например, если ваш результат начинается с ячейки G2 до I2, добавьте верхнюю границу вручную к этому диапазону.

  2. Определение последней строки результатов:
    Используйте именованный диапазон, чтобы автоматически определять последнюю строку. В данном случае создайте именованный диапазон LastRow, который ссылается на следующую формулу:

    =COUNTA(INDEX(GROUPBY(Table_G[[#All],[Name]:[Dept]], Table_G[[#All],[Sales]], SUM, , , , Table_G[Dept]="IT"), , 1)) + 1

    Эта формула подсчитывает количество строк в первой колонке результата, содержащих текст, и добавляет 1 (если ваша формула начинается со второй строки).

  3. Создание условных форматов:
    Теперь создайте три условных формата для автоматического добавления границ:

    • Нижняя граница: Условие =ROW()=LastRow применяется к диапазону =$G:$I. Установите форматирование с нижней границей.

    • Левая граница: Условие =AND(ROW()>=2, ROW()<=LastRow) применяется к столбцу =$G:$G. Установите форматирование с левой границей.

    • Правая граница: Условие =AND(ROW()>=2, ROW()<=LastRow) применяется к столбцу =$I:$I. Установите форматирование с правой границей.

Заключение

Этот метод позволяет динамически форматировать границы для результатов функции GROUPBY, независимо от количества строк. Применение условного форматирования вместе с именованными диапазонами обеспечивает автоматическое обновление границ при изменении данных.

Эта техника обеспечивает читабельность и ясность отчетов в Excel, соответствуя высоким профессиональным стандартам. Используйте данный подход для оптимизации рабочего процесса и улучшения видимости данных.

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

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