Оглавление
В учебнике показано, как сравнивать текстовые строки в 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( ячейка 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. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе.