Съдържание
В урока е показано как да сравнявате текстови низове в Excel, без да се отчитат големи и малки букви, и с точно съвпадение. Ще научите редица формули за сравняване на две клетки по техните стойности, дължина на низа или брой срещания на определен символ, както и как да сравнявате няколко клетки.
Когато използвате Excel за анализ на данни, точността е най-важната грижа. Неправилната информация води до пропуснати крайни срокове, неправилно оценени тенденции, грешни решения и загубени приходи.
Макар че формулите на Excel винаги са напълно верни, техните резултати може да са погрешни, защото в системата са проникнали някои грешни данни. В този случай единственото средство за защита е да се проверят данните за точност. Не е голяма работа да се сравнят ръчно две клетки, но е почти невъзможно да се забележат разликите между стотици и хиляди текстови низове.
В този урок ще научите как да автоматизирате досадната и склонна към грешки задача за сравняване на клетки и какви формули е най-добре да използвате във всеки конкретен случай.
Как да сравнявате две клетки в Excel
Има два различни начина за сравняване на символни низове в Excel в зависимост от това дали искате да сравнявате с отчитане на големи и малки букви или без отчитане на големи и малки букви.
Формула за сравняване на 2 клетки без отчитане на големината на буквите
За сравняване на две клетки в случай на игнориране в 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 и въведете собствен текст за value_if_true и value_if_false аргументи:
=IF(EXACT(A2 ,B2), "Точно равно", "Не е равно")
Следващата снимка показва резултатите от сравнението на низове с отчитане на големи и малки букви в Excel:
Как да сравнявате няколко клетки в Excel
За сравняване на повече от 2 клетки в един ред използвайте формулите, разгледани в горните примери, в комбинация с оператора AND. Пълните подробности следват по-долу.
Формула за сравняване на повече от 2 клетки без отчитане на големината на буквите
В зависимост от това как искате да покажете резултатите, използвайте една от следните формули:
=И(A2=B2, A2=C2)
или
=IF(AND(A2=B2, A2=C2), "Равно", "Не е равно")
Формулата AND връща TRUE, ако всички клетки съдържат една и съща стойност, и FALSE, ако някоя от стойностите е различна. Формулата IF извежда етикетите, които сте въвели в нея, " Equal " и " Не са равни " в този пример.
Както е показано на скрийншота по-долу, формулата работи перфектно с всякакви типове данни - текст, дати и числови стойности:
Формула за сравняване на текст в няколко клетки, чувствителна към големи букви
За да сравните няколко низа един с друг и да проверите дали съвпадат точно, използвайте следните формули:
=AND(EXACT(A2,B2), EXACT(A2, C2))
Или
=IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Точно равно", "Не е равно")
Както и в предишния пример, първата формула дава стойности TRUE и FALSE, докато втората показва вашите собствени текстове за съвпадения и разлики:
Сравняване на диапазон от клетки с клетка за проба
Следващите примери показват как можете да проверите дали всички клетки в даден диапазон съдържат същия текст като в примерна клетка.
Формула за сравняване на клетките с примерен текст, без да се отчитат буквите
Ако случаят на символите не е от значение, можете да използвате следната формула за сравняване на клетките с извадка:
РЕДОВЕ( обхват )*COLUMNS( обхват )=COUNTIF( обхват , клетка за проби )В логическия тест на функцията IF се сравняват две числа:
- Общият брой на клетките в определен диапазон (броят на редовете, умножен по броя на колоните), и
- Броят на клетките, съдържащи същата стойност като тази в клетката на извадката (върната от функцията COUNTIF).
Ако приемем, че примерният текст е в C2, а низовете за сравнение са в диапазона A2:B6, формулата е следната:
=РЕДОВЕ(A2:B6)*КОЛОНИ(A2:B6)=COUNTIF(A2:B6,C2)
За да направите резултатите по-удобни за потребителя, т.е. да изведете нещо като "All match" (Всички съвпадат) и "Not all match" (Не всички съвпадат) вместо TRUE (Вярно) и FALSE (Невярно), използвайте функцията IF, както направихме в предишните примери:
=IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "Всички съвпадат", "Не всички съвпадат")
Както е показано на горната снимка, формулата се справя отлично с набор от текстови низове, но може да се използва и за сравняване на числа и дати.
Формула за сравняване на низове с примерен текст с отчитане на големи букви
Ако големината на символите е от значение, можете да сравните низове с примерния текст, като използвате следните формули за масиви.
IF(ROWS( обхват )*COLUMNS( обхват )=SUM(--EXACT( sample_cell , обхват )), " text_if_match ", " text_if_not 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 колони с текстови низове, които съдържат важен за вас символ. Целта ви е да проверите дали две клетки във всеки ред съдържат еднакъв брой срещания на даден символ.
За да станат нещата по-ясни, разгледайте следния пример. Да речем, че имате два списъка с изпратени (колона В) и получени (колона С) поръчки. Всеки ред съдържа поръчки за конкретен артикул, чийто уникален идентификатор е включен във всички идентификатори на поръчките и е посочен в същия ред в колона А (моля, вижте екранната снимка по-долу). Искате да сте сигурни, че всеки ред съдържа равен брой изпратени и получениелементите с този конкретен идентификатор.
За да решите тази задача, напишете формула със следната логика.
- Първо, заменете уникалния идентификатор с нищо, като използвате функцията 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 , character_to_count , ""))
В нашия пример уникалният идентификатор е в 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. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица.