Indholdsfortegnelse
I denne vejledning vises det, hvordan du sammenligner tekststrenge i Excel med hensyn til at skelne mellem store og små bogstaver og nøjagtigt match. Du lærer en række formler til at sammenligne to celler ud fra deres værdier, strengens længde eller antallet af forekomster af et bestemt tegn, og du lærer også, hvordan du sammenligner flere celler.
Når du bruger Excel til dataanalyse, er nøjagtighed den vigtigste faktor. Ukorrekte oplysninger fører til overskredne tidsfrister, fejlvurderede tendenser, forkerte beslutninger og tabte indtægter.
Selvom Excel-formler altid er helt rigtige, kan deres resultater være forkerte, fordi der er trængt fejlbehæftede data ind i systemet. I dette tilfælde er den eneste løsning at kontrollere data for nøjagtighed. Det er ikke noget problem at sammenligne to celler manuelt, men det er næsten umuligt at se forskellene mellem hundredvis og tusindvis af tekststrenge.
I denne vejledning lærer du, 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 to celler i Excel
Der er to forskellige måder at sammenligne strenge i Excel på, afhængigt af om du ønsker at sammenligne mellem store og små bogstaver eller ikke at sammenligne mellem store og små bogstaver.
Formel, der ikke tager hensyn til store og små bogstaver, til sammenligning af 2 celler
Hvis du vil sammenligne to celler i Excel, der ignorerer tilfælde, 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 overenskomster og forskelle, skal du indlejre ovenstående erklæring i den logiske test af IF-funktionen, f.eks:
=IF(A1=B1, "Lige", "Ikke lige", "Ikke lige")
Som du kan se på skærmbilledet nedenfor, sammenligner begge formler tekststrenge, datoer og tal lige godt:
Formel til sammenligning af strenge i Excel, der tager hensyn til store og små bogstaver
I nogle situationer kan det være vigtigt ikke kun at sammenligne tekstværdierne i to celler, men også at sammenligne tegnsætningen. Sammenligning af tekster med hensyn til store og små bogstaver kan foretages ved hjælp af Excel EXACT-funktionen:
EXACT (text1, text2)Hvor tekst1 og text2 er de to celler, du sammenligner.
Hvis vi antager, at dine strenge er i cellerne A2 og B2, lyder formlen således:
=EXACT(A2, B2)
Resultatet er TRUE, hvis tekststrenge passer nøjagtigt, herunder kasus for hvert tegn, og FALSE i modsat fald.
Hvis du vil have EXACT-funktionen til at give nogle andre resultater, kan du indlejre den i en IF-formel og skrive din egen tekst til value_if_true og value_if_false argumenter:
=IF(EXACT(A2 ,B2), "Præcis lige", "Ikke lige")
Følgende skærmbillede viser resultaterne af sammenligningen af strenge med hensyn til store og små bogstaver i Excel:
Sådan sammenligner du flere celler i Excel
Hvis du vil 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. Alle detaljer følger nedenfor.
Formel, der ikke tager hensyn til store og små bogstaver, til sammenligning af mere end 2 celler
Afhængigt af hvordan du ønsker at vise resultaterne, kan du bruge en af følgende formler:
=OG(A2=B2, A2=C2)
eller
=IF(AND(A2=B2, A2=C2), "Lige", "Ikke lige")
AND-formlen returnerer TRUE, hvis alle cellerne indeholder den samme værdi, og FALSE, hvis nogen af værdierne er forskellige. IF-formlen returnerer de etiketter, som du skriver i den, " Lige " og " Ikke ligeværdig " i dette eksempel.
Som vist i skærmbilledet nedenfor fungerer formlen perfekt med alle datatyper - tekst, datoer og numeriske værdier:
Formel, der tager hensyn til store og små bogstaver, til at sammenligne tekst i flere celler
Hvis du vil sammenligne flere strenge med hinanden for at se, om de passer nøjagtigt sammen, skal du bruge følgende formler:
=OG(EXACT(A2,B2), EXACT(A2, C2))
Eller
=IF(AND(AND(EXACT(A2,B2), EXACT(A2, C2)), "Præcis lige", "Ikke lige")
Ligesom i det foregående eksempel leverer den første formel værdierne TRUE og FALSE, mens den anden formel viser dine egne tekster for overensstemmelse og forskelle:
Sammenligne en række celler med en prøvecelle
De følgende eksempler viser, hvordan du kan kontrollere, at alle celler i et givet område indeholder den samme tekst som i en prøvecelle.
Formel, der ikke tager hensyn til store og små bogstaver, til at sammenligne celler med en eksempeltekst
Hvis det ikke betyder noget, om der er tale om tegn, kan du bruge følgende formel til at sammenligne celler med en prøve:
RÆKKE( rækkevidde )*KOLUMNS( rækkevidde )=COUNTIF( rækkevidde , prøvecelle )I den logiske test af IF-funktionen sammenligner du to tal:
- Det samlede antal celler i et bestemt område (antallet af rækker ganget med antallet af kolonner) og
- Antallet af celler, der indeholder den samme værdi som i prøvecellen (returneret af funktionen COUNTIF).
Hvis vi antager, at eksempelteksten er i C2, og at de strenge, der skal sammenlignes, er i intervallet A2:B6, ser formlen således ud:
=RÆKKER(A2:B6)*KOLONNER(A2:B6)=COUNTIF(A2:B6,C2)
Hvis du vil gøre resultaterne mere brugervenlige, dvs. udstede 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(RÆKKE(A2:B6)*KOLUMMER(A2:B6)=COUNTIF(A2:B6,C2), "Alle matcher", "Ikke alle matcher")
Som vist på ovenstående skærmbillede kan formlen bruges perfekt til at sammenligne en række tekststrenge, men den kan også bruges til at sammenligne tal og datoer.
Formel, der tager hensyn til store og små bogstaver, til at sammenligne strenge med en eksempeltekst
Hvis skiftet mellem bogstaver gør en forskel, kan du sammenligne strenge med eksempelteksten ved hjælp af følgende arrayformler.
IF(ROWS( rækkevidde )*KOLUMNS( rækkevidde )=SUM(--EXACT( prøve_celle , rækkevidde )), " text_if_match ", " text_if_not match ")Med kildeområdet i A2:B6 og eksempelteksten i C2 får formlen følgende formular:
=IF(RÆKKE(A2:B6)*KOLUMMER(A2:B6)=SUM(--EXACT(C2, A2:B6)), "Alle stemmer overens", "Ikke alle stemmer overens")
I modsætning til almindelige Excel-formler udfyldes array-formler ved at trykke på Ctrl + Shift + Enter . Hvis de er indtastet korrekt, omslutter Excel array-formlen i {krumme parenteser}, som vist på skærmbilledet:
Sådan sammenlignes to celler efter strenglængde
Nogle gange vil du måske kontrollere, om tekststrengene i hver række indeholder lige mange tegn. Formlen til denne opgave er meget enkel. Først får du strengenes længde i to celler ved hjælp af LEN-funktionen, og derefter sammenligner du tallene.
Hvis de strenge, der skal sammenlignes, befinder sig i cellerne A2 og B2, skal du bruge en af følgende formler:
=LÆNGDE(A2)=LÆNGDE(B2)
Eller
=IF(LEN(A2)=LEN(B2), "Lige", "Ikke lige")
Som du allerede ved, returnerer den første formel de boolske værdier TRUE eller FALSE, hvorimod den anden formel giver dine egne resultater:
Som vist på skærmbilledet ovenfor fungerer formlerne både for tekststrenge og tal.
Tip. Hvis to tilsyneladende ens strenge returnerer forskellige længder, er problemet højst sandsynligt i førende eller efterfølger rum i en eller begge celler. I dette tilfælde skal du fjerne ekstra mellemrum ved hjælp af funktionen TRIM. Du kan finde en detaljeret forklaring og eksempler på formler her: Sådan trimmer du mellemrum i Excel.
Sammenligne to celler efter forekomst af et bestemt tegn
Dette er det sidste eksempel i vores Excel Tutorial om sammenligning af strenge, og det viser en løsning på en ret specifik opgave. Antag, 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 givet tegn.
For at gøre tingene klarere kan du se på 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 sikre dig, at hver række indeholder lige mange afsendte og modtagne ordrer.elementer med det pågældende ID.
For at løse dette problem skal du skrive en formel med følgende logik.
- For det første erstattes den unikke identifikator med ingenting ved hjælp af funktionen SUBSTITUTE:
SUBSTITUTE(A1, character_to_count,"")
- Beregn derefter, hvor mange gange den entydige identifikator forekommer i hver enkelt celle. For at gøre dette skal du beregne strengen uden den entydige identifikator og trække den fra strengenes samlede længde. Denne del skal skrives for celle 1 og celle 2 hver for sig, f.eks:
LEN(celle 1) - LEN(SUBSTITUTE(celle 1, character_to_count, "")))
og
LEN(celle 2) - LEN(SUBSTITUTE(celle 2, character_to_count, "")))
- Til sidst sammenligner du disse to tal ved at sætte lighedstegnet (=) mellem de to ovenstående dele.
LEN( celle 2 ) - LEN(ERSTATNING( celle 2 , tegn_til_tælling , ""))
I vores eksempel er den unikke identifikator i A2, og de strenge, der skal sammenlignes, er i cellerne B2 og C2. Den komplette formel ser således ud som følger:
=LEN(B2)-LEN(SUBSTITUTE(B2,$A2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2,$A2, $A2,""))
Formlen returnerer TRUE, hvis cellerne B2 og C2 indeholder lige mange forekomster af tegnet i A2, og ellers FALSE. For at gøre resultaterne mere meningsfulde for dine brugere kan du indlejre formlen i IF-funktionen:
=IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2, $A2,"")), "Lige", "Ikke lige")
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.
- Strings 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 er beskrevet i denne vejledning, er du velkommen til at downloade Excel-arbejdsarket til sammenligning af strenge. Jeg takker for din læsning og håber at se dig på vores blog i næste uge.