Листы Excel, содержащие большой объем информации, иногда могут выглядеть перегруженными и даже трудночитаемыми. Excel позволяет группировать данные, чтобы с легкостью скрывать и показывать различные разделы листа. К тому же Вы можете обобщить различные группы при помощи команды Промежуточный итог и придать структуру рабочему листу Excel. В этом уроке мы рассмотрим оба этих инструмента максимально подробно и на наглядных примерах.
Чтобы разгруппировать данные в Excel, выделите сгруппированные строки или столбцы, а затем щелкните команду Разгруппировать .
Команда Промежуточный итог позволяет автоматически создавать группы и использовать базовые функции, такие как СУММ, СЧЁТ и СРЗНАЧ, чтобы упростить подведение итогов. Например, команда Промежуточный итог способна вычислить стоимость канцтоваров по группам в большом заказе. Команда создаст иерархию групп, также называемую структурой, чтобы упорядочить информацию на листе.
Ваши данные должны быть правильно отсортированы перед использованием команды Промежуточный итог , Вы можете изучить серию уроков Сортировка данных в Excel , для получения дополнительной информации.
В следующем примере мы воспользуемся командой Промежуточный итог , чтобы определить сколько заказано футболок каждого размера (S, M, L и XL). В результате рабочий лист Excel обретет структуру в виде групп по каждому размеру футболок, а затем будет подсчитано общее количество футболок в каждой группе.
При подведении промежуточных итогов в Excel рабочий лист разбивается на различные уровни. Вы можете переключаться между этими уровнями, чтобы иметь возможность регулировать количество отображаемой информации, используя иконки структуры 1, 2, 3 в левой части листа. В следующем примере мы переключимся между всеми тремя уровнями структуры.
Хоть в этом примере представлено всего три уровня, Excel позволяет создавать до 8 уровней вложенности.
Вы также можете воспользоваться иконками Показать или Скрыть детали , чтобы скрыть или отобразить группы.
Со временем необходимость в промежуточных итогах пропадает, особенно, когда требуется иначе перегруппировать данные на листе Excel. Если Вы более не хотите видеть промежуточные итоги, их можно удалить.
Чтобы удалить только группы, оставив промежуточные итоги, воспользуйтесь пунктом Удалить структуру из выпадающего меню команды Разгруппировать .
Итоги должны присутствовать в любом отчете. Например, если у вас есть поля Наименование количество цена и сумма, то логично по последние колонки получить общий итог. Сегодня рассмотрим, как это сделать с помощью СКД (Система компоновки данных).
На сегодняшний день СКД очень широко применяется для создания различных отчетов. Связанно это с тем что средствами СКД можно создать практический любой отчет. Те кто пользовался системой компоновки данных знает что это очень удобно и быстро не нужно судорожно писать код можно все сделать в конструктором.
Для примера я возьму отчет который мы создавали в прошлой статье. Выглядел он у нас вот так.
Давайте к нему добавим общий итог по колонке Сумма.
И так запускаем конфигуратор открываем наш отчет Приход Товара и кликаем на Схему компоновки данных.
В открывшемся окне переходим на вкладку Ресурсы. Слева из окна доступные поля выбираем поле Сумма и перетаскиваем его в правое окно. Больше не чего не меняем.
Запускаем 1С и смотрим что у нас получилось. Если вы все сделали правильно, то в конце таблицы должен появиться итог по колонке.
В результате получим итоговую сумму по всем колонкам.
Ну вот мы и научились выводит итого по колонкам с помощью системы компоновки данных.
В компоновке данных настройка итогов выглядит несколько иначе, чем в запросах. Определим в системе компоновки данных набор данных «Запрос».
В самом запросе мы не настраиваем итоги, а переходим на закладку «Ресурсы» компоновки данных. На уровне схемы компоновки данных мы определяем ресурсы . Это те поля, которые нужно посчитать на уровне группировок. Нажмём на кнопку «>>» и система сама перенесёт все числовые поля и определит их в качестве ресурсов.
В ресурсах можно указывать и нечисловые поля. Например, если выбрать реквизит «Ссылка», то система подсчитает количество документов в наших группировках. Эта информация тоже может быть полезной. Итак, в схеме компоновки мы определяем только ресурсы , а сами группировки настраиваются на уровне варианта отчёта. Так же пользователь сам может создать группировки, которые хочет видеть в своей настройке варианта отчёта.
Создадим стандартную настройку компоновки данных.
Нажмём на кнопку «Открыть конструктор настроек».
Выберем тип отчета — список. Нажмём кнопку «Далее».
Выберем все поля и переместим поле контрагент на самую верхнюю позицию. Нажмём кнопку «Далее».
Выберем все поля и переместим поле контрагент на самую верхнюю позицию. Нажмём кнопку «OK».
Получилась следующая настройка:
Как видно, в настройке варианта отчёта ресурсы выделяются зелёной пиктограммой, чтобы можно было их быстро отличить от других полей.
Если открыть наш отчёт в режиме 1С:Предприятие и сформировать его, то мы увидим, что формируются итоговые данные на уровне группировок. Итоги по номенклатуре и по контрагентам.
Теперь обратим внимание на настройки, которые существуют у ресурсов . В поле «Выражение» мы можем указать агрегатную функцию, по которой можно получить значение ресурса. В выпадающем списке можно увидеть ряд стандартных функций, но не все. Например, нет функций .
Здесь в поле «Выражение» мы можем написать и своё собственное выражение.
В поле «Выражение» мы можем обращаться и к функциям общих модулей.
Кроме того, можно указать в поле «Расчитывать по…» по каким группировкам необходимо рассчитывать ресурс. Если поле «Расчитывать по…» не заполнено, то итоговое значение ресурса будет считаться на всех уровнях группировки, которые определены в настройках варианта отчёта
. В нашем случае нужно заполнить поле «Расчитывать по…» ресурса «Количество», так как мы можем продавать товар с разными единицами измерения. Например: масло в литрах и колёса в штуках. Не правда ли, нелогично будет складывать количество этих товаров? Поэтому нам нужно оставить суммирование количества на уровне номенклатуры, а на уровне контрагентов
суммирование уберём.
Если сформируем отчёт, то увидим, что итоги по количеству считаются только по номенклатуре, а по контрагентам итоги количества пустые.
Давайте рассмотрим ряд неочевидных особенностей связанных с описанием ресурсов .
Если сформируем отчёт, то увидим, что по контрагенту «Дерия» минимальная закупка составляет пять единиц номенклатуры «Бумага самоклеющаяся».
Как видно, все параметры функции «Вычислить» являются строковыми . Чтобы поле количество отображалось в отчёте красиво, настроим его на вкладке «Наборы данных». В строке количество найдём поле «Параметры редактирования». Откроем диалог, отыщем строку «Формат» и отредактируем в нём форматную строку, поставив на вкладке «Число», значение «Точность» равным двум.
Запустим отчёт и увидим результат вычисления процента закупки по контрагенту «АУПП КОС ТОО» относительно
общего объёма:
В конце статьи хочу посоветовать вам бесплатный от Сотникова Анатолия. Это курс от опытного программиста. Он на отдельной базе покажет вам, как строить отчеты в СКД. Вам только нужно внимательно слушать и запоминать! Вы получите ответы на такие вопросы:Наверное, не стоит самому стараться бороздить интернет в поисках нужной информации? Тем более все готово для применения. Только начните! Все подробности о том, что есть в бесплатных видеоуроках
- Как создать простой отчет в виде списка?
- Для чего нужны колонки Поле, Путь и Заголовок на закладке «Поля»?
- Какие существуют ограничения для полей компоновки?
- Как правильно настраивать роли?
- Какие существуют роли для полей компоновки?
- Где найти закладку компоновка данных в запросе?
- Как настраивать параметры в СКД?
- Дальше еще интереснее...
Вот один из уроков о закладке компоновки данных в запросе:
Они имеют ту же задачу — произвести математические или статистические операции над данными выборки. Но имеются и существенные различия:
Для начала немного теории. Секция итогов в запросах 1С состоит из двух разделов.
Первый начинается с ключевого слова ИТОГИ и содержит итоговые поля с применяемой к ним агрегатной функцией. Этот раздел может оставаться пустым, тогда в результате запроса получится просто группировка по полям следующего раздела без подсчета итоговых данных.
Существует 6 видов агрегатных функций, применяемых при группировках:
Второй раздел начинается с ключевого слова ПО и содержит группировочные поля в разрезе которых будет подсчитываться результат по итоговым полям. И/или слово ОБЩИЕ , если нужно подсчитать итоги по всей выборке. Здесь важен порядок, в котором будут располагаться поля, это этого зависит и порядок подсчета итогов в результате запроса.
Если в группировочном поле находятся данные, имеющие иерархическую структуру (иерархический справочник), то можно подсчитать итоги по всей иерархической цепочке. Для этого используется ключевое слово ИЕРАРХИЯ после имени группировочного поля. Если же итоги нужно подсчитывать по всей иерархической цепочке, кроме самого группировочного поля, то используется ключевое слово ТОЛЬКО ИЕРАРХИЯ .
Рассмотрим в качестве примера таблицу поставок товаров.
Необходимо узнать, сколько всего товаров поставлено и сколько столов и стульев.
Запрос.
Текст=
"ВЫБРАТЬ
Поставки.Товар КАК Товар,
ИЗ
Поставки КАК Поставки
ИТОГИ
СУММА(Количество)
ПО
ОБЩИЕ,
Товар"
;
В результате получим следующую таблицу с итогами (итоговые строки выделены желтым).
Необходимо сгруппировать записи таблицы по виду товара.
Запрос.
Текст=
"ВЫБРАТЬ
Поставки.Товар КАК Товар,
Поставки.Поставщик КАК Поставщик,
Поставки.Количество КАК Количество,
ИЗ
Поставки КАК Поставки
ИТОГИ
ПО
Товар"
;
Запрос.
Текст=
"ВЫБРАТЬ
Поставки.Товар КАК Товар,
Поставки.Поставщик КАК Поставщик,
Поставки.Количество КАК Количество,
ИЗ
Поставки КАК Поставки
ИТОГИ
СУММА(Количество)
ПО
Поставщик ИЕРАРХИЯ"
;
В результате получим следующую таблицу.
Запрос.
Текст=
"ВЫБРАТЬ
Поставки.Товар КАК Товар,
Поставки.Поставщик КАК Поставщик,
Поставки.Количество КАК Количество,
ИЗ
Поставки КАК Поставки
ИТОГИ
СУММА(Количество)
ПО
Поставщик ТОЛЬКО ИЕРАРХИЯ"
;
В результате получим следующую таблицу.
Результат запроса с итогами можно обойти несколькими способами:
ГруппировкиТовар =
Запрос.
Выполнить()
.
Выбрать(ОбходРезультатаЗапроса.
ПоГруппировкам,
"Товар"
)
;
Пока
ГруппировкиТовар.
Следующий()
Цикл
//здесь обрабатываем группировочные строки результата запроса
ДетальныеЗаписи =
ГруппировкиТовар.
Выбрать()
;
Пока
ДетальныеЗаписи.
Следующий()
Цикл
//здесь обрабатываем строки детальных записей, принадлежащих группировкам
КонецЦикла
;
КонецЦикла
;