Вы узнаете, как сравнивать значения в ячейках Excel на предмет точного совпадения или без учета регистра. Мы предложим вам несколько формул для сопоставления двух ячеек по их значениям, длине или количеству вхождений определенного символа, а также вы научитесь сравнивать между собой сразу несколько ячеек.

При использовании Excel для анализа данных точность является наиболее важной задачей. Неправильная информация приводит к срыву сроков, неверной оценке тенденций, неправильным решениям и потере доходов.

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

В этом руководстве вы узнаете, как автоматизировать утомительную и чреватую ошибками задачу сравнения ячеек, а также какие формулы лучше всего использовать в каждом конкретном случае.

Как сравнить две ячейки в Excel.

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

Формула без учета регистра.

Чтобы сопоставить две ячейки в Excel без учета регистра, используйте самый простой вариант:

=A1=B1

Где A1 и B1 – объекты для сопоставления. Результатом являются логические значения ИСТИНА и ЛОЖЬ.

Если вы хотите в качестве результата вывести свои собственные сообщения для обозначения совпадений и различий, вставьте приведенный выше оператор в логический тест функции ЕСЛИ. Например:

=ЕСЛИ(A2=B2; "Совпадает"; "НЕ совпадает")

Как вы видите на скриншоте ниже, обе формулы одинаково хорошо сравнивают текст, даты и числа:

сравнение двух ячеек

Формула с учетом регистра.

В некоторых ситуациях может быть важно не просто сравнить текст, но и учесть регистр символов. Сопоставлениес учетом регистра можно выполнить с помощью функции Excel СОВПАД (EXACT в английской версии):

СОВПАД(текст1; текст2)

Где текст1 и текст2 - две сравниваемые ячейки.

Предполагая, что ваши значения находятся в A2 и B2, расчёт выглядит следующим образом:

=СОВПАД(A2; B2)

В результате вы получите ИСТИНА для текстовых данных, точно совпадающих с регистром каждого символа, в противном случае - ЛОЖЬ.

Если вы хотите, чтобы функция СОВПАД выдавала другие результаты, вставьте ее в формулу ЕСЛИ и введите свой собственный текст для вариантов ответа:

=ЕСЛИ(СОВПАД(A2; B2); "Совпадает"; "НЕ совпадает")

На следующем скриншоте показаны результаты с учетом регистра:

сравнение 2 ячеек с учетом регистра

Как сравнить несколько ячеек в Excel

Чтобы сопоставить между собой более 2 ячеек, используйте выражения, описанные в приведенных выше примерах, в сочетании с оператором И. 

Формула без учета регистра для более чем двух ячеек

В зависимости от того, как вы хотите отображать результаты, используйте одну из следующих формул:

=И(A2=B2; A2=C2)

или

=ЕСЛИ(И(A2=B2; A2=C2); "Совпадает"; "НЕ совпадает")

Оператор И возвращает ИСТИНА, если все клетки таблицы содержат одно и то же значение, ЛОЖЬ, если любое значение отличается. Функция ЕСЛИ выводит введенные вами метки: «Совпадает» и «Не совпадает».

Как показано на скриншоте ниже, формула отлично работает с любыми типами данных - текстом, датами и числовыми значениями:

Формула сравнения без учета регистра для более чем двух ячеек

Сравниваем несколько ячеек с учетом регистра букв.

Чтобы сопоставить несколько текстовых значений друг с другом и убедиться, что они точно совпадают, используйте:

=И(СОВПАД(A2;B2); СОВПАД(A2; C2))

или

=ЕСЛИ(И(СОВПАД(A2;B2);СОВПАД(A2; C2));"Точное совпадение"; "НЕ совпадает")

Как и в предыдущем примере, первая формула выдает значения ИСТИНА и ЛОЖЬ, тогда как вторая отображает ваши собственные сообщения для совпадений и различий:

сравнение нескольких ячеек с учетом регистра символов

Если же нам достаточно хотя бы двух совпадений значений, то сделаем это так:

=ЕСЛИ(ИЛИ(СОВПАД(A2;B2);СОВПАД(A2; C2);СОВПАД(B2;C2)); "Не менее 2 точных совпадений"; "НЕ совпадает")

То есть, если в двух случаях из трёх будут одинаковые значения, то это будет для нас положительным результатом.

поиск совпадений в нескольких ячейках

Но если в нашей таблице нужно проверить много ячеек, то приведенное выше выражение с условием ИЛИ станет очень громоздким. Поэтому можно использовать функцию СЧЁТЕСЛИ.

Мы может рассчитать количество совпадений в нашем диапазоне ячеек при помощи этой формулы массива:

{=СЧЁТЕСЛИ(A2:D2;A2:D2)}

полное или неполное совпадение нескольких ячеек при помощи формулы

Чтобы выделить группы ячеек с полностью совпадающими значениями, можно использовать выражение:

=ЕСЛИ(СЧЁТЕСЛИ(A2:D2;A2:D2)=СЧЁТЗ(A2:D2);"Полное совпадение";"")

Как видите, регистр символов здесь, к сожалению, не учитывается.

Кроме того, обратите внимание на последнюю строку. В одной из ячеек имеются ведущие пробелы, поэтому полного совпадения нет. Аналогичный результат будет, если после текста случайно будет введен так называемый концевой пробел. А его визуально обнаружить крайне сложно. Поэтому обнаружение и удаление лишних пробелов — весьма важная задача. Ссылку на нужную инструкцию смотрите в конце этой статьи.

Сравните диапазон ячеек с образцом.

В следующих примерах показано, как можно проверить, что все адреса в заданном диапазоне содержат тот же текст, что и в ячейке-образце.

Совпадает ли ячейка с образцом?

Если регистр символов не имеет значения, вы можете использовать для сопоставления с образцом примерно такое выражение:

ЧСТРОК( диапазон ) * ЧИСЛСТОЛБ( диапазон ) = СЧЁТЕСЛИ( диапазон ; ячейка образца )

В логической проверке функции ЕСЛИ вы проверяете равенство двух чисел:

  1. Общее количество ячеек в указанном диапазоне (количество строк, умноженное на количество столбцов), и
  2. Количество ячеек, содержащих то же значение, что и в образце (возвращенное функцией СЧЁТЕСЛИ ).

Предполагая, что образец текста находится в C2, а данные находятся в диапазоне A2: B6, формула выглядит следующим образом:

(ЧСТРОК(A2:B6)*ЧИСЛСТОЛБ(A2:B6))=СЧЁТЕСЛИ(A2:B6;C2)

Чтобы сделать результаты более удобными для пользователя, т. е. вывести осмысленный текст вместо ИСТИНА и ЛОЖЬ, используйте функцию ЕСЛИ, как мы делали в предыдущих примерах:

=ЕСЛИ((ЧСТРОК(A2:B6)*ЧИСЛСТОЛБ(A2:B6))=СЧЁТЕСЛИ(A2:B6;C2);"Всё совпадает"; "Есть несовпадения")

сравнение с образцом каждой ячейки из диапазона

Как показано на скриншоте выше, формула отлично справляется с диапазоном текстовых значений, но ее также можно использовать для сопоставления чисел и дат.

Проверяем совпадение с образцом с учётом регистра букв.

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

ЕСЛИ((ЧСТРОК(диапазон )*ЧИСЛСТОЛБ(диапазон ))=(СУММ(--СОВПАД( образец ; диапазон ))); "текст_если_ совпадает";"текст_если_НЕ_совпадает")

Поскольку исходный диапазон находится в области A2: B6, а образец текста - в C2, получаем следующее:

{=ЕСЛИ((ЧСТРОК(B2:C6)*ЧИСЛСТОЛБ(B2:C6))=(СУММ(--СОВПАД(C2;B2:C6))); "Всё совпадает";"НЕ совпадает")}

В отличие от обычных формул Excel, формулы массива заполняются нажатием Ctrl + Shift + Enter. При правильном вводе Excel заключает формулу массива в {фигурные скобки}, как показано ниже:

совпадение с образцом с учётом регистра букв

Как сравнить две ячейки по длине.

Иногда вам может потребоваться проверить, содержат ли данные в каждой ячейке одинаковое количество символов. Решение для этой задачи очень простое. Сначала вы получаете длину каждой из этих двух ячеек с помощью функции ДЛСТР, а затем проверяете равенство этих чисел.

Предположим, что исходные значения находятся в A2 и B2. Используйте любой из вариантов:

=ДЛСТР(A2)=ДЛСТР(B2)

или

=ЕСЛИ(ДЛСТР(A2)=ДЛСТР(B2); "Равная длина"; "Длины не равны")

Как вы понимаете, первый возвращает логические значения ИСТИНА или ЛОЖЬ, тогда как второй выводит ваши собственные результаты:

как сравнить длину ячеек

Как показано на скриншоте выше, формулы работают как для текста, так и для чисел.

Примечание. Если две, казалось бы, одинаковые ячейки с текстом возвращают разную длину, скорее всего, проблема в начальных или конечных пробелах в одной или обеих из них. В этом случае удалите лишние пробелы с помощью функции СЖПРОБЕЛЫ. Подробное объяснение и примеры можно найти здесь: Как удалить пробелы в Excel .

Сравнение ячеек по вхождению определенного символа

Это последний пример в нашем руководстве по сравнению ячеек в Excel, и он показывает решение для довольно конкретной задачи. Предположим, у вас есть 2 столбца текстовых значений, которые содержат важный для вас символ. Ваша цель - проверить, содержат ли две ячейки в каждой строке одинаковое количество вхождений данного символа.

Чтобы было понятнее, рассмотрим следующий пример. Допустим, у вас есть два списка отгруженных заказов (столбец B) и полученных (столбец C). Каждая запись таблицы содержит заказы на конкретный товар, уникальный идентификатор которого включен во все идентификаторы заказа и указан в той же строке в столбце A (см. скриншот ниже). Вы хотите убедиться, что каждая строка содержит равное количество отправленных и полученных товаров с этим конкретным идентификатором.

Чтобы решить эту проблему, будем действовать следующим образом:

ПОДСТАВИТЬ(A1; код;"")

  • Затем подсчитайте, сколько раз код появляется в каждой ячейке. Для этого получите длину её содержимого без кода и вычтите ее из общей первоначальной длины ячейки. Эта операция должна быть выполнена для 1 и 2 ячейки отдельно, например:

ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $A2;""))

а также

ДЛСТР(C2)-ДЛСТР(ПОДСТАВИТЬ(C2; $A2;""))

  • Теперь вы приравниваете эти 2 числа, поместив знак равенства (=) между указанными выше частями.

ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $A2;"")) = ДЛСТР(C2)-ДЛСТР(ПОДСТАВИТЬ(C2; $A2;""))

В нашем примере код находится в A2, а значения находится в B2 и C2. 

Выражение возвращает ИСТИНА, если B2 и C2 содержат одинаковое количество вхождений символа из A2, в противном случае - ЛОЖЬ. Чтобы сделать результаты более понятными для ваших пользователей, вы можете встроить его в функцию ЕСЛИ:

=ЕСЛИ(ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $A2;"")) = ДЛСТР(C2)-ДЛСТР(ПОДСТАВИТЬ(C2; $A2;"")); "Совпадает"; "НЕ совпадает")

Сравниваем две ячейки по вхождению определенного символа

Как вы можете видеть на скриншоте выше, всё работает отлично, несмотря на пару дополнительных сложностей:

  • Подсчитываемый символ (уникальный идентификатор) может появляться в любом месте ячейки.
  • Записи содержат переменное количество символов и разные разделители, такие как точка с запятой, запятая или пробел.

Вот как можно при помощи формул можно сравнивать ячейки в Excel. Благодарю вас за чтение.