Если вам нужно найти одинаковые числа в двух столбцах Excel, но стандартная сортировка или фильтр не дают точного результата, проблема кроется в неучтенных нюансах: скрытые символы, разные форматы ячеек или погрешности округления. Например, число 1000 в одном столбце может восприниматься как текст из-за апострофа ('1000), а в другом — как числовой формат. Даже функция СЧЁТЕСЛИ вернёт ложный отрицательный результат, если не привести данные к единому типу.
В этой статье разберём 5 рабочих методов сравнения — от элементарных формул до автоматизированных инструментов вроде Power Query. Вы узнаете, как выявить совпадения с учётом регистра, игнорируя пробелы, и почему иногда ВПР возвращает ошибку #Н/Д, хотя числа визуально идентичны. Для наглядности приведём таблицу с примерами формул и их ограничениями.
1. Базовый метод: функция СЧЁТЕСЛИ для поиска дублей
Самый простой способ проверить совпадения — использовать СЧЁТЕСЛИ. Формула подсчитывает, сколько раз значение из первой ячейки встречается во втором столбце. Если результат > 0 — совпадение найдено.
Пример для сравнения столбцов A (искомые числа) и B (список для проверки):
=СЧЁТЕСЛИ(B:B; A1)
- ✅ Плюсы: не требует дополнительных действий, работает в Excel 2003–2023.
- ⚠️ Минусы: не учитывает формат ячеек (текст vs число), не показывает какие именно значения совпали.
- 🔍 Когда использовать: для быстрой проверки наличия дублей без детализации.
⚠️ Внимание: Если в столбцеBесть пустые ячейки,СЧЁТЕСЛИпроигнорирует их, но формула вернёт0для пустого значения вA1. Чтобы исключить ложные срабатывания, добавьте проверку=ЕСЛИ(A1="";"";СЧЁТЕСЛИ(B:B;A1)).
2. Точное сравнение с учётом формата: ВПР и ПОИСКПОЗ
Когда СЧЁТЕСЛИ не срабатывает из-за разных форматов (например, 1000 vs "1000"), используйте комбинацию ВПР или ПОИСКПОЗ с приведением типов. Эти функции ищут точные совпадения, включая формат данных.
Формула с ВПР для столбцов A и B:
=ЕСЛИОШИБКА(ВПР(A1; B:B; 1; ЛОЖЬ); "Нет совпадений"; "Есть совпадение")
Для ПОИСКПОЗ (более гибкий вариант):
=ЕСЛИ(ПОИСКПОЗ(A1; B:B; 0); "Есть"; "Нет")
| Функция | Синтаксис | Чувствительность к формату | Возвращает |
|---|---|---|---|
ВПР | =ВПР(искомое; диапазон; 1; ЛОЖЬ) | Да | Значение или #Н/Д |
ПОИСКПОЗ | =ПОИСКПОЗ(искомое; диапазон; 0) | Да | Позицию или #Н/Д |
СЧЁТЕСЛИ | =СЧЁТЕСЛИ(диапазон; критерий) | Нет | Количество совпадений |
Критическая ошибка: Если в столбце B есть повторяющиеся значения, ВПР вернёт первое найденное, а ПОИСКПОЗ — его позицию. Чтобы найти все совпадения, используйте ИНДЕКС-ПОИСКПОЗ с массивом (см. раздел 4).
3. Условное форматирование: визуализация совпадений
Если нужно не просто найти, а выделить совпадающие числа, используйте условное форматирование. Этот метод наглядно показывает дубли в обоих столбцах:
- Выделите оба столбца (например,
A1:B100). - Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Использовать формулу...и введите:
=СЧЁТЕСЛИ($A$1:$B$100; A1)>1
- Задайте цвет заполнения (например, жёлтый) и нажмите
ОК.
Теперь все повторяющиеся числа в обоих столбцах будут подсвечены. Этот способ работает и для текста, и для чисел, но не различает форматы (например, 1000 и "1000" будут считаться одинаковыми).
Удалите лишние пробелы функцией =СЖПРОБЕЛЫ()|
Приведите все числа к единому формату с помощью =ЗНАЧЕН()|
Проверьте скрытые символы функцией =КОДСИМВ() (например, =КОДСИМВ(ЛЕВСИМВ(A1)))|
Отсортируйте оба столбца для визуального контроля-->
4. Продвинутый поиск: массивы и ИНДЕКС-ПОИСКПОЗ
Когда нужно найти все совпадения (не только первое), а также их позиции, используйте формулы массива. Например, чтобы вывести все числа из столбца A, которые есть в столбце B:
=ЕСЛИОШИБКА(ИНДЕКС($A$1:$A$100; МАЛЬЧ(ЕСЛИ(НЕ(ЕОШ(ПОИСКПОЗ($A$1:$A$100; $B$1:$B$100; 0))); СТРОКА($A$1:$A$100)-МИН(СТРОКА($A$1:$A$100))+1))); "")
Вводите как формулу массива: после ввода нажмите Ctrl+Shift+Enter (в новых версиях Excel работает и без этого).
Эта формула вернёт список уникальных значений из A, которые встречаются в B. Для обратного поиска (из B в A) поменяйте диапазоны местами.
⚠️ Внимание: В Excel 365 и 2021 формулы массива работают без Ctrl+Shift+Enter, но в Excel 2019 и старше требуют ручного подтверждения. Если формула возвращает ошибку, проверьте, не превышен ли лимит вложенных функций (64 уровня).
5. Power Query: автоматизация для больших данных
Если столбцы содержат тысячи строк, ручные формулы будут тормозить. В этом случае используйте Power Query (доступен в Excel 2016+):
- Выделите оба столбца → вкладка
Данные→Из таблицы/диапазона(если данные не в таблице, Excel предложит создать её). - В редакторе
Power Queryвыберите оба столбца →Главная→Объединить запросы→Объединение. - Укажите тип объединения
Внутреннее(оставит только совпадающие строки). - Нажмите
ОКи загрузите результат на новый лист.
Преимущество метода: обработка миллионов строк без зависаний, возможность очистки данных (удаление пробелов, приведение к числовому формату) на этапе загрузки.
Как убрать дубликаты в Power Query?
В редакторе выберите столбец → Главная → Удалить строки → Удалить дубликаты. Для точного сравнения предварительно преобразуйте данные в числовой формат через Преобразовать → Тип данных → Десятичное число.
6. Типичные ошибки и как их избежать
Даже опытные пользователи сталкиваются с ложными результатами при сравнении столбцов. Вот самые частые причины:
- 🔢 Разные форматы: Число
1000и текст"1000"не совпадут. Используйте=ЗНАЧЕН()для приведения к числу или=ТЕКСТ()для текста. - 📏 Скрытые символы: Пробелы, неразрывные пробелы (
CHAR(160)), апострофы. Удаляйте их через=ПОДСТАВИТЬ()или=СЖПРОБЕЛЫ(). - ≈ Погрешности округления:
1,0000001и1визуально одинаковы, но не совпадут. Округляйте до нужного знака:=ОКРУГЛ(число; 2). - 📊 Динамические диапазоны: Если данные добавляются автоматически, фиксируйте диапазоны в формулах (например,
$A$1:INDEX(A:A;СЧЁТЗ(A:A))).
Чтобы проверить формат ячейки, выделите её и посмотрите на строку формул: если слева стоит зелёный треугольник, значит, Excel воспринимает содержимое как текст, даже если визуально это число.
1 — число,
2 — текст,
16 — ошибка,
64 — массив.-->
FAQ: Ответы на частые вопросы
Как сравнить столбцы с учётом регистра?
Стандартные функции ВПР и ПОИСКПОЗ регистр не учитывают. Используйте комбинацию =ИНДЕКС() с =НАЙТИ() или =СОВПАД() (для точного текстового сравнения):
=ЕСЛИ(СОВПАД(A1; B1); "Совпадает"; "Не совпадает")
Для поиска по всему столбцу:
=ЕСЛИ(СУММПРОИЗВ(--(СОВПАД(A1; $B$1:$B$100))); "Есть"; "Нет")
Почему ВПР не находит число, которое есть в столбце?
Причины:
- Число в искомом столбце хранится как текст (проверьте через
=ТИП()). - В ячейке есть невидимые символы (например,
CHAR(10)— перевод строки). - Четвёртый аргумент
ВПРустановлен вИСТИНА(приблизительный поиск). Всегда используйтеЛОЖЬдля точного совпадения.
Как вывести все совпадения из двух столбцов в третий?
Используйте формулу массива:
=ЕСЛИОШИБКА(ИНДЕКС($A$1:$A$100; МАЛЬЧ(ЕСЛИ(СЧЁТЕСЛИ($B$1:$B$100; $A$1:$A$100); СТРОКА($A$1:$A$100)-МИН(СТРОКА($A$1:$A$100))+1))); "")
Введите её в первую ячейку третьего столбца и растяните вниз. Для Excel 365 можно упростить до:
=ФИЛЬТР(A1:A100; СЧЁТЕСЛИ(B1:B100; A1:A100))
Можно ли сравнить столбцы в Google Sheets?
Да, все описанные методы работают и в Google Таблицах, за исключением Power Query (там используется Apps Script или надстройка Power Tools). Для формул массива в Google Sheets не нужно нажимать Ctrl+Shift+Enter — они работают автоматически.