Excel: Jämför strängar i två celler för att hitta matchningar (skiftlägeskänsliga eller exakta)

  • Dela Detta
Michael Brown

I handledningen visas hur du jämför textsträngar i Excel med avseende på skiftlägen och exakt matchning. Du får lära dig ett antal formler för att jämföra två celler med hjälp av deras värden, strängens längd eller antalet förekomster av ett visst tecken, samt hur du jämför flera celler.

När du använder Excel för dataanalys är noggrannhet det viktigaste. Felaktig information leder till missade tidsfrister, felbedömda trender, felaktiga beslut och förlorade intäkter.

Excel-formlerna är alltid helt sanna, men resultaten kan vara felaktiga på grund av att felaktiga data har trängt in i systemet. I det här fallet är det enda sättet att åtgärda problemet att kontrollera att data är korrekta. Det är ingen stor sak att jämföra två celler manuellt, men det är näst intill omöjligt att upptäcka skillnaderna mellan hundratals och tusentals textsträngar.

I den här handledningen lär du dig hur du automatiserar den tråkiga och felbenägna uppgiften att jämföra celler och vilka formler som är bäst att använda i varje enskilt fall.

    Hur man jämför två celler i Excel

    Det finns två olika sätt att jämföra strängar i Excel, beroende på om du vill jämföra mellan stor- och små bokstäver eller mellan stor- och små bokstäver.

    Formulär som inte tar hänsyn till storleken för att jämföra 2 celler

    Om du vill jämföra två celler i Excel som ignorerar fallet använder du en enkel formel som den här:

    =A1=B1

    Där A1 och B1 är de celler som du jämför. Resultatet av formeln är de booleska värdena TRUE och FALSE.

    Om du vill skriva ut dina egna texter för matchningar och skillnader kan du bädda in ovanstående uttalande i det logiska testet i IF-funktionen, t.ex:

    =IF(A1=B1, "Lika", "Inte lika")

    Som du ser i skärmbilden nedan jämför båda formlerna textsträngar, datum och siffror lika bra:

    Formler som tar hänsyn till stora och små bokstäver för att jämföra strängar i Excel

    I vissa situationer kan det vara viktigt att inte bara jämföra textvärdena i två celler utan också att jämföra teckenkortsättningen. En textjämförelse med hänsyn till storleken på teckenkortsättningen kan göras med Excel-funktionen EXACT:

    EXACT (text1, text2)

    Var text1 och text2 är de två celler som du jämför.

    Om du antar att strängarna finns i cellerna A2 och B2, ser formeln ut på följande sätt:

    =EXACT(A2, B2)

    Resultatet blir TRUE om textsträngar matchar exakt, inklusive kasus för varje tecken, och FALSE i annat fall.

    Om du vill att EXACT-funktionen ska ge andra resultat kan du bädda in den i en IF-formel och skriva din egen text för value_if_true och value_if_false argument:

    =IF(EXACT(A2 ,B2), "Exakt lika", "Inte lika")

    Följande skärmdump visar resultatet av jämförelsen av strängar som är känsliga för stora och små bokstäver i Excel:

    Hur man jämför flera celler i Excel

    Om du vill jämföra fler än två celler i en rad använder du formlerna som diskuteras i exemplen ovan i kombination med AND-operatorn.

    Formler som inte tar hänsyn till stora bokstäver för att jämföra fler än 2 celler

    Beroende på hur du vill visa resultaten använder du en av följande formler:

    =OCH(A2=B2, A2=C2)

    eller .

    =IF(AND(A2=B2, A2=C2), "Lika", "Inte lika")

    AND-formeln returnerar TRUE om alla celler innehåller samma värde och FALSE om något värde är annorlunda. IF-formeln ger ut de etiketter som du skriver in i den, " Equal " och " Inte lika " i det här exemplet.

    Som visas i skärmbilden nedan fungerar formeln perfekt med alla datatyper - text, datum och numeriska värden:

    Formler som tar hänsyn till stora och små bokstäver för att jämföra text i flera celler

    Om du vill jämföra flera strängar med varandra för att se om de stämmer exakt överens använder du följande formler:

    =OCH(EXAKT(A2,B2), EXAKT(A2, C2))

    Eller

    =IF(AND(EXACT(A2,B2), EXACT(A2,C2)), "Exakt lika", "Inte lika")

    Precis som i det föregående exemplet ger den första formeln värden som är sanna och falska, medan den andra formeln visar dina egna texter för matchningar och skillnader:

    Jämför ett antal celler med en provcell

    Följande exempel visar hur du kan kontrollera att alla celler i ett visst intervall innehåller samma text som i en provcell.

    Formler som inte tar hänsyn till stora bokstäver för att jämföra celler med en provtext.

    Om det inte spelar någon roll vad gäller teckenvalet kan du använda följande formel för att jämföra celler med ett urval:

    ROWS( sortiment )*COLUMNS( sortiment )=COUNTIF( sortiment , provcell. )

    I det logiska testet av IF-funktionen jämför du två tal:

    • Det totala antalet celler i ett visst intervall (antalet rader multiplicerat med antalet kolumner), och
    • Antalet celler som innehåller samma värde som i provcellen (som returneras av COUNTIF-funktionen).

    Om du antar att exempeltexten finns i C2 och att de strängar som ska jämföras finns i intervallet A2:B6, så ser formeln ut på följande sätt:

    =RADER(A2:B6)*KOLUMNER(A2:B6)=COUNTIF(A2:B6,C2)

    För att göra resultaten mer användarvänliga, dvs. ge ut något som "Alla matchar" och "Inte alla matchar" i stället för TRUE och FALSE, kan du använda IF-funktionen som vi gjorde i de tidigare exemplen:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "Alla matchar", "Inte alla matchar")

    Som framgår av skärmbilden ovan klarar formeln perfekt av att hantera ett antal textsträngar, men den kan också användas för att jämföra siffror och datum.

    Formler som är känsliga för stora och små bokstäver för att jämföra strängar med en exempeltext.

    Om teckenbokstäverna spelar någon roll kan du jämföra strängar med exempeltexten med hjälp av följande matrisformler.

    IF(ROWS( sortiment )*COLUMNS( sortiment )=SUM(--EXACT( sample_cell , sortiment )), " text_if_match ", " text_if_not match ")

    Med källområdet i A2:B6 och exempeltexten i C2 får formeln följande form:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "Alla matchar", "Inte alla matchar")

    Till skillnad från vanliga Excel-formler fylls arrayformler i genom att trycka på Ctrl + Shift + Enter . Om du skriver in formeln på rätt sätt omsluter Excel arrayformeln med {kragar}, vilket visas i skärmbilden:

    Hur man jämför två celler med strängens längd

    Ibland vill du kontrollera om textsträngarna i varje rad innehåller lika många tecken. Formeln för den här uppgiften är mycket enkel. Först tar du fram stränglängden för två celler med hjälp av LEN-funktionen och jämför sedan siffrorna.

    Om strängarna som ska jämföras finns i cellerna A2 och B2 kan du använda någon av följande formler:

    =LEN(A2)=LEN(B2)

    Eller

    =IF(LEN(A2)=LEN(B2), "Lika", "Inte lika")

    Som du redan vet returnerar den första formeln de booleska värdena TRUE eller FALSE, medan den andra formeln ger dina egna resultat:

    Som visas i skärmdumpen ovan fungerar formlerna för textsträngar och siffror.

    Tips: Om två till synes lika långa strängar ger olika längder, är det troligen problemet i ledande eller . efterföljande utrymmen i en eller båda cellerna. I det här fallet kan du ta bort extra mellanslag med hjälp av funktionen TRIM. En detaljerad förklaring och exempel på formler finns här: Hur man trimmar mellanslag i Excel.

    Jämföra två celler efter förekomst av ett visst tecken

    Det här är det sista exemplet i vår handledning Excel Jämför strängar, och det visar en lösning för en ganska specifik uppgift. Antag att du har två kolumner med textsträngar som innehåller ett tecken som är viktigt för dig. Ditt mål är att kontrollera om två celler i varje rad innehåller samma antal förekomster av ett visst tecken.

    För att göra saker och ting tydligare kan du ta följande exempel: Låt oss säga att du har två listor med beställningar som skickats (kolumn B) och mottagits (kolumn C). Varje rad innehåller beställningar för en specifik artikel, vars unika identifierare ingår i alla order-ID:n och som listas i samma rad i kolumn A (se skärmdumpen nedan). Du vill se till att varje rad innehåller lika många skickade och mottagnaobjekt med det specifika ID:t.

    För att lösa detta problem skriver du en formel med följande logik.

    • Först ersätter du den unika identifieraren med ingenting med hjälp av funktionen SUBSTITUTE:

      SUBSTITUTE(A1, tecken_till_räkning,"")

    • Beräkna sedan hur många gånger den unika identiteten förekommer i varje cell. Ta fram strängens längd utan den unika identiteten och subtrahera den från strängens totala längd. Denna del ska skrivas för cell 1 och cell 2 var för sig, till exempel:

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

      och

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

    • Slutligen jämför du dessa två tal genom att placera likhetstecknet (=) mellan ovanstående delar.
    LEN( cell 1 ) - LEN(SUBSTITUT( cell 1 , tecken_till_räkning , ""))=

    LEN( cell 2 ) - LEN(SUBSTITUT( cell 2 , tecken_till_räkning , ""))

    I vårt exempel finns den unika identifieraren i A2 och strängarna som ska jämföras finns i cellerna B2 och C2. Den fullständiga formeln ser alltså ut på följande sätt:

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

    Formeln returnerar TRUE om cellerna B2 och C2 innehåller lika många förekomster av tecknet i A2 och FALSE annars. För att göra resultaten mer meningsfulla för användarna kan du bädda in formeln i IF-funktionen:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Lika", "Inte lika")

    Som du kan se i skärmdumpen ovan fungerar formeln perfekt trots några ytterligare komplikationer:

    • Det tecken som ska räknas (unik identifierare) kan förekomma var som helst i en textsträng.
    • Strängarna innehåller ett varierande antal tecken och olika separatorer, t.ex. semikolon, kommatecken eller mellanslag.

    Så här jämför du strängar i Excel. Om du vill titta närmare på formlerna som diskuteras i den här handledningen är du välkommen att ladda ner Excel-arbetsbladet Jämför strängar. Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka.

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.