Макрос позволяет рассчитать процент в сводной таблице Excel

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

Как посчитать процент в сводной таблице макросом

Excel по умолчанию создает сводные таблицы с полями, в которых отображаются суммы итоговых значений:

Пример сводной таблицы по умолчанию.

Тем не менее можно заставить Excel отображать данные не как итоговые значения сумм, а как процентная часть в общем обороте. Или же, например, процентная часть оборота по месяцам (строки таблицы) или по годам (столбцы). Таким образом можно быстро получить общую картину о текущей ситуации фирмы при анализе ее показателей.

Доли в процентах по строкам

Чтобы показать в процентном соотношении значения оборотов по отдельным месяцам, как процентная часть в текущем году, воспользуемся следующим кодом макроса:

Sub ProcentZnach()
With ActiveSheet.PivotTables("ТаблицаМ").PivotFields("Сумма по полю Оборот")
.Calculation = xlPercentOfRow
.NumberFormat = "0.00%"
End With
End Su

Напоминаем, чтобы воспользоваться данным кодом макроса сначала откройте редактор VisualBasic (ALT+F11), а потом создайте новый модуль в редакторе: «Insert»-«Module» и введете в него выше указанный VBA-код:

Исходный VBA-код.

Аргумент «ТаблицаМ» – это ссылка на внутренние имя сводной таблицы, которое было присвоено ей еще при создании. Подробнее об этом читайте пример: Макрос для создания сводной таблицы в Excel.

С помощью присвоения для свойства Calculation параметра xlPercentOfRow - мы определяем способ перерасчета и отображения значений в сводной таблице. И получаем желаемый результат:

Доли в процентах по строкам.

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

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

Доли в процентах по столбцам

Естественно очень простым способом можно настроить макрос так, чтобы значения в сводной таблице отображали объем оборотов как процентное соотношение по отдельным месяцам в очередных годах. Код модифицированного макроса выглядит следующим образом:

Sub ProcentZnach()
With ActiveSheet.PivotTables("ТаблицаМ").PivotFields("Сумма по полю Оборот")
.Calculation = xlPercentOfColumn
.NumberFormat = "0.00%"
End With
End Su

Пример VBA-кода в действии:

Доли в процентах по столбцам.

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

Читайте также: Макросы для фильтра сводной таблицы в Excel.

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