Excel: Comparați șirurile de caractere din două celule pentru a găsi corespondențe (fără deosebire de majuscule și minuscule sau exacte)

  • Imparte Asta
Michael Brown

Acest tutorial arată cum să comparați șiruri de text în Excel pentru a compara șiruri de caractere fără deosebire de majuscule și cu potrivire exactă. Veți învăța o serie de formule pentru a compara două celule în funcție de valorile lor, de lungimea șirului sau de numărul de apariții ale unui anumit caracter, precum și cum să comparați mai multe celule.

Atunci când se utilizează Excel pentru analiza datelor, acuratețea este cea mai importantă preocupare. Informațiile incorecte duc la ratarea termenelor limită, la judecarea greșită a tendințelor, la decizii greșite și la pierderi de venituri.

În timp ce formulele Excel sunt întotdeauna perfect adevărate, rezultatele lor pot fi greșite din cauză că unele date eronate au pătruns în sistem. În acest caz, singurul remediu este să verificați datele pentru acuratețe. Nu este mare lucru să comparați manual două celule, dar este aproape imposibil să identificați diferențele dintre sute și mii de șiruri de text.

Acest tutorial vă va învăța cum să automatizați sarcina plictisitoare și predispusă la erori de comparare a celulelor și ce formule este cel mai bine să folosiți în fiecare caz în parte.

    Cum se compară două celule în Excel

    Există două moduri diferite de a compara șiruri de caractere în Excel, în funcție de faptul că se dorește o comparație cu majuscule și minuscule sau insensibilă la majuscule.

    Formulă insensibilă la majuscule și minuscule pentru a compara 2 celule

    Pentru a compara două celule în cazul ignorării în Excel, utilizați o formulă simplă ca aceasta:

    =A1=B1

    Unde A1 și B1 sunt celulele pe care le comparați. Rezultatul formulei sunt valorile booleene TRUE și FALSE.

    Dacă doriți să afișați propriile texte pentru potriviri și diferențe, includeți declarația de mai sus în testul logic al funcției IF. De exemplu:

    =IF(A1=B1, "Egal", "Neegal")

    După cum vedeți în captura de ecran de mai jos, ambele formule compară la fel de bine șiruri de text, date și numere:

    Formulă sensibilă la majuscule și minuscule pentru a compara șiruri de caractere în Excel

    În unele situații, poate fi important nu numai să se compare valorile textului din două celule, ci și să se compare cazul caracterelor. Compararea textului în funcție de majuscule și minuscule se poate face cu ajutorul funcției Excel EXACT:

    EXACT (text1, text2)

    Unde text1 și text2 sunt cele două celule pe care le comparați.

    Presupunând că șirurile de caractere se află în celulele A2 și B2, formula este următoarea:

    =EXACT(A2, B2)

    Ca rezultat, veți obține TRUE pentru șirurile de text care se potrivesc exact, inclusiv cu majusculele și minusculele fiecărui caracter, iar în caz contrar FALSE.

    Dacă doriți ca funcția EXACT să furnizeze alte rezultate, încorporați-o într-o formulă IF și introduceți propriul text pentru value_if_true și value_if_false argumente:

    =IF(EXACT(A2 ,B2), "Exact egal", "Nu este egal")

    Următoarea captură de ecran prezintă rezultatele comparării șirurilor de caractere sensibile la majuscule și minuscule în Excel:

    Cum să comparați mai multe celule în Excel

    Pentru a compara mai mult de 2 celule pe un rând, utilizați formulele discutate în exemplele de mai sus în combinație cu operatorul AND. Detaliile complete sunt prezentate mai jos.

    Formulă insensibilă la majuscule și minuscule pentru a compara mai mult de 2 celule

    În funcție de modul în care doriți să afișați rezultatele, utilizați una dintre următoarele formule:

    =AND(A2=B2, A2=C2)

    sau

    =IF(AND(AND(A2=B2, A2=C2), "Egal", "Neegal")

    Formula AND returnează TRUE (Adevărat) dacă toate celulele conțin aceeași valoare, FALSE (FALS) dacă vreo valoare este diferită. Formula IF (Dacă) emite etichetele pe care le introduceți în ea, " Egalitate " și " Nu este egal " în acest exemplu.

    După cum se demonstrează în captura de ecran de mai jos, formula funcționează perfect cu orice tip de date - text, date și valori numerice:

    Formulă sensibilă la majuscule și minuscule pentru a compara textul din mai multe celule

    Pentru a compara mai multe șiruri de caractere între ele pentru a vedea dacă se potrivesc exact, utilizați următoarele formule:

    =ȘI(EXACT(A2,B2), EXACT(A2, C2))

    Sau

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Exact egal", "Nu este egal")

    La fel ca în exemplul anterior, prima formulă oferă valori ADEVĂRAT și FALS, în timp ce a doua afișează propriile texte pentru potriviri și diferențe:

    Comparați un interval de celule cu o celulă de probă

    Următoarele exemple arată cum puteți verifica dacă toate celulele dintr-un anumit interval conțin același text ca și cel din celula de probă.

    Formulă insensibilă la majuscule și minuscule pentru a compara celulele cu un text de probă

    Dacă nu contează cazul caracterelor, puteți utiliza următoarea formulă pentru a compara celulele cu un eșantion:

    RÂNDURI( gama )*COLUMNE( gama )=COUNTIF( gama , celulă de eșantionare )

    În testul logic al funcției IF, comparați două numere:

    • Numărul total de celule dintr-un interval specificat (numărul de rânduri înmulțit cu numărul de coloane) și
    • Numărul de celule care conțin aceeași valoare ca în celula de eșantionare (returnat de funcția COUNTIF).

    Presupunând că textul de probă se află în C2 și că șirurile de comparat se află în intervalul A2:B6, formula este următoarea:

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

    Pentru a face rezultatele mai ușor de utilizat, adică pentru a afișa ceva de genul "Toate se potrivesc" și "Nu toate se potrivesc" în loc de TRUE și FALSE, utilizați funcția IF, așa cum am făcut în exemplele anterioare:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "Toate se potrivesc", "Nu toate se potrivesc")

    După cum se arată în captura de ecran de mai sus, formula se potrivește perfect cu o serie de șiruri de text, dar poate fi utilizată și pentru a compara numere și date.

    Formulă sensibilă la majuscule și minuscule pentru a compara șiruri de caractere cu un text de probă

    În cazul în care cazul caracterelor face diferența, puteți compara șirurile de caractere cu textul de probă utilizând următoarele formule de matrice.

    IF(ROWS( gama )*COLUMNE( gama )=SUMĂ(--EXACT( sample_cell , gama )), " text_if_match ", " text_if_not match ")

    Având intervalul sursă în A2:B6 și textul de probă în C2, formula are următoarea formă:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "All match", "Not all match")

    Spre deosebire de formulele obișnuite din Excel, formulele de matrice se completează prin apăsarea Ctrl + Shift + Enter . Dacă sunt introduse corect, Excel include formula de matrice în {între paranteze curbe}, așa cum se arată în captura de ecran:

    Cum se compară două celule după lungimea șirului de caractere

    Uneori, este posibil să doriți să verificați dacă șirurile de text din fiecare rând conțin un număr egal de caractere. Formula pentru această sarcină este foarte simplă. În primul rând, obțineți lungimea șirului de caractere din două celule utilizând funcția LEN, apoi comparați numerele.

    Presupunând că șirurile de comparat se află în celulele A2 și B2, utilizați oricare dintre următoarele formule:

    =LEN(A2)=LEN(B2)

    Sau

    =IF(LEN(A2)=LEN(B2), "Equal", "Not equal", "Not equal")

    După cum știți deja, prima formulă returnează valorile booleene TRUE sau FALSE, în timp ce a doua formulă produce propriile rezultate:

    După cum se demonstrează în captura de ecran de mai sus, formulele funcționează atât pentru șiruri de text, cât și pentru numere.

    Sfat. Dacă două șiruri aparent egale returnează lungimi diferite, cel mai probabil problema este în lider sau la urmă spații într-una sau în ambele celule. În acest caz, eliminați spațiile în plus folosind funcția TRIM. Explicația detaliată și exemplele de formule pot fi găsite aici: How to trim spaces in Excel.

    Compararea a două celule în funcție de aparițiile unui anumit caracter

    Acesta este ultimul exemplu din tutorialul nostru Excel Compară șiruri de caractere și prezintă o soluție pentru o sarcină destul de specifică. Să presupunem că aveți 2 coloane de șiruri de text care conțin un caracter important pentru dvs. Scopul dvs. este să verificați dacă două celule din fiecare rând conțin același număr de apariții ale unui anumit caracter.

    Pentru a clarifica lucrurile, luați în considerare următorul exemplu. Să spunem că aveți două liste de comenzi expediate (coloana B) și primite (coloana C). Fiecare rând conține comenzi pentru un anumit articol, al cărui identificator unic este inclus în toate ID-urile de comandă și este listat în același rând din coloana A (consultați captura de ecran de mai jos). Doriți să vă asigurați că fiecare rând conține un număr egal de comenzi expediate și primitearticole cu acel ID specific.

    Pentru a rezolva această problemă, scrieți o formulă cu următoarea logică.

    • În primul rând, înlocuiți identificatorul unic cu nimic folosind funcția SUBSTITUTE:

      SUBSTITUTE(A1, character_to_count,""")

    • Apoi, calculați de câte ori apare identificatorul unic în fiecare celulă. Pentru aceasta, obțineți lungimea șirului fără identificatorul unic și scădeți-o din lungimea totală a șirului. Această parte se scrie pentru celula 1 și celula 2 în mod individual, de exemplu:

      LEN(cell 1) - LEN(SUBSTITUTE(cell 1, character_to_count, ""))

      și

      LEN(cell 2) - LEN(SUBSTITUTE(cell 2, character_to_count, ""))

    • În cele din urmă, comparați aceste 2 numere prin plasarea semnului de egalitate (=) între părțile de mai sus.
    LEN( celula 1 ) - LEN(ÎNLOCUITOR( celula 1 , caracter_la_număr , ""))=

    LEN( celula 2 ) - LEN(ÎNLOCUITOR( celula 2 , caracter_la_număr , ""))

    În exemplul nostru, identificatorul unic se află în A2, iar șirurile de comparat sunt în celulele B2 și C2. Astfel, formula completă este următoarea:

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

    Formula returnează TRUE dacă celulele B2 și C2 conțin un număr egal de apariții ale caracterului din A2, iar în caz contrar FALSE. Pentru ca rezultatele să fie mai semnificative pentru utilizatorii dvs., puteți încorpora formula în funcția IF:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Equal", "Not equal", "Not equal"))

    După cum puteți vedea în captura de ecran de mai sus, formula funcționează perfect, în ciuda câtorva complicații suplimentare:

    • Caracterul care urmează să fie numărat (identificator unic) poate apărea oriunde într-un șir de text.
    • Șirurile de caractere conțin un număr variabil de caractere și diferiți separatori, cum ar fi punct și virgulă, virgulă sau spațiu.

    Acesta este modul în care se compară șiruri de caractere în Excel. Pentru a vedea mai îndeaproape formulele discutate în acest tutorial, vă invităm să descărcați Excel Compare Strings Worksheet. Vă mulțumesc pentru lectură și sper să ne revedem pe blog săptămâna viitoare.

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.