Вы когда-нибудь тратили часы на ручной подсчёт повторяющихся товаров в прайс-листе или клиентов в базе данных? В Microsoft Excel эта задача решается за минуты — если знать правильные инструменты. Подсчёт количества определённых названий (или любых других текстовых/числовых значений) встречается в 80% рабочих задач: от инвентаризации склада до анализа продаж. Но большинство пользователей до сих пор копируют данные в столбец, сортируют их и считают вручную. Это не просто медленно — это ошибкоопасно.
В этой статье разберём 5 профессиональных методов: от базовой функции СЧЁТЕСЛИ до автоматизации через Power Query. Вы узнаете, как считать точные совпадения, учитывать регистр, работать с частичными вхождениями (например, "ноутбук *" для всех моделей ноутбуков) и даже анализировать данные из нескольких листов одновременно. А ещё — как избежать самой распространённой ошибки, из-за которой Excel "не видит" повторяющиеся значения.
Спойлер: для 90% задач хватит комбинации СЧЁТЕСЛИМН + ТАБЛИЦА. Но если вам нужно обработать 50 000 строк с условиями по 3-м критериям — читайте до конца, там будет про Dynamic Arrays и LAMBDA.
1. Базовый метод: функция СЧЁТЕСЛИ для точных совпадений
Функция СЧЁТЕСЛИ (COUNTIF в английской версии) — это "скорую помощь" для подсчёта повторений. Она работает с одним критерием и подходит, когда нужно посчитать, сколько раз встречается точное название (например, "iPhone 15 Pro", а не "iPhone 15 Pro Max").
Синтаксис простой:
=СЧЁТЕСЛИ(диапазон_поиска; критерий)
Пример: подсчёт количества заказов модели "Samsung Galaxy S23" в столбце A2:A100:
=СЧЁТЕСЛИ(A2:A100; "Samsung Galaxy S23")
- 📌 Плюсы: работает во всех версиях Excel (начиная с 2003), быстро считает даже в больших диапазонах (до 1 млн строк).
- ⚠️ Минусы: не различает регистр ("iphone" и "iPhone" для неё — одно и то же), не умеет считать по нескольким условиям одновременно.
- 🔍 Лайфхак: если критерий хранится в другой ячейке (например,
D1), используйте ссылку:=СЧЁТЕСЛИ(A2:A100; D1).
⚠️ Внимание: Если в диапазоне есть пустые ячейки,СЧЁТЕСЛИпроигнорирует их. Но если ячейка содержит формулу, возвращающую пустую строку (""), она будет учтена как значение!
Для проверки напишите в ячейке =СЧЁТЕСЛИ(A2:A100; "") — если результат > 0, в данных есть "пустые строки", которые могут искажать подсчёт.
2. СЧЁТЕСЛИМН: подсчёт по нескольким условиям
Когда нужно посчитать повторения с учётом двух и более критериев, на помощь приходит СЧЁТЕСЛИМН (COUNTIFS). Например, сколько раз "iPhone 14" был продан в "Москве" за "январь 2026".
Синтаксис:
=СЧЁТЕСЛИМН(диапазон1; условие1; [диапазон2; условие2]; ...)
Пример для таблицы с колонками A (модель), B (город), C (дата):
=СЧЁТЕСЛИМН(A2:A100; "iPhone 14"; B2:B100; "Москва"; C2:C100; ">31.12.2023")
| Формула | Пример условия | Результат |
|---|---|---|
=СЧЁТЕСЛИМН(A:A; "Ноутбук"; B:B; ">10000") | Ноутбуки дороже 10 000 ₽ | 12 |
=СЧЁТЕСЛИМН(A:A; "Pro"; C:C; "Да") | Модели с "Pro" в названии и флажком "В наличии" | 5 |
=СЧЁТЕСЛИМН(D:D; ">="&SEГОДНЯ()-30) | Заказы за последние 30 дней | 45 |
Критичный нюанс: диапазоны в СЧЁТЕСЛИМН должны быть одинакового размера. Если в первом диапазоне 100 строк, а во втором — 99, Excel вернёт ошибку #ЗНАЧ!.
- 🔄 Динамические диапазоны: вместо
A2:A100используйтеA:A(весь столбец), но это может замедлить пересчёт в больших файлах. - 📅 Даты: для периода "с 1 по 31 января" пишите:
=СЧЁТЕСЛИМН(C:C; ">="&ДАТА(2026;1;1); C:C; "<="&ДАТА(2026;1;31)). - 🚫 Ошибка #ИМЯ?: появляется, если в критерии используете текст без кавычек (например,
=СЧЁТЕСЛИМН(A:A; iPhone)вместо"iPhone").
Убедитесь, что диапазоны одинакового размера|Заключите текстовые критерии в кавычки|Для дат используйте функцию ДАТА()|Проверьте отсутствие скрытых символов (пробелов, неразрывных пробелов) в данных-->
3. Подсчёт с учётом регистра (точные совпадения)
По умолчанию Excel игнорирует регистр: "IPHONE" и "iPhone" для него — одно и то же. Но что если нужно посчитать именно "Samsung" с большой буквы, исключив "samsung"? Здесь поможет комбинация функций СУММПРОИЗВ + ТОЧНОЕ (или EXACT в английской версии).
Формула для подсчёта точных совпадений с учётом регистра:
=СУММПРОИЗВ(--(ТОЧНОЕ(диапазон; критерий)))
Пример: подсчёт ячеек в A2:A100, которые точно равны "Nokia 3310" (включая регистр):
=СУММПРОИЗВ(--(ТОЧНОЕ(A2:A100; "Nokia 3310")))
- ⚡ Как работает:
ТОЧНОЕвозвращаетИСТИНА/ЛОЖЬ, а двойной минус (--) преобразует их в 1 и 0 для суммирования. - ⚠️ Ограничение: в старых версиях Excel (до 2019) формула должна вводиться как массивная — нажать
Ctrl+Shift+Enter. - 🔍 Альтернатива: в Excel 365 можно использовать
=СЧЁТ(ФИЛЬТР(A2:A100; A2:A100="Nokia 3310")).
Если вам нужно посчитать уникальные значения с учётом регистра, комбинируйте эту формулу с УНИК (в Excel 365):
=СТРОКА(УНИК(ФИЛЬТР(A2:A100; A2:A100<>"")))
4. Частичные совпадения: подсчёт по шаблону
Часто нужно посчитать не точные названия, а ячейки, содержащие определённое слово или комбинацию. Например, все модели iPhone (независимо от версии) или товары с артикулом, начинающимся на "ART-". Для этого используйте подстановочные знаки:
*— любое количество символов (например,"Pro"найдёт "iPhone 15 Pro" и "MacBook Pro").?— один любой символ (например,"Art-?"найдёт "Art-1", но не "Art-10").~— экранирование (если нужно найти сам символили?, пишите"~").
Примеры формул:
=СЧЁТЕСЛИ(A2:A100; "iPhone")
=СЧЁТЕСЛИ(A2:A100; "ART-???")
=СЧЁТЕСЛИ(A2:A100; ""&D1&"")
| Задача | Формула | Пример результата |
|---|---|---|
| Все email адреса | =СЧЁТЕСЛИ(A:A; "@") | 156 |
| Телефоны в формате +7(XXX)XXX-XX-XX | =СЧЁТЕСЛИ(A:A; "+7(???)???-??-??") | 89 |
| Товары с ценой >1000 в названии | =СЧЁТЕСЛИМН(A:A; "*"; B:B; ">1000") | 42 |
⚠️ Внимание: Подстановочные знаки вСЧЁТЕСЛИработают только с текстовыми данными. Если вы ищете числа (например,"1*"для чисел 10—19), Excel вернёт 0 — сначала преобразуйте числа в текст функциейТЕКСТ.
Как посчитать ячейки с формулами, возвращающими текст?
Используйте комбинацию СУММПРОИЗВ + ЕЧИСЛО:
=СУММПРОИЗВ(--(ЕЧИСЛО(НАЙТИ("iPhone"; A2:A100))))
Эта формула проверяет, содержится ли "iPhone" в каждой ячейке диапазона, и возвращает количество совпадений. В Excel 365 можно упростить до:
=СЧЁТ(ФИЛЬТР(A2:A100; ЕЧИСЛО(НАЙТИ("iPhone"; A2:A100))))
5. Сводные таблицы: визуальный анализ повторений
Если вам нужно не только посчитать повторения, но и проанализировать их распределение (например, "какие модели продаются чаще всего"), сводные таблицы (PivotTable) — идеальный инструмент. Они автоматически группируют данные и строят частотный анализ.
Алгоритм создания:
- Выделите исходный диапазон (включая заголовки столбцов).
- Перейдите на вкладку
Вставка→Сводная таблица. - В поле
Строкиперетащите столбец с названиями (например, "Модель товара"). - В поле
Значенияперетащите тот же столбец — Excel автоматически посчитает количество уникальных значений.
Преимущества метода:
- 📊 Интерактивность: можно сортировать по убыванию, фильтровать топ-10, добавлять срезы.
- 🔄 Динамическое обновление: при изменении исходных данных достаточно нажать "Обновить".
- 📌 Группировка: сводные таблицы умеют объединять даты по месяцам/квадратам, числа по диапазонам.
⚠️ Внимание: Если в данных есть пустые ячейки или ошибки (#Н/Д), сводная таблица может показывать некорректные итоги. Перед созданием очистите данные функцией=ЕПУСТО()или=ЕОШИБКА().
Для автоматизации добавьте в исходную таблицу умный столбец с категориями (например, "Бюджетный", "Премиум") и используйте его в сводной таблице для многоуровневого анализа.
6. Power Query: обработка больших данных
Если у вас десятки тысяч строк или данные разбросаны по нескольким файлам/листам, ручные методы будут тормозить. Здесь на помощь приходит Power Query (вкладка Данные → Получить данные). Этот инструмент позволяет:
- 📂 Объединять данные из нескольких источников (Excel, CSV, SQL, веб).
- 🔍 Фильтровать и трансформировать данные без формул.
- 📊 Создавать автоматически обновляемые отчёты.
Пошаговая инструкция для подсчёта повторений:
- Выделите исходный диапазон →
Данные→Из таблицы/диапазона(откроется Power Query). - Выберите столбец с названиями → вкладка
Преобразование→Группировка. - В окне группировки укажите:
- Столбец: ваш столбец с названиями.
- Новое имя столбца: "Количество".
- Операция:
Count Rows(подсчёт строк).
Закрыть и загрузить — получите таблицу с уникальными значениями и их количеством.Power Query сохраняет все шаги преобразования, поэтому при обновлении исходных данных достаточно кликнуть "Обновить все" на вкладке Данные.
7. Продвинутые методы: LAMBDA и Dynamic Arrays
Для пользователей Excel 365 и 2021 доступны динамические массивы и пользовательские функции LAMBDA, которые позволяют создавать гибкие решения для подсчёта.
Пример 1: Подсчёт уникальных значений с условием (например, модели, которые продавались >5 раз):
=СЧЁТ(УНИК(ФИЛЬТР(A2:A100; СЧЁТЕСЛИ(A2:A100; A2:A100)>5)))
Пример 2: Создание своей функции для подсчёта с учётом регистра:
=LAMBDA(диапазон; критерий;
СУММПРОИЗВ(--(ТОЧНОЕ(диапазон; критерий)))
)(A2:A100; "Excel")
Чтобы использовать эту функцию многократно, присвойте ей имя через Диспетчер имен (вкладка Формулы).
Пример 3: Подсчёт повторений с выводом топ-3:
=ВЫБРАТЬ(
СОРТИРОВКА(
УНИК(A2:A100);
УНИК(A2:A100);
-1;
СЧЁТЕСЛИ(A2:A100; УНИК(A2:A100))
);
{1;2;3};
2
)
Эта формула вернёт три самых частых значения в диапазоне.
⚠️ Внимание: Формулы с динамическими массивами могут значительно замедлить файл, если применены к большим диапазонам (например,A:A). Ограничивайте диапазоны реальным количеством данных (например,A2:A&МАКС(ЕСЛИ(A:A<>""; СТРОКА(A:A)))).
FAQ: Ответы на частые вопросы
Можно ли посчитать повторения в нескольких листах одновременно?
Да, используйте 3D-ссылки или Power Query:
- Для 3D-ссылок:
=СЧЁТЕСЛИ(Лист1:Лист3!A:A; "iPhone")— посчитает во всех листах отЛист1доЛист3. - В Power Query: объедините листы через
Добавление запроса→Из файла→Объединить.
Ограничение 3D-ссылок: листы должны иметь одинаковую структуру.
Почему СЧЁТЕСЛИ возвращает 0, хотя значения есть?
Причины и решения:
- 🔹 Лишние пробелы: используйте
=СЖПРОБЕЛЫ(A2)для очистки. - 🔹 Неразрывные пробелы: замените их на обычные через
=ПОДСТАВИТЬ(A2; СИМВОЛ(160); " "). - 🔹 Разный регистр: приведите данные к одному регистру (
=ПРОПИСН(A2)). - 🔹 Числа vs текст: если ищете число "1000", а в ячейке текст "1000", используйте
=СЧЁТЕСЛИ(A:A; ТЕКСТ(1000)).
Как посчитать уникальные значения в фильтрованном диапазоне?
В Excel 365:
=СЧЁТ(УНИК(ФИЛЬТР(A2:A100; (A2:A100<>"")*(B2:B100="Да"))))
Эта формула посчитает уникальные значения в столбце A, где в столбце B стоит "Да".
В старых версиях: используйте вспомогательный столбец с формулой =ЕСЛИ(B2="Да"; A2; ""), затем примените СЧЁТЕСЛИ к этому столбцу.
Можно ли автоматически обновлять подсчёт при добавлении новых данных?
Да, для этого:
- Используйте умные таблицы (
Ctrl+T): формулы внутри них автоматически расширяются. - В Power Query настройте
Обновить при открытии файла(свойства запроса). - Для сводных таблиц: включите
Обновить при изменении данныхв настройках.
Для полной автоматизации создайте макрос с триггером на событие Worksheet_Change.
Как экспортировать результаты подсчёта в отдельный файл?
Способы:
- Скопируйте результаты (например, сводную таблицу) →
Специальная вставка→Значенияв новый файл. - В Power Query после группировки выберите
Закрыть и загрузить в...→Новая книга. - Используйте VBA-скрипт для экспорта:
ActiveWorkbook.SaveAs "Путь\к\файлу.xlsx", FileFormat:=51