Вы пытаетесь подсчитать, сколько раз повторяется каждое значение в столбце Excel, но функция СЧЁТЕСЛИ выдаёт ошибку #ЗНАЧ!, а ручной подсчёт занимает часы? Проблема в 90% случаев кроется в неправильном использовании массива формул или неверно заданных диапазонах. В этой статье разберём, как правильно применять функцию ЧАСТОТА, строить гистограммы частот и автоматизировать подсчёт через сводные таблицы — с учётом нюансов для числовых и текстовых данных.
Например, если у вас есть столбец с оценками студентов (от 2 до 5) и нужно узнать, сколько двоек, троек и так далее — классическая функция ЧАСТОТА справится за 3 шага. Но если данные текстовые (например, названия городов), потребуется другой подход. Мы покажем оба варианта, а также раскроем скрытую особенность: почему функция возвращает лишние нули и как их убрать без ручной правки.
1. Функция ЧАСТОТА: синтаксис и базовый пример
Функция ЧАСТОТА(диапазон_данных; диапазон_карманов) возвращает массив чисел, показывающих, сколько значений из первого диапазона попадает в каждый «карман» (интервал) второго диапазона. Ключевая особенность: это формула массива, поэтому вводить её нужно нажатием Ctrl+Shift+Enter (в новых версиях Excel 365 — просто Enter, но массив всё равно создаётся).
Рассмотрим пример. Допустим, у вас в столбце A2:A20 находятся возрасты сотрудников (от 18 до 65 лет), а в D2:D5 — границы интервалов: 18, 30, 45, 65. Чтобы посчитать количество людей в каждом возрастном диапазоне:
- Выделите ячейки, где будет результат (например,
E2:E6— на одну строку больше, чем карманы!). - Введите формулу:
=ЧАСТОТА(A2:A20; D2:D5). - Завершите ввод
Ctrl+Shift+Enter.
Результат покажет количество людей в интервалах:
- 🔹 18–29 лет (включительно до 30)
- 🔹 30–44 лет
- 🔹 45–64 лет
- 🔹 65 и старше (последний карман захватывает всё, что выше верхней границы)
2. Почему ЧАСТОТА выдаёт лишние нули и как их убрать
Частая ошибка: функция возвращает массив с лишними нулями в конце. Это происходит потому, что ЧАСТОТА всегда создаёт на один элемент больше, чем карманов — для значений, превышающих верхнюю границу. Например, если у вас 3 кармана, результат будет из 4 чисел.
Чтобы убрать лишние нули:
- Используйте функцию
ЕСЛИОШИБКАдля обрезки:=ЕСЛИОШИБКА(ИНДЕКС(ЧАСТОТА(...); СТРОКА(1:1)); ""). - Или просто скрывайте лишнюю строку через форматирование (правый клик →
Скрыть).
Подробнее про ИНДЕКС и СТРОКА
Эти функции позволяют динамически извлекать только нужные элементы массива. Формула СТРОКА(1:1) генерирует последовательность 1, 2, 3..., а ИНДЕКС возвращает значение из массива ЧАСТОТЫ по этому номеру.
⚠️ Внимание: Если в диапазоне карманов есть пустые ячейки, Excel воспримет их как 0. Это исказит результаты — всегда заполняйте границы интервалов!
3. Частота для текстовых данных: альтернативные методы
Функция ЧАСТОТА работает только с числами. Для подсчёта повторений текстовых значений (например, названий городов или категорий товаров) используйте:
- 📊 Сводные таблицы: Выделите данные →
Вставка → Сводная таблица→ перетащите поле в область «Значения» (по умолчанию посчитает количество). - 🔢 Функция СЧЁТЕСЛИ:
=СЧЁТЕСЛИ(A:A; "Москва")— подсчитает все вхождения слова «Москва» в столбцеA. - 📈 Уникальные + СЧЁТЕСЛИМН: Для динамического списка уникальных значений и их частот используйте комбинацию
УНИК(в Excel 365) +СЧЁТЕСЛИМН.
Пример для Excel 365:
=СЧЁТЕСЛИМН($A$2:$A$100; УНИК(A2:A100))
Эта формула вернёт массив с количеством каждого уникального значения в столбце A.
4. Построение гистограммы частот
Визуализировать распределение частот удобно через гистограмму. Алгоритм:
- Выделите исходные данные и диапазон карманов.
- Перейдите на вкладку
Вставка → Вставить статистическую гистограмму(в Excel 2016+). - В открывшемся окне укажите:
- 📌
Диапазон входных данных— ваши исходные числа. - 📌
Диапазон карманов— границы интервалов.
- 📌
ОК — гистограмма построится автоматически.Если гистограмма не отображается, проверьте:
- 🔴 Нет ли в данных текстовых значений (они игнорируются).
- 🔴 Совпадает ли количество карманов с ожидаемым (например, для 3 интервалов нужно 4 границы: 0–10, 10–20, 20–30, >30).
| Тип данных | Подходящий метод | Пример формулы |
|---|---|---|
| Числовые (возраст, оценки) | Функция ЧАСТОТА |
=ЧАСТОТА(A2:A100; D2:D5) |
| Текстовые (города, категории) | Сводная таблица или СЧЁТЕСЛИ |
=СЧЁТЕСЛИ(A:A; "Москва") |
| Дата/время | ЧАСТОТА + преобразование в числа |
=ЧАСТОТА(ДАТАЗНАЧ(A2:A100); D2:D5) |
| Динамические данные | Power Query или УНИК+СЧЁТЕСЛИМН |
=СЧЁТЕСЛИМН($A$2:$A$100; УНИК(A2:A100)) |
5. Распространённые ошибки и как их исправить
Ошибки при работе с частотой в Excel делятся на 3 категории: синтаксические, логические и ошибки диапазонов. Разберём каждую.
- 🚨 #ЗНАЧ!: Возникает, если диапазон результатов не выделен заранее или формула введена не как массив. Решение: выделите нужное количество ячеек и нажмите
Ctrl+Shift+Enter. - 🚨 #ДЕЛ/0!: Диапазон карманов пуст или содержит нечисловые значения. Проверьте данные на текст (например, ячейка выглядит как число, но хранится как текст).
- 🚨 Лишние нули: Как упоминалось ранее, функция всегда возвращает на один элемент больше. Используйте
ИНДЕКСдля обрезки. - 🚨 Неверные интервалы: Если границы карманов заданы не по возрастанию (например, 10, 5, 20), функция отсортирует их автоматически, но это может исказить логику подсчёта.
⚠️ Внимание: В Excel Online и мобильной версии функция ЧАСТОТА работает иначе — она не требует ввода как формулы массива, но может не поддерживать динамические массивы. Проверяйте результат визуально!
☑️ Проверка перед использованием ЧАСТОТЫ
6. Продвинутые приёмы: динамические массивы и Power Query
Для больших наборов данных (10 000+ строк) или частых обновлений используйте:
- 🔄 Power Query:
- Выделите данные →
Данные → Получить данные → Из таблицы/диапазона. - В редакторе Power Query выберите столбец →
Группировка→ укажите операциюCount Rows. - Загрузите результат обратно в Excel.
- Выделите данные →
=СОРТИРОВКАПОСТОЛБЦУ(УНИК(A2:A100); СЧЁТЕСЛИМН(A2:A100; УНИК(A2:A100)); -1)
Эта формула вернёт отсортированный по убыванию список уникальных значений с их частотами.
Преимущество Power Query: обработка миллионов строк без тормозов, возможность объединять данные из нескольких источников. Минус: требует изучения интерфейса. Для разовых задач проще использовать сводные таблицы.
7. Автоматизация: макросы для частотного анализа
Если вам регулярно нужно считать частоты по одному шаблону, запишите макрос:
- Откройте редактор VBA:
Alt + F11. - Создайте новый модуль:
Вставка → Модуль. - Вставьте код:
Sub CountFrequency()Dim rngData As Range, rngBins As Range, rngOutput As Range
Set rngData = Application.InputBox("Выберите диапазон данных", Type:=8)
Set rngBins = Application.InputBox("Выберите диапазон карманов", Type:=8)
Set rngOutput = rngBins.Offset(0, 1).Resize(rngBins.Rows.Count + 1)
rngOutput.FormulaArray = "=FREQUENCY(" & rngData.Address & "," & rngBins.Address & ")"
End Sub
- Запустите макрос:
F5.
Макрос запросит диапазоны данных и карманов, а затем автоматически вставит формулу ЧАСТОТА в соседние ячейки. Подходит для Excel 2010–2019.
⚠️ Внимание: Макросы работают только в файлах с расширением.xlsm. Если ваш файл в формате.xlsx, сохраните его какКнига Excel с поддержкой макросов.
Часто задаваемые вопросы
Можно ли использовать ЧАСТОТУ для подсчёта уникальных значений?
Нет, ЧАСТОТА считает количество вхождений в интервалы, а не уникальные значения. Для подсчёта уникальных используйте =СЧЁТЕСЛИ(диапазон; критерий) для каждого значения или функцию УНИК в Excel 365.
Почему моя гистограмма показывает неверные интервалы?
Скорее всего, вы не указали диапазон карманов при создании гистограммы. По умолчанию Excel разбивает данные на равные интервалы автоматически, что может не совпадать с вашей логикой. Всегда задавайте карманы вручную.
Как посчитать частоту для дат (например, по месяцам)?summary>
Преобразуйте даты в числа с помощью =МЕСЯЦ(A2) или =ГОД(A2)&"-"&МЕСЯЦ(A2), затем применяйте ЧАСТОТУ или сводную таблицу. Например, для подсчёта количества записей по месяцам:
=ЧАСТОТА(МЕСЯЦ(A2:A100); {1;2;3;4;5;6;7;8;9;10;11;12})
=МЕСЯЦ(A2) или =ГОД(A2)&"-"&МЕСЯЦ(A2), затем применяйте ЧАСТОТУ или сводную таблицу. Например, для подсчёта количества записей по месяцам:=ЧАСТОТА(МЕСЯЦ(A2:A100); {1;2;3;4;5;6;7;8;9;10;11;12})Чем отличается ЧАСТОТА от СЧЁТЕСЛИ?
ЧАСТОТА работает с интервалами чисел (например, 10–20, 20–30), а СЧЁТЕСЛИ считает вхождения конкретного значения (например, сколько раз встречается число 15). Для текстовых данных ЧАСТОТА не подходит — используйте СЧЁТЕСЛИ.
Можно ли обновить результаты ЧАСТОТЫ автоматически?
Да, если исходные данные или карманы изменяются, результаты ЧАСТОТЫ обновятся при пересчёте листа (F9). Для динамического обновления в Excel 365 используйте функции УНИК + СЧЁТЕСЛИМН — они реагируют на изменения в реальном времени.