Как быстро найти отличия между двумя списками в Excel

Иван Корнев·12.04.2026·5 мин

Чтобы сравнить два списка в Excel и найти отличия, проще всего использовать формулу =СЧЁТЕСЛИ или =ВПР. Введите формулу =ЕСЛИ(СЧЁТЕСЛИ($B$2:$B$100; A2)=0; "Уникальный"; "Есть во втором") в соседнем столбце — она покажет, какие значения из первого списка отсутствуют во втором. Для визуального выделения различий используйте «Условное форматирование».

Ниже приведены подробные методы для разных версий Excel и объемов данных: от простых формул до автоматизации через Power Query.

Главный принцип: Перед сравнением обязательно приведите данные к единому виду — удалите лишние пробелы функцией СЖПРОБЕЛЫ (TRIM) и убедитесь, что числа не сохранены как текст.

Подготовка данных перед сравнением

Даже идеальная формула выдаст ошибку, если данные «грязные». Часто пользователи видят различия там, где их нет, из-за скрытых пробелов или разного регистра.

  1. Удаление пробелов: Используйте функцию =СЖПРОБЕЛЫ(A2) в новом столбце, скопируйте результат и вставьте его как значения поверх исходных данных.
  2. Единый регистр: Если регистр букв не важен (например, «Москва» и «москва» должны считаться одинаковыми), приведите все данные к нижнему регистру функцией =СТРОЧН(A2).
  3. Тип данных: Убедитесь, что в обоих столбцах данные одного типа. Число 123 и текст "123" для Excel — разные значения. Используйте инструмент «Текст по столбцам», чтобы принудительно задать формат.

Метод 1: Формула СЧЁТЕСЛИ (Универсальный способ)

Этот метод работает во всех версиях Excel и понятен новичкам. Он подсчитывает, сколько раз значение из одного списка встречается в другом.

Задача: Найти элементы списка А, которых нет в списке Б.

  1. Предположим, Список А находится в столбце A, а Список Б — в столбце B.
  2. В ячейке C2 введите формулу:
    =ЕСЛИ(СЧЁТЕСЛИ($B$2:$B$500; A2)=0; "Нет во втором списке"; "Найдено")
    ```
    *Обратите внимание на знаки доллара `$` — они фиксируют диапазон поиска.*
3.  Протяните формулу вниз до конца списка А.
4.  Отфильтруйте столбец C по значению «Нет во втором списке».

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

Метод 2: Функция ВПР (Классический подход)

Функция ВПР (VLOOKUP) пытается найти точное совпадение. Если значение не найдено, она возвращает ошибку #Н/Д, что удобно для фильтрации.

Формула для поиска отсутствующих значений:

=ЕСЛИОШИБКА(ВПР(A2; $B$2:$B$500; 1; 0); "Отсутствует")
  • Если формула возвращает само значение — элемент есть в обоих списках.
  • Если возвращает «Отсутствует» — элемента нет во втором списке.

Для современных версий Excel (Office 365, 2021+) лучше использовать ПРОСМОТРX (XLOOKUP), так как она работает быстрее и не требует указания номера столбца:

=ЕСЛИОШИБКА(ПРОСМОТРX(A2; $B$2:$B$500; $B$2:$B$500); "Отсутствует")

Метод 3: Визуальное выделение через Условное форматирование

Если вам не нужны дополнительные столбцы с формулами, а нужно просто подсветить отличия цветом.

  1. Выделите диапазон первого списка (например, A2:A100).
  2. На вкладке Главная выберите Условное форматированиеСоздать правило.
  3. Выберите тип правила: «Использовать формулу для определения форматируемых ячеек».
  4. Введите формулу:
    =СЧЁТЕСЛИ($B$2:$B$100; A2)=0
    ```
5.  Нажмите кнопку **Формат**, выберите красный цвет заливки и нажмите ОК.

Теперь все ячейки в списке А, которых нет в списке Б, окрасятся в красный цвет. Повторите процедуру для списка Б, чтобы увидеть уникальные элементы там.

## Метод 4: Power Query для больших массивов данных

Если у вас десятки тысяч строк или задачу нужно выполнять регулярно, формулы могут замедлить работу файла. Используйте надстройку Power Query (встроена в Excel 2016+).

**Алгоритм действий:**
1.  Выделите каждый список и нажмите **Данные** → **Из таблицы/диапазона**.
2.  В редакторе Power Query выберите запрос первого списка, затем на вкладке **Главная** нажмите **Объединить запросы**.
3.  Выберите второй список.
4.  В окне объединения выберите тип соединения:
    *   **Левое анти-соединение (Left Anti):** Покажет строки только из первого списка (отличия).
    *   **Полное внешнее соединение (Full Outer):** Покажет все строки, а столбец соответствия укажет, где есть совпадения, а где нет.
5.  Нажмите **Закрыть и загрузить**. Результат появится на новом листе.

Важно: При использовании формул всегда фиксируйте диапазоны абсолютными ссылками (через $ или клавишу F4). Иначе при протягивании формулы диапазон «поедет», и сравнение станет некорректным.

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

СитуацияРекомендуемый методПлюсыМинусы
Быстрая разовая проверкаСЧЁТЕСЛИПросто, понятно, работает вездеТребует доп. столбца
Нужна визуализацияУсловное форматированиеНаглядно, не меняет структуруСложнее редактировать правила
Офис 365 / Новый ExcelПРОСМОТРXБыстрее ВПР, гибче синтаксисНе работает в старых версиях
Тысячи строк / РегулярностьPower QueryНе тормозит файл, автообновлениеТребует обучения интерфейсу

Частые ошибки при сравнении

  1. «Призрачные» пробелы: Ячейка выглядит пустой или одинаковой, но формула говорит об обратном. Часто это пробел в конце текста. Решение: функция СЖПРОБЕЛЫ.
  2. Число против Текста: В одном списке 100 (число), в другом '100 (текст). Решение: преобразовать всё в текст функцией ТЕКСТ() или использовать «Текст по столбцам».
  3. Неверный диапазон: Забыли закрепить диапазон знаками $. При копировании формулы она начинает искать значения в смещенных ячейках.
  4. Дубликаты внутри списка: Функция СЧЁТЕСЛИ посчитает количество вхождений. Если во втором списке значение встречается дважды, формула все равно сработает корректно (результат будет > 0), но для анализа дублей лучше использовать сводные таблицы.

FAQ

Как сравнить два списка и оставить только общие значения? Используйте фильтр после применения формулы СЧЁТЕСЛИ. Оставьте только те строки, где результат больше 0 (или статус «Найдено»), и удалите остальные.

Можно ли сравнивать списки с учетом регистра букв? Стандартные функции (ВПР, СЧЁТЕСЛИ) игнорируют регистр. Для чувствительного к регистру сравнения используйте формулу массива с функцией СОВПАД (EXACT): =СУММПРОИЗВ(--СОВПАД(A2; $B$2:$B$100))>0.

Что делать, если списки находятся на разных листах? Принцип тот же. В формуле просто укажите имя листа перед диапазоном, например: =СЧЁТЕСЛИ(Лист2!$B$2:$B$100; A2).