Как посчитать в Excel количество ячеек с разным значением: от простых формул до Power Query

Подсчёт уникальных значений в Microsoft Excel — задача, с которой сталкивается каждый второй аналитик. Казалось бы, что может быть проще: выбрать диапазон и получить количество разных ячеек. Но стандартных функций вроде СЧЁТ или СЧЁТЗ здесь недостаточно — они считают все заполненные ячейки, игнорируя повторения. А вот как вычленить именно уникальные значения — вопрос, на который есть минимум 5 ответов в зависимости от версии Excel и структуры данных.

В этой статье разберём все актуальные методы: от элементарных формул для новичков до продвинутых инструментов вроде Power Query и Dynamic Arrays (доступных в Excel 365). Особое внимание уделим типичным ошибкам, которые искажают результат — например, когда функция учитывает пустые ячейки или регистр букв. Вы узнаете, как обойти эти подводные камни и получить точный подсчёт даже в больших таблицах с десятками тысяч строк.

Для наглядности будем работать с примером: список продаж с повторяющимися названиями товаров. Наша цель — посчитать, сколько разных товаров было продано, игнорируя дубли. Все методы протестированы на Excel 2010–2023 и Excel для Mac, с указанием особенностей для каждой версии.

1. Способ для новичков: функция СЧЁТЕСЛИМНЫЙ с вспомогательным столбцом

Это самый универсальный метод, который работает во всех версиях Excel, включая Excel 2010. Его главный плюс — простота и прозрачность логики. Минус — потребуется добавить вспомогательный столбец, что не всегда удобно для больших таблиц.

Алгоритм действий:

  1. Добавьте справа от ваших данных новый столбец (например, Вспомогательный).
  2. В первую ячейку этого столбца (например, B2) введите формулу:
    =СЧЁТЕСЛИ($A$2:$A2; $A2)=1

    Здесь $A$2:$A2 — это диапазон с абсолютной ссылкой на первую ячейку и относительной на последнюю. Формула проверяет, встречается ли значение из A2 в диапазоне выше него впервые.

  3. Растяните формулу на все строки вашего диапазона.
  4. В любой свободной ячейке используйте =СУММ(столбец_со_вспомогательными_данными), чтобы посчитать количество ИСТИНА (они автоматически преобразуются в 1).

Почему это работает? Формула возвращает ИСТИНА (или 1) только для первого вхождения каждого уникального значения. Все последующие дубли дадут ЛОЖЬ (0). Суммируя единицы, мы получаем количество уникальных значений.

⚠️ Внимание: Если в ваших данных есть пустые ячейки, они тоже будут учитываться как уникальные! Чтобы их игнорировать, модифицируйте формулу:
=ЕСЛИ($A2="";"";СЧЁТЕСЛИ($A$2:$A2; $A2)=1)

Пример для данных в столбце A2:A10:

Товар (A)Вспомогательный (B)
Яблоки=СЧЁТЕСЛИ($A$2:$A2;A2)=1 → 1
Бананы=СЧЁТЕСЛИ($A$2:$A3;A3)=1 → 1
Яблоки=СЧЁТЕСЛИ($A$2:$A4;A4)=1 → 0
Апельсины=СЧЁТЕСЛИ($A$2:$A5;A5)=1 → 1

Итоговая формула: =СУММ(B2:B10) вернёт 3 (Яблоки, Бананы, Апельсины).

📊 Какую версию Excel вы используете?
Excel 2010-2019
Excel 365 (или 2021)
Excel для Mac
Excel Online
Другую

2. Формула массива: СУММПРОИЗВ для уникальных значений (без вспомогательного столбца)

Этот метод подходит для пользователей, которые не хотят добавлять лишние столбцы. Он использует формулу массива, которая анализирует весь диапазон сразу. Работает в Excel 2010–2019, но требует особого ввода.

Формула для подсчёта уникальных значений в диапазоне A2:A100:

=СУММПРОИЗВ(1/СЧЁТЕСЛИ(A2:A100; A2:A100))

Важно! После ввода формулы нажмите Ctrl+Shift+Enter (вместо обычного Enter), чтобы активировать режим массива. В строке формул появятся фигурные скобки: {=СУММПРОИЗВ(...)}.

Как это работает:

  • 🔹 СЧЁТЕСЛИ(A2:A100; A2:A100) создаёт массив, где каждому значению соответствует количество его повторений в диапазоне. Например, для списка ["Яблоки", "Бананы", "Яблоки"] массив будет [2, 1, 2].
  • 🔹 1/... заменяет каждое число на его обратную величину: [0.5, 1, 0.5].
  • 🔹 СУММПРОИЗВ суммирует эти дроби, что эквивалентно подсчёту уникальных значений (в примере результат — 2).
⚠️ Внимание: Формула чувствительна к регистру! "Яблоки" и "яблоки" будут считаться разными значениями. Чтобы игнорировать регистр, используйте:
=СУММПРОИЗВ(1/СЧЁТЕСЛИ(ПРОПИСН(A2:A100); ПРОПИСН(A2:A100)))

Критическая особенность: если в диапазоне есть пустые ячейки, формула вернёт ошибку #ДЕЛ/0!. Чтобы этого избежать, модифицируйте её:

=СУММПРОИЗВ(--(A2:A100<>""); 1/СЧЁТЕСЛИ(A2:A100; A2:A100&""))

3. Функция УНИК в Excel 365 и 2021: самый простой способ

Если вы используете Excel 365 или Excel 2021, у вас есть доступ к динамическим массивам и функции УНИК (UNIQUE). Это революционное нововведение, которое упрощает работу с уникальными значениями до одного шага.

Формула для подсчёта уникальных значений в диапазоне A2:A100:

=СТРОКА(УНИК(A2:A100))

Но чаще удобнее комбинировать УНИК с СЧЁТ:

=СЧЁТ(УНИК(A2:A100))

Преимущества метода:

  • 🔹 Не требует вспомогательных столбцов или формул массива.
  • 🔹 Автоматически обновляется при изменении исходных данных.
  • 🔹 Можно вывести не только количество, но и сами уникальные значения (просто используйте =УНИК(A2:A100)).

Пример вывода уникальных значений и их количества:

Исходные данные (A)ФормулаРезультат
Яблоки=УНИК(A2:A5)Яблоки
Бананы
Апельсины
Бананы
Яблоки
Апельсины
=СЧЁТ(УНИК(A2:A5))3

4. Сводная таблица: визуальный подсчёт уникальных значений

Сводные таблицы — это универсальный инструмент, который подходит для любых версий Excel и позволяет не только посчитать уникальные значения, но и проанализировать их распределение. Метод идеален для больших наборов данных (тысячи строк), где формулы могут тормозить.

Пошаговая инструкция:

  1. Выделите диапазон с данными (включая заголовки).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В окне создания сводной таблицы выберите, куда поместить результат (например, на новый лист).
  4. В области Названия строк перетащите столбец, по которому нужно посчитать уникальные значения (например, Товар).
  5. В область Значения перетащите тот же столбец. По умолчанию Excel посчитает количество вхождений (Счёт).
  6. Щёлкните по полю в области ЗначенияПараметры полей значений → выберите Число уникальных значений (в новых версиях Excel) или Другие функции_distinctcount_Power Pivot).

Если опция Число уникальных значений недоступна (например, в Excel 2010), используйте обходной путь:

  • 🔹 Добавьте в сводную таблицу поле со счётом (как в шаге 5).
  • 🔹 Скопируйте список уникальных значений из строки сводной таблицы в отдельный столбец.
  • 🔹 Используйте =СЧЁТЗ для подсчёта количества строк.

Удалите пустые строки в исходных данных

Проверьте, что заголовки столбцов уникальны

Убедитесь, что нет объединённых ячеек

Сохраните файл перед созданием сводной таблицы-->

Плюсы метода:

  • 🔹 Работает с миллионами строк (в отличие от формул).
  • 🔹 Позволяет анализировать уникальные значения по нескольким критериям (например, "уникальные товары в каждом регионе").
  • 🔹 Визуально наглядно — можно сразу увидеть распределение.
⚠️ Внимание: В Excel 2010–2016 функция _distinctcount_ доступна только при подключении надстройки Power Pivot. Чтобы её активировать, перейдите в Файл → Параметры → Надстройки → Управление: Надстройки COM → Power Pivot.

5. Power Query: автоматизация для больших данных

Power Query (или Get & Transform в новых версиях) — это инструмент для продвинутых пользователей, который позволяет обрабатывать данные без формул. Он идеален для регулярных отчётов, где нужно ежемесячно считать уникальные значения в больших таблицах.

Инструкция по подсчёту уникальных значений:

  1. Выделите ваш диапазон и перейдите на вкладку ДанныеИз таблицы/диапазонаExcel 2016+) или Power QueryИз таблицыExcel 2010–2013 с надстройкой).
  2. В открывшемся редакторе Power Query выберите столбец, по которому нужно посчитать уникальные значения.
  3. На вкладке Главная или Преобразование нажмите Группировка по (Group By).
  4. В окне группировки выберите:
    • Столбец: ваш столбец с данными.
    • Новое имя столбца: например, Уникальные значения.
    • Операция: Количество различных значений (Count (Distinct)).
  • Нажмите Закрыть и загрузить, чтобы вернуть результат в Excel.
  • Результат будет выглядеть как таблица с одним значением — количеством уникальных ячеек в выбранном столбце.

    Преимущества Power Query:

    • 🔹 Обрабатывает миллионы строк без замедления.
    • 🔹 Позволяет комбинировать несколько столбцов для подсчёта уникальных комбинаций (например, "Товар + Регион").
    • 🔹 Автоматически обновляет данные при изменении исходного диапазона.
    Как посчитать уникальные значения по нескольким столбцам?

    В окне группировки (Group By) добавьте несколько столбцов в поле "Столбец", удерживая Ctrl. Например, выберите Товар и Цвет, чтобы посчитать уникальные пары. Операцию оставьте Count (Distinct).

    Важный нюанс: Power Query по умолчанию учитывает регистр! Чтобы игнорировать регистр, перед группировкой добавьте новый столбец с функцией преобразования текста в верхний регистр (Text.Upper в языке M), а затем группируйте по нему.

    6. Частые ошибки и как их избежать

    Даже опытные пользователи Excel сталкиваются с ошибками при подсчёте уникальных значений. Вот самые распространённые ловушки и способы их обхода:

    Ошибка 1: Пустые ячейки считаются как уникальные значения

    • 🔹 Причина: Формулы вроде СЧЁТЕСЛИМНЫЙ или СУММПРОИЗВ воспринимают пустые ячейки как отдельные значения.
    • 🔹 Решение: Добавьте условие игнорирования пустот:
      =СУММПРОИЗВ(--(A2:A100<>""); 1/СЧЁТЕСЛИ(A2:A100; A2:A100&""))

    Ошибка 2: Чувствительность к регистру

    • 🔹 Причина: "Яблоки" и "яблоки" считаются разными значениями.
    • 🔹 Решение: Приведите все значения к одному регистру с помощью ПРОПИСН, СТРОЧН или ПРОПНАЧ:
      =СУММПРОИЗВ(1/СЧЁТЕСЛИ(ПРОПИСН(A2:A100); ПРОПИСН(A2:A100)))

    Ошибка 3: Ошибка #ЧИСЛО! в формулах массива

    • 🔹 Причина: Диапазон содержит ошибки (например, #Н/Д) или несовместимые типы данных.
    • 🔹 Решение: Очистите данные от ошибок или используйте ЕСЛИОШИБКА:
      =СУММПРОИЗВ(1/СЧЁТЕСЛИ(ЕСЛИОШИБКА(A2:A100;""); ЕСЛИОШИБКА(A2:A100;"")))

    Ошибка 4: Дубликаты с пробелами или невидимыми символами

    • 🔹 Причина: Ячейки выглядят одинаково, но содержат лишние пробелы или непечатаемые символы (например, после импорта из CSV).
    • 🔹 Решение: Очистите данные с помощью СЖПРОБЕЛЫ и ПЕЧСИМВ:
      =СУММПРОИЗВ(1/СЧЁТЕСЛИ(СЖПРОБЕЛЫ(A2:A100); СЖПРОБЕЛЫ(A2:A100)))

    7. Сравнение методов: какой выбрать?

    Выбор метода зависит от версии Excel, размера данных и ваших задач. В таблице ниже — сравнение всех способов:

    Метод Версии Excel Макс. размер данных Требует вспомогательных столбцов Учитывает регистр Скорость работы
    СЧЁТЕСЛИМНЫЙ + вспомогательный столбец 2010–2023 ~10 000 строк Да Да Средняя
    СУММПРОИЗВ (формула массива) 2010–2023 ~50 000 строк Нет Да Медленная на больших данных
    Функция УНИК 365, 2021 ~1 000 000 строк Нет Да Быстрая
    Сводная таблица 2010–2023 ~1 000 000 строк Нет Да Очень быстрая
    Power Query 2010–2023 (надстройка для 2010–2013) >1 000 000 строк Нет Да Самая быстрая

    Рекомендации по выбору:

    • 🔹 Для Excel 2010–2019 и небольших таблиц (до 10 000 строк) используйте СЧЁТЕСЛИМНЫЙ со вспомогательным столбцом или СУММПРОИЗВ.
    • 🔹 Для Excel 365/2021 оптимален вариант с УНИК — он самый простой и эффективный.
    • 🔹 Для больших данных (свыше 50 000 строк) выбирайте сводную таблицу или Power Query.
    • 🔹 Если нужно учитывать несколько столбцов (например, уникальные комбинации "Товар + Дата"), используйте Power Query или УНИК(A2:A100&B2:B100).

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

    Как посчитать уникальные значения с учётом нескольких столбцов?

    Используйте один из методов:

    • 🔹 В Excel 365: =СЧЁТ(УНИК(A2:A100&B2:B100)) (объедините столбцы символом &).
    • 🔹 В Excel 2010–2019: добавьте вспомогательный столбец с формулой =A2&B2, затем посчитайте уникальные значения в нём.
    • 🔹 В Power Query: группируйте по нескольким столбцам одновременно (удерживайте Ctrl при выборе).
    Почему формула СУММПРОИЗВ возвращает ошибку #ДЕЛ/0!?

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

    =СУММПРОИЗВ(--(A2:A100<>""); 1/СЧЁТЕСЛИ(A2:A100; A2:A100&""))

    Часть --(A2:A100<>"") игнорирует пустые ячейки, а &"" предотвращает ошибку деления на ноль.

    Как посчитать уникальные значения, игнорируя ошибки #Н/Д?

    Используйте ЕСЛИОШИБКА внутри формулы:

    =СУММПРОИЗВ(1/СЧЁТЕСЛИ(ЕСЛИОШИБКА(A2:A100;""); ЕСЛИОШИБКА(A2:A100;"")))

    Для Excel 365 можно комбинировать с УНИК:

    =СЧЁТ(УНИК(ФИЛЬТР(A2:A100; НЕ(ЕОШ(A2:A100)))))
    Можно ли посчитать уникальные значения в фильтрованном диапазоне?

    Да, но стандартные формулы не учитывают фильтрацию. Используйте один из способов:

    • 🔹 Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ:
      =СУММПРОИЗВ(1/СЧЁТЕСЛИ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; ДВССЫЛ(A2:A100)); ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; ДВССЫЛ(A2:A100))))

      Введите как формулу массива (Ctrl+Shift+Enter).

    • 🔹 Сводная таблица: Примените фильтр к исходным данным, затем обновите сводную таблицу (ПКМ → Обновить).
    Как посчитать уникальные значения в Google Sheets?

    В Google Таблицах используйте функцию UNIQUE (аналог УНИК в Excel):

    =COUNTA(UNIQUE(A2:A100))

    Или для подсчёта уникальных значений с условием:

    =COUNTA(UNIQUE(FILTER(A2:A100; B2:B100="Да")))