Sådan sammenligner du to celler i Excel (stringsammenligning)

Denne tutorial viser, hvordan du sammenligner tekststrenge i Excel for case-insensitive og nøjagtigt match. Du lærer en række formler til at sammenligne to celler efter deres værdier, strenglængde eller antallet af forekomster af et bestemt tegn, samt hvordan du sammenligner flere celler.

Når du bruger Excel til dataanalyse, er nøjagtighed det mest afgørende. Ukorrekte oplysninger fører til overskredne frister, fejlvurderede tendenser, forkerte beslutninger og tabte indtægter.

Selv om Excel-formler altid er helt sande, kan deres resultater være forkerte, fordi nogle fejlbehæftede data er trængt ind i systemet. I dette tilfælde er den eneste afhjælpning at kontrollere data for nøjagtighed. Det er ikke noget særligt at sammenligne to celler manuelt, men det er næsten umuligt at få øje på forskellene mellem hundredvis og tusindvis af tekststrenge.

Denne vejledning vil lære dig, hvordan du kan automatisere den kedelige og fejlbehæftede opgave med cellesammenligning, og hvilke formler der er bedst at bruge i hvert enkelt tilfælde.

  • Sådan sammenligner du 2 celler i Excel
  • Sådan sammenligner du flere celler
  • Sammenligner et område af celler med en prøvecelle
  • Sammenligner celler efter strengens længde
  • Sammenligner strenge efter forekomster af bestemte tegn

Sådan sammenligner du to celler i Excel

Der er to forskellige måder at sammenligne strenge i Excel på, afhængigt af om du søger case-følsom eller case-insensitiv sammenligning.

Kase-uafhængig formel til sammenligning af 2 celler

For at sammenligne to celler i Excel uden hensyntagen til kasus skal du bruge en simpel formel som denne:

=A1=B1

Hvor A1 og B1 er de celler, du sammenligner. Resultatet af formlen er de boolske værdier TRUE og FALSE.

Hvis du ønsker at udskrive dine egne tekster for overensstemmelser og forskelle, skal du indlejre ovenstående erklæring i den logiske test i IF-funktionen. For eksempel:

=IF(A1=B1, "Equal", "Not equal")

Som du kan se i skærmbilledet nedenfor, sammenligner begge formler tekststrenge, datoer og tal lige godt:
Kase-uafhængig formel til sammenligning af 2 celler i Excel

Kase-følsom formel til sammenligning af strenge i Excel

I nogle situationer kan det være vigtigt ikke kun at sammenligne tekst i to celler, men også at sammenligne tegnets kasus. Sammenligning af tekster med hensyn til store og små bogstaver kan foretages ved hjælp af Excel-funktionen EXACT:

EXACT (text1, text2)

Hvor text1 og text2 er de to celler, som du sammenligner.

Antaget at dine strenge er i cellerne A2 og B2, lyder formlen således:

=EXACT(A2, B2)

Som resultat får du TRUE for tekststrenge, der passer nøjagtigt, herunder kasus på hvert tegn, og FALSE ellers.

Hvis du vil have EXACT-funktionen til at levere nogle andre resultater, skal du indlejre den i en IF-formel og skrive din egen tekst til argumenterne value_if_true og value_if_false:

=IF(EXACT(A2 ,B2), "Exactly equal", "Not equal")

Det følgende skærmbillede viser resultaterne af sammenligningen af strengstrenge med hensyn til kasus og store bogstaver i Excel:
Kase-uafhængig formel til sammenligning af strenge i Excel

Sådan sammenligner du flere celler i Excel

For at sammenligne mere end 2 celler i en række skal du bruge de formler, der er beskrevet i ovenstående eksempler, i kombination med AND-operatoren. De fuldstændige detaljer følger nedenfor.

Kase-uafhængig formel til sammenligning af mere end 2 celler

Afhængigt af, hvordan du vil vise resultaterne, skal du bruge en af følgende formler:

=AND(A2=B2, A2=C2)

eller

=IF(AND(A2=B2, A2=C2), "Equal", "Not equal")

Den AND-formel returnerer TRUE, hvis alle cellerne indeholder den samme værdi, FALSE, hvis nogen af værdierne er forskellige. IF-formlen udsender de etiketter, som du skriver i den, “Lige” og “Ikke lige” i dette eksempel.

Som vist i skærmbilledet nedenfor fungerer formlen perfekt med alle datatyper – tekst, datoer og numeriske værdier:

Sammenligning af flere celler uden hensyntagen til kasus

Kasuskritisk formel til sammenligning af tekst i flere celler

For at sammenligne flere strenge med hinanden for at se, om de passer nøjagtigt sammen, skal du bruge følgende formler:

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

Og

=IF(AND(EXACT(A2,B2), EXACT(A2, C2)),"Exactly equal", "Not equal")

Som i det foregående eksempel leverer den første formel værdierne TRUE og FALSE, mens den anden viser dine egne tekster for overensstemmelse og forskelle:
Sammenligning af flere strenge nøjagtigt, herunder tegncase

Sammenligning af et område af celler med en prøvecelle

De følgende eksempler viser, hvordan du kan verificere, at alle celler i et givet område indeholder den samme tekst som i en prøvecelle.

Kase-uafhængig formel til sammenligning af celler med en prøvetekst

Hvis kasus ikke rigtig betyder noget, kan du bruge følgende formel til at sammenligne celler med en prøvetekst:

RØVER(område)*KOLUMNS(område)=COUNTIF(område, prøvecelle)

I den logiske test af IF-funktionen sammenligner du to tal:

  • Det samlede antal celler i et angivet område (antallet af rækker ganget med antallet af kolonner), og
  • Antal celler, der indeholder den samme værdi som i prøvecellen (returneret af funktionen COUNTIF).

Antaget at prøveteksten står i C2, og at de strenge, der skal sammenlignes, står i intervallet A2:B6, lyder formlen således:

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

For at gøre resultaterne mere brugervenlige, dvs. output noget som “Alle matcher” og “Ikke alle matcher” i stedet for TRUE og FALSE, skal du bruge IF-funktionen, som vi gjorde i de foregående eksempler:

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

Kase-uafhængig formel til at sammenligne celler med en eksempeltekst

Som vist på ovenstående skærmbillede klarer formlen perfekt et område af tekststrenge, men den kan også bruges til at sammenligne tal og datoer.

Kasefølsom formel til sammenligning af strenge med en eksempeltekst

Hvis kasus gør en forskel, kan du sammenligne strenge med eksempelteksten ved hjælp af følgende array-formler.

IF(ROWS(range)*COLUMNS(range)=SUM(–EXACT(sample_cell, range))), “text_if_match”, “text_if_not match”)

Med kildeområdet, der befinder sig i A2:B6 og prøveeksemplet tekst i C2, har formlen følgende form:

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

I modsætning til almindelige Excel-formler udfyldes array-formler ved at trykke på Ctrl + Shift + Enter. Hvis den er indtastet korrekt, omslutter Excel arrayformlen i {krumme parenteser}, som vist i skærmbilledet:
Kasefølsom formel til at sammenligne strenge med en eksempeltekst

Sådan sammenligner du to celler efter strenglængde

Som du vil, vil du måske nogle gange kontrollere, om tekststrengene i hver række indeholder lige mange tegn. Formlen til denne opgave er meget enkel. Først får du strengelængden for to celler ved hjælp af LEN-funktionen, og derefter sammenligner du tallene.

Såfremt de strenge, der skal sammenlignes, befinder sig i cellerne A2 og B2, skal du bruge en af følgende formler:

=LEN(A2)=LEN(B2)

Og

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

Som du allerede ved, returnerer den første formel de boolske værdier TRUE eller FALSE, hvorimod den anden formel udsender dine egne resultater:

Sammenligning af to celler efter strenglængde

Som det fremgår af skærmbilledet ovenfor, fungerer formlerne for tekststrenge såvel som tal.

Tip. Hvis to tilsyneladende ens strenge returnerer forskellige længder, ligger problemet højst sandsynligt i ledende eller afsluttende mellemrum i en eller begge celler. I dette tilfælde skal du fjerne ekstra mellemrum ved hjælp af TRIM-funktionen. Du kan finde en detaljeret forklaring og eksempler på formler her: Sådan trimmer du mellemrum i Excel.

Sammenlign to celler efter forekomst af et bestemt tegn

Dette er det sidste eksempel i vores Excel-vejledning om sammenligning af strenge, og det viser en løsning på en ret specifik opgave. Lad os antage, at du har 2 kolonner med tekststrenge, der indeholder et tegn, som er vigtigt for dig. Dit mål er at kontrollere, om to celler i hver række indeholder det samme antal forekomster af et givent tegn.

For at gøre tingene tydeligere kan du overveje følgende eksempel. Lad os sige, at du har to lister over ordrer, der er afsendt (kolonne B) og modtaget (kolonne C). Hver række indeholder ordrer for en bestemt vare, hvis unikke identifikator er inkluderet i alle ordre-id’er og er opført i samme række i kolonne A (se skærmbilledet nedenfor). Du vil gerne sikre dig, at hver række indeholder lige mange afsendte og modtagne varer med det pågældende specifikke ID.

For at løse dette problem skal du skrive en formel med følgende logik:

  • Først skal du erstatte den unikke identifikator med ingenting ved hjælp af funktionen SUBSTITUTE:

    SUBSTITUTE(A1, character_to_count,"")

  • Dernæst skal du beregne, hvor mange gange den unikke identifikator vises i hver celle. Til dette formål skal du få strengen længde uden den unikke identifikator og trække den fra den samlede længde af strengen. Denne del skal skrives for celle 1 og celle 2 hver for sig, f.eks.:

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

  • Sidst sammenligner du disse 2 tal ved at sætte lighedstegnet (=) ind mellem ovenstående dele.
LEN(celle 1) – LEN(SUBSTITUTE(celle 1, character_to_count, “”))=
LEN(celle 2) – LEN(SUBSTITUTE(celle 2, character_to_count, “”))

I vores eksempel er den unikke identifikator i A2, og de strenge, der skal sammenlignes, er i cellerne B2 og C2. Så den komplette formel er som følger:

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

formlen returnerer TRUE, hvis cellerne B2 og C2 indeholder lige mange forekomster af tegnet i A2, ellers FALSK. For at gøre resultaterne mere meningsfulde for dine brugere kan du indlejre formlen i IF-funktionen:

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

Sammenlign forekomsten af et bestemt tegn i to celler

Som du kan se på skærmbilledet ovenfor, fungerer formlen perfekt på trods af et par ekstra komplikationer:

  • Det tegn, der skal tælles (unik identifikator), kan forekomme hvor som helst i en tekststreng.
  • Strengene indeholder et variabelt antal tegn og forskellige separatorer som f.eks. semikolon, komma eller mellemrum.

Sådan sammenligner du strenge i Excel. Hvis du vil se nærmere på de formler, der behandles i denne vejledning, er du velkommen til at downloade Excel-arbejdsark til sammenligning af strenge. Jeg takker for læsningen og håber at se dig på vores blog i næste uge.

Du er måske også interesseret i

  • Sammenligne to kolonner i Excel for overensstemmelse og forskelle
  • Sådan sammenligner du to Excel-regneark for forskelle
  • Sådan bruger du logisk operatør til at sammenligne tal
  • 4 måder at lave en case-sensitiv vlookup i Excel på

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.