Построение графиков распределения в Excel: от гистограммы до ящика с усами

Визуализация распределения данных — ключевой навык для анализа в Microsoft Excel. Без графика сложно заметить закономерности: где сосредоточены основные значения, есть ли выбросы, насколько данные симметричны. Например, менеджеру по продажам график распределения поможет выявить самые популярные ценовые сегменты, а маркетологу — понять распределение возраста аудитории.

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

В этой статье разберём 5 типов графиков распределения, научимся строить их с нуля и избегать типичных ошибок. А в конце — бонус: как автоматизировать процесс с помощью Power Query и DAX для больших массивов данных.

Почему стандартная гистограмма не всегда подходит

Начнём с разочарования: инструмент Гистограмма из вкладки Вставка → Диаграммы в Excel часто даёт искажённую картину. Он автоматически разбивает данные на бины (интервалы), но делает это без учёта особенностей вашего набора. Например, для данных о росте людей в см Excel может создать интервалы шириной 20 см — и график потеряет смысл, так как все значения сольются в 2-3 столбца.

Ключевая проблема: автоматическое разбиение игнорирует правило Старджесса (оптимальное число интервалов для нормального распределения). В результате вы получаете либо слишком дробную картинку с десятками столбцов, либо чересчур обобщённую, где важные детали теряются. Решение — ручное управление интервалами через функцию ЧАСТОТА или надстройку Анализ данных.

📊 Какой график распределения вы используете чаще всего?
Гистограмма
Полигон частот
Ящик с усами
График плотности
Не строю графики
  • 📊 Гистограмма — показывает частоту попадания значений в интервалы. Подходит для дискретных и непрерывных данных.
  • 📈 Полигон частот — соединяет середины столбцов гистограммы линией. Удобен для сравнения нескольких распределений.
  • 📦 Ящик с усами (Box Plot) — визуализирует медиану, квартили и выбросы. Незаменим для анализа асимметрии.
  • 🌊 График плотности — сглаженная версия гистограммы, показывает вероятность попадания в интервал.
⚠️ Внимание: Если ваши данные содержат менее 30 наблюдений, график распределения может ввести в заблуждение. В таких случаях лучше использовать точечную диаграмму или таблицу частот.

Подготовка данных: 3 правила для точного графика

Перед построением графика распределения данные нужно привести к виду, который Excel сможет корректно интерпретировать. Вот критические моменты:

  1. Удалите пустые ячейки и текстовые значения. Функции ЧАСТОТА и ГИСТОГРАММА игнорируют нечисловые данные, но это исказит итоговый график. Используйте фильтр: Данные → Фильтр → Текстовые значения.
  2. Определите разумные границы интервалов. Для роста в см логичные интервалы — 5 см (160–165, 165–170), а для возраста — 1 год (20–21, 21–22). Слишком широкие интервалы скрывают детали, слишком узкие — создают шум.
  3. Проверьте данные на выбросы. Одно значение в 10 раз больше остальных (например, доход 1 млн при среднем 50 тыс.) сместит всю гистограмму. Используйте формулу для выявления выбросов:
    =ЕСЛИ(A2>СРЗНАЧ(A:A)+3*СТАНДОТКЛОН(A:A);"Выброс";"")

Пример подготовленных данных для графика распределения возраста клиентов:

ВозрастЧастотаИнтервал
18–2412=ЧАСТОТА(B2:B100;D2:D6)
25–342825
35–442235
45–541545
55+855

Пошаговая инструкция: строим гистограмму распределения

Рассмотрим два способа: через надстройку "Анализ данных" (точнее, но требует настройки) и через формулу ЧАСТОТА (работает всегда).

Способ 1: Надстройка "Анализ данных" (рекомендуется)

  1. Активируйте надстройку: Файл → Параметры → Надстройки → Управление: Надстройки Excel → Перейти → Поставьте галочку "Пакет анализа".
  2. Выделите исходные данные (например, столбец с возрастом клиентов).
  3. Перейдите в Данные → Анализ данных → Гистограмма.
  4. В поле Входной интервал укажите диапазон данных, в Интервал карманов — диапазон с границами интервалов (например, 18, 25, 35, 45, 55).
  5. Отметьте Вывод графика и нажмите ОК.

Активирована надстройка "Пакет анализа"|Данные очищены от текста и пустых ячеек|Создан столбец с границами интервалов|Проверены выбросы с помощью СТАНДОТКЛОН|Выделен диапазон для выходных данных-->

Способ 2: Формула ЧАСТОТА (универсальный)

Если надстройки нет (например, в Excel Online), используйте функцию ЧАСТОТА:

  1. Создайте столбец с границами интервалов (например, 18, 25, 35, 45, 55).
  2. Выделите диапазон для выходных данных (на 1 ячейку больше, чем число интервалов).
  3. Введите формулу как массивную (нажмите Ctrl+Shift+Enter):
    =ЧАСТОТА(B2:B100;D2:D6)
  4. Постройте столбчатую диаграмму по полученным частотам.
⚠️ Внимание: Если после ввода ЧАСТОТА вы видите только одно значение, значит, забыли нажать Ctrl+Shift+Enter. Формула должна быть заключена в фигурные скобки {...}.
Как изменить ширину столбцов в гистограмме?

Чтобы столбцы гистограммы отражали реальную ширину интервалов, кликните правой кнопкой по оси X → "Выбрать данные" → "Изменить" → в поле "Ширина категории" укажите разницу между границами интервалов (например, 7 для интервалов 18–25, 25–32 и т.д.).

Полигон частот: как сравнить несколько распределений

Полигон частот — это гистограмма, преобразованная в линейный график. Его главное преимущество: на одном графике можно сравнить распределения разных групп (например, возраст мужчин и женщин). В Excel его строят в 2 этапа:

  1. Постройте гистограмму (любым из способов выше).
  2. Добавьте линию:
    • Кликните правой кнопкой по любому столбцу → Изменить тип диаграммы.
    • Выберите Гистограмма с накоплением и график.
    • Удалите столбцы, оставив только линию.

Пример: сравнение распределения доходов в двух городах:

Полигон частот для сравнения доходов в Москве и Питере
  • 🔹 Для наглядности используйте разные цвета линий и добавьте легенду.
  • 🔹 Нормируйте данные, если группы разного размера: разделите частоты на общее число наблюдений в каждой группе.
  • 🔹 Добавьте подписи данных к пикам графика, чтобы подчеркнуть ключевые различия.

Ящик с усами (Box Plot): анализ медианы и выбросов

Excel не имеет встроенного инструмента для построения ящика с усами (box plot), но его можно создать вручную за 5 минут. Этот график показывает:

  • 📦 Медиану (линия внутри ящика).
  • 📦 Квартили (границы ящика: 25-й и 75-й процентили).
  • 📦 Усы — обычно простираются до 1.5 × межквартильного размаха (IQR).
  • 📦 Выбросы — точки за пределами усов.

Инструкция по построению

  1. Рассчитайте ключевые статистики:
    
    

    =КВАРТИЛЬ(диапазон;0) // Минимум

    =КВАРТИЛЬ(диапазон;1) // 25-й процентиль

    =МЕДИАНА(диапазон) // Медиана

    =КВАРТИЛЬ(диапазон;3) // 75-й процентиль

    =КВАРТИЛЬ(диапазон;4) // Максимум

    =КВАРТИЛЬ(диапазон;3)-КВАРТИЛЬ(диапазон;1) // IQR

  2. Постройте диаграмму с областями (Вставка → Диаграмма с областями).
  3. Отформатируйте её:
    • Нижняя граница области = 25-й процентиль.
    • Верхняя граница = 75-й процентиль.
    • Добавьте линии для медианы, усов и выбросов (используйте Вставка → Фигуры → Линия).

Пример готового ящика с усами для анализа времени доставки:

Box Plot для времени доставки в днях
⚠️ Внимание: Если у вас Excel 2016+, используйте диаграмму "Ящик с усами" из коллекции Вставка → Диаграммы → Иерархическая и статистическая. Она автоматизирует расчёты, но доступна только в десктопной версии.

График плотности: сглаженная альтернатива гистограмме

График плотности (или KDE — Kernel Density Estimate) показывает оценку функции плотности вероятности. В отличие от гистограммы, он не зависит от выбора интервалов и даёт плавную кривую. В Excel его строят через:

  1. Надстройку "Анализ данных" (если есть опция Сглаживание).
  2. Ручной расчёт с использованием формулы нормального распределения:
    =НОРМ.РАСП(x;СРЗНАЧ(диапазон);СТАНДОТКЛОН(диапазон);ЛОЖЬ)

    где x — точка на оси X (например, последовательность чисел от минимума до максимума с шагом 1).

  3. Power Query (для продвинутых пользователей): импортируйте данные в Power Query, добавьте столбец с плотностью и постройте график.
  4. Пример формулы для расчёта плотности в ячейке C2 (где B2 — значение X, а A2:A100 — исходные данные):

    =СУММПРОИЗВ(НОРМ.РАСП(B2;$A$2:$A$100;СТАНДОТКЛОН($A$2:$A$100);ЛОЖЬ);1/СЧЁТ($A$2:$A$100))
    • 🌊 Для сглаживания используйте шаг по X в 2–5 раз меньше, чем ширина интервалов в гистограмме.
    • 🌊 Нормализуйте кривую, чтобы площадь под ней равнялась 1 (разделите значения плотности на их сумму).
    • 🌊 Сравнивайте с нормальным распределением, наложив на график кривую =НОРМ.РАСП(x;СРЗНАЧ;СТАНДОТКЛОН;ЛОЖЬ).

Автоматизация: макрос для быстрого построения графиков

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

Sub BuildHistogram()

Dim ws As Worksheet

Dim dataRange As Range, binRange As Range

Dim numBins As Integer, i As Integer

Dim minVal As Double, maxVal As Double, binSize As Double

Set ws = ActiveSheet

Set dataRange = Application.InputBox("Выберите диапазон данных:", Type:=8)

numBins = Application.InputBox("Введите число интервалов:", Type:=1)

minVal = Application.WorksheetFunction.Min(dataRange)

maxVal = Application.WorksheetFunction.Max(dataRange)

binSize = (maxVal - minVal) / numBins

' Создаём интервалы

ReDim bins(1 To numBins + 1)

For i = 0 To numBins

bins(i + 1) = minVal + i * binSize

Next i

' Записываем интервалы на лист

Set binRange = ws.Range("D2").Resize(UBound(bins), 1)

binRange.Value = Application.Transpose(bins)

' Строим гистограмму

ws.Range("E2").FormulaArray = "=FREQUENCY(" & dataRange.Address & "," & binRange.Address & ")"

ws.Range("E2").Resize(numBins + 1).Value = ws.Range("E2").Resize(numBins + 1).Value

' Вставляем диаграмму

ws.ChartObjects.Add(100, 50, 400, 300).Chart.ChartWizard _

Source:=ws.Range(binRange.Offset(0, 1), binRange.Offset(0, 1).Resize(numBins)), _

Gallery:=xlColumnClustered, Title:="Гистограмма распределения"

End Sub

Чтобы использовать макрос:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Закройте редактор и запустите макрос через Разработчик → Макросы (или нажмите Alt+F8).

FAQ: Ответы на частые вопросы

Как изменить ширину столбцов в гистограмме?

Кликните правой кнопкой по оси X → "Формат оси" → в разделе "Параметры оси" установите Ширина категории равной ширине вашего интервала (например, 5 для интервалов 0–5, 5–10).

Можно ли построить график распределения для текстовых данных?

Да, но сначала преобразуйте текст в числовые категории. Например, для распределения по городам присвойте каждому городу номер (Москва=1, Питер=2) и стройте график по этим номерам. Или используйте столбчатую диаграмму с подсчётом частот через СЧЁТЕСЛИ.

Почему моя гистограмма выглядит "рваной"?

Это происходит из-за:

  1. Слишком малого числа наблюдений (менее 20). Решение: соберите больше данных.
  2. Неудачно выбранных интервалов. Решение: используйте правило Старджесса для определения их числа:
    =ОКРУГЛВВЕРХ(1+3.322*LOG(СЧЁТ(диапазон));0)
Как экспортировать график распределения в PowerPoint?

Выделите график → Главная → Копировать → Вставьте в PowerPoint через Специальная вставка → Объект листа Microsoft Excel. Это сохранит связь с исходными данными: при их изменении график обновится.

Есть ли в Excel график распределения для временных рядов?

Для временных данных используйте:

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