Excel: сравнение строк в двух ячейках на предмет совпадения (без учета регистра или точного)

  • Поделись Этим
Michael Brown

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

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

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

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

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

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

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

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

    =A1=B1

    Где A1 и B1 - ячейки, которые вы сравниваете. Результатом формулы являются булевы значения TRUE и FALSE.

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

    =IF(A1=B1, "Равно", "Не равно")

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

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

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

    EXACT (text1, text2)

    Где текст1 и текст2 это две ячейки, которые вы сравниваете.

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

    =EXACT(A2, B2)

    В результате вы получите TRUE для текстовых строк, совпадающих точно, включая регистр каждого символа, FALSE в противном случае.

    Если вы хотите, чтобы функция EXACT давала другие результаты, вставьте ее в формулу IF и введите свой собственный текст для значение_если_истина и значение_если_ложно аргументы:

    =IF(EXACT(A2 ,B2), "Точно равно", "Не равно")

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

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

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

    Нечувствительная к регистру формула для сравнения более 2 ячеек

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

    =AND(A2=B2, A2=C2)

    или

    =IF(AND(A2=B2, A2=C2), "Равно", "Не равно")

    Формула AND возвращает TRUE, если все ячейки содержат одинаковое значение, и FALSE, если любое значение отличается. Формула IF выводит метки, которые вы вводите в нее, " Равный " и " Не равны " в данном примере.

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

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

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

    =AND(EXACT(A2,B2), EXACT(A2, C2))

    Или

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Точно равно", "Не равно")

    Как и в предыдущем примере, первая формула выдает значения TRUE и FALSE, тогда как вторая выводит ваши собственные тексты для совпадений и различий:

    Сравните ряд клеток с клеткой-образцом

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

    Нечувствительная к регистру формула для сравнения ячеек с образцом текста

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

    РЯДЫ( ассортимент )*COLUMNS( ассортимент )=COUNTIF( ассортимент , ячейка для образцов )

    В логическом тесте функции IF вы сравниваете два числа:

    • Общее количество ячеек в указанном диапазоне (количество строк, умноженное на количество столбцов), и
    • Количество ячеек, содержащих то же значение, что и в ячейке-образце (возвращается функцией COUNTIF).

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

    =ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2)

    Чтобы сделать результаты более удобными для пользователя, т.е. вывести что-то вроде "Все совпадают" и "Не все совпадают" вместо TRUE и FALSE, используйте функцию IF, как мы делали в предыдущих примерах:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "Все совпадают", "Не все совпадают")

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

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

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

    IF(ROWS( ассортимент )*COLUMNS( ассортимент )=SUM(--EXACT( образец_ячейки , ассортимент )), " text_if_match ", " текст_если_не_соответствует ")

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

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "Все совпадает", "Не все совпадает")

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

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

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

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

    =LEN(A2)=LEN(B2)

    Или

    =IF(LEN(A2)=LEN(B2), "Равно", "Не равно")

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

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

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

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

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

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

    Чтобы решить эту задачу, напишите формулу со следующей логикой.

    • Во-первых, замените уникальный идентификатор на ничто с помощью функции SUBSTITUTE:

      SUBSTITUTE(A1, character_to_count,"")

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

      LEN(ячейка 1) - LEN(SUBSTITUTE(ячейка 1, character_to_count, ""))

      и

      LEN(ячейка 2) - LEN(SUBSTITUTE(ячейка 2, character_to_count, ""))

    • Наконец, вы сравниваете эти два числа, ставя знак равенства (=) между вышеуказанными частями.
    LEN( ячейка 1 ) - LEN(SUBSTITUTE( ячейка 1 , символ_к_счету , ""))=

    LEN( ячейка 2 ) - LEN(SUBSTITUTE( ячейка 2 , символ_к_счету , ""))

    В нашем примере уникальный идентификатор находится в ячейке A2, а строки для сравнения - в ячейках B2 и C2. Таким образом, полная формула выглядит следующим образом:

    =LEN(B2)-LEN(SUBSTITUTE(B2,$A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2,$A2,""))

    Формула возвращает TRUE, если ячейки B2 и C2 содержат одинаковое количество вхождений символа в A2, и FALSE в противном случае. Чтобы сделать результаты более значимыми для пользователей, вы можете встроить формулу в функцию IF:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Равно", "Не равно")

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

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

    Вот так можно сравнить строки в Excel. Для более детального рассмотрения формул, рассмотренных в этом уроке, вы можете скачать Excel Compare Strings Worksheet. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе.

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.