Excel: Két cellában lévő karakterláncok összehasonlítása egyezések keresésére (nagy- és kisbetű-független vagy pontos)

  • Ossza Meg Ezt
Michael Brown

Az oktatóanyag bemutatja, hogyan lehet összehasonlítani a szöveges karakterláncokat az Excelben a nagy- és kisbetű-érzékenység és a pontos egyezés szempontjából. Számos képletet tanulhat meg, amelyekkel két cellát hasonlíthat össze az értékük, a karakterlánc hossza vagy egy adott karakter előfordulásának száma alapján, valamint hogyan lehet több cellát összehasonlítani.

Az Excel adatelemzésre való használatakor a pontosság a legfontosabb szempont. A helytelen információk határidőhiányhoz, a trendek téves megítéléséhez, rossz döntésekhez és bevételkieséshez vezetnek.

Bár az Excel-képletek mindig tökéletesen igazak, az eredményeik tévesek lehetnek, mert hibás adatok jutottak be a rendszerbe. Ebben az esetben az egyetlen orvosság az adatok pontosságának ellenőrzése. Két cellát kézzel összehasonlítani nem nagy dolog, de szinte lehetetlen kiszúrni a különbségeket több száz és ezer szöveges karakterlánc között.

Ez a bemutató megtanítja, hogyan lehet automatizálni a cellák összehasonlításának fárasztó és hibás feladatát, és milyen képleteket érdemes használni az egyes esetekben.

    Hogyan hasonlítsunk össze két cellát az Excelben

    A karakterláncok összehasonlításának két különböző módja van az Excelben, attól függően, hogy az eset-érzékeny vagy az eset-érzéketlen összehasonlítást keresi.

    Nagy- és kisbetű-érzékeny formula 2 cella összehasonlítására

    Két cella összehasonlításához az Excel figyelmen kívül hagyása esetén használjon egy egyszerű képletet, például a következőt:

    =A1=B1

    Ahol A1 és B1 az összehasonlítandó cellák. A képlet eredménye a bólés értékek TRUE és FALSE.

    Ha saját szövegeket akarsz kiadni az egyezések és különbségek esetén, ágyazd be a fenti utasítást az IF függvény logikai tesztjébe. Például:

    =IF(A1=B1, "Egyenlő", "Nem egyenlő")

    Amint az alábbi képernyőképen látható, mindkét képlet egyformán jól összehasonlítja a szöveges karakterláncokat, dátumokat és számokat:

    Nagy- és kisbetű-érzékeny képlet az Excel karakterláncok összehasonlításához

    Bizonyos helyzetekben fontos lehet, hogy ne csak két cella szövegértékeit hasonlítsuk össze, hanem a karakterek esetét is. Az eset-érzékeny szöveg-összehasonlítás az Excel EXACT funkciójával végezhető el:

    EXACT (text1, text2)

    Hol text1 és text2 a két összehasonlítandó cella.

    Feltételezve, hogy a karakterláncok az A2 és B2 cellákban vannak, a képlet a következőképpen néz ki:

    =EXACT(A2, B2)

    Ennek eredményeként TRUE-t kapunk, ha a szöveges karakterláncok pontosan egyeznek, beleértve az egyes karakterek esetét is, egyébként FALSE-t.

    Ha azt szeretné, hogy az EXACT függvény más eredményt adjon, ágyazza be egy IF képletbe, és írja be a saját szövegét az alábbi szöveghez value_if_true és value_if_false érvek:

    =IF(EXACT(A2 ,B2), "Pontosan egyenlő", "Nem egyenlő")

    A következő képernyőkép az Excelben az eset-érzékeny karakterlánc-összehasonlítás eredményeit mutatja:

    Hogyan hasonlítson össze több cellát az Excelben

    Ha egy sorban több mint 2 cellát szeretne összehasonlítani, használja a fenti példákban tárgyalt képleteket az ÉS operátorral kombinálva. A teljes részletezés alább következik.

    Nagybetű-érzékeny formula 2-nél több cella összehasonlításához

    Attól függően, hogy hogyan szeretné megjeleníteni az eredményeket, használja a következő képletek egyikét:

    =ÉS(A2=B2, A2=C2)

    vagy

    =IF(AND(A2=B2, A2=C2), "Egyenlő", "Nem egyenlő")

    Az ÉS formula TRUE-t ad vissza, ha az összes cellában ugyanaz az érték szerepel, FALSE-t, ha bármelyik érték különbözik. Az IF formula a beírt címkéket adja ki, " Equal " és " Nem egyenlő " ebben a példában.

    Amint az alábbi képernyőképen látható, a képlet tökéletesen működik bármilyen adattípussal - szöveges, dátumokkal és numerikus értékekkel:

    Nagy- és kisbetű-érzékeny képlet több cellában lévő szöveg összehasonlításához

    Ha több karakterláncot szeretne összehasonlítani egymással, hogy pontosan egyeznek-e, használja a következő képleteket:

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

    Vagy

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Pontosan egyenlő", "Nem egyenlő")

    Az előző példához hasonlóan az első formula TRUE és FALSE értékeket szolgáltat, míg a második a saját szövegeit jeleníti meg az egyezések és különbségek esetén:

    Egy cellatartomány összehasonlítása egy mintacellával

    A következő példák azt mutatják, hogyan ellenőrizheti, hogy egy adott tartomány összes cellája ugyanazt a szöveget tartalmazza-e, mint egy mintasejt.

    Nagy- és kisbetű-érzékeny képlet a cellák és a mintaszöveg összehasonlításához

    Ha a karakterek esete nem igazán számít, akkor a következő képletet használhatja a cellák mintával való összehasonlítására:

    ROWS( tartomány )*COLUMNS( tartomány )=COUNTIF( tartomány , mintacella )

    Az IF függvény logikai tesztjében két számot hasonlítunk össze:

    • A megadott tartományban lévő cellák teljes száma (a sorok száma szorozva az oszlopok számával), és
    • Azon cellák száma, amelyek ugyanazt az értéket tartalmazzák, mint a mintacella (a COUNTIF függvény által visszaadott).

    Feltételezve, hogy a minta szövege a C2-ben van, és az összehasonlítandó karakterláncok az A2:B6 tartományban vannak, a képlet a következőképpen néz ki:

    =SOROK(A2:B6)*OSZLOPOK(A2:B6)=SZÁMLÁLÁS(A2:B6,C2)

    Ahhoz, hogy az eredményeket felhasználóbarátabbá tegyük, azaz TRUE és FALSE helyett valami olyasmit adjunk ki, mint "All match" és "Not all match", használjuk az IF függvényt, mint az előző példákban:

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

    Ahogy a fenti képernyőképen látható, a képlet tökéletesen megbirkózik a szöveges karakterláncok tartományával, de számok és dátumok összehasonlítására is használható.

    Nagy- és kisbetű-érzékeny formula a karakterláncok összehasonlítására egy mintaszöveggel

    Ha a karakterek nagy- és kisbetűi nem mindegyek, akkor a következő tömbképletekkel hasonlíthatja össze a karakterláncokat a mintaszöveggel.

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

    Ha a forrástartomány az A2:B6 tartományban, a mintaszöveg pedig a C2 tartományban található, a képlet a következő alakot veszi fel:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "Minden egyezik", "Nem minden egyezik")

    A hagyományos Excel-képletekkel ellentétben a tömbképleteket a Ctrl + Shift + Enter billentyűkombinációval lehet kitölteni . Ha helyesen adjuk meg, az Excel a tömbképletet {szöges zárójelek} közé zárja, ahogy a képernyőképen látható:

    Hogyan hasonlítsunk össze két cellát a karakterlánc hossza alapján

    Néha ellenőrizni szeretné, hogy az egyes sorokban lévő szöveges karakterláncok azonos számú karaktert tartalmaznak-e. A feladat képlete nagyon egyszerű. Először a LEN függvény segítségével megkapja két cella karakterláncának hosszát, majd összehasonlítja a számokat.

    Tegyük fel, hogy az összehasonlítandó karakterláncok az A2 és B2 cellákban vannak, és használjuk a következő képletek valamelyikét:

    =LEN(A2)=LEN(B2)

    Vagy

    =IF(LEN(A2)=LEN(B2), "Egyenlő", "Nem egyenlő")

    Mint már tudod, az első formula TRUE vagy FALSE Boolean értékeket ad vissza, míg a második formula a saját eredményeidet adja ki:

    Amint a fenti képernyőképen látható, a képletek számok és szöveges karakterláncok esetén is működnek.

    Tipp: Ha két látszólag azonos hosszúságú karakterlánc különböző hosszúságú karakterláncot ad vissza, akkor a probléma valószínűleg a vezető vagy utánfutó terek az egyik vagy mindkét cellában. Ebben az esetben távolítsa el a felesleges szóközöket a TRIM funkcióval. A részletes magyarázatot és képletpéldákat itt találja: Hogyan vágjuk le a szóközöket az Excelben.

    Két cella összehasonlítása egy adott karakter előfordulása alapján

    Ez az utolsó példa az Excel Húros karakterláncok összehasonlítása oktatóprogramunkban, és egy meglehetősen speciális feladat megoldását mutatja be. Tegyük fel, hogy van 2 oszlopnyi szöveges karakterláncunk, amelyek tartalmaznak egy számunkra fontos karaktert. A célunk az, hogy ellenőrizzük, hogy az egyes sorok két cellája tartalmazza-e ugyanannyiszor az adott karaktert.

    Hogy a dolgok világosabbak legyenek, nézzük meg a következő példát. Tegyük fel, hogy két listája van a szállított (B oszlop) és a kapott (C oszlop) megrendelésekről. Minden sor egy adott tétel megrendeléseit tartalmazza, amelynek egyedi azonosítója szerepel az összes megrendelés azonosítójában, és ugyanabban a sorban szerepel az A oszlopban (lásd az alábbi képernyőképet). Biztosítani szeretné, hogy mindkét sor azonos számú szállított és kapott megrendelést tartalmazzon.az adott azonosítóval rendelkező elemek.

    A feladat megoldásához írj egy képletet a következő logikával.

    • Először is, a SUBSTITUTE függvény segítségével helyettesítse az egyedi azonosítót semmivel:

      SUBSTITUTE(A1, character_to_count,"")

    • Ezután számítsa ki, hogy az egyedi azonosító hányszor szerepel az egyes cellákban. Ehhez kapja meg a karakterlánc hosszát az egyedi azonosító nélkül, és vonja ki a karakterlánc teljes hosszából. Ezt a részt például az 1. és a 2. cellára külön-külön kell megírni:

      LEN(1. cella) - LEN(SUBSTITUTE(1. cella, character_to_count, ""))

      és

      LEN(2. cella) - LEN(SUBSTITUTE(2. cella, character_to_count, ""))

    • Végül hasonlítsuk össze a két számot úgy, hogy a fenti részek közé egyenlőségjelet (=) teszünk.
    LEN( 1. cella ) - LEN(HELYETTESÍTŐ( 1. cella , character_to_count , ""))=

    LEN( 2. cella ) - LEN(HELYETTESÍTŐ( 2. cella , character_to_count , ""))

    Példánkban az egyedi azonosító az A2 cellában van, az összehasonlítandó karakterláncok pedig a B2 és C2 cellákban. A teljes képlet tehát a következő:

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

    A képlet TRUE-t ad vissza, ha a B2 és C2 cellákban az A2-ben lévő karakter azonos számú előfordulása van, ellenkező esetben FALSE-t. Hogy az eredmények értelmesebbek legyenek a felhasználók számára, a képletet beágyazhatja az IF függvénybe:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Egyenlő", "Nem egyenlő")

    Amint a fenti képernyőképen látható, a képlet tökéletesen működik, néhány további komplikáció ellenére:

    • A számolandó karakter (egyedi azonosító) bárhol megjelenhet egy szöveges karakterláncban.
    • A karakterláncok változó számú karaktert és különböző elválasztójeleket, például pontosvesszőt, vesszőt vagy szóközt tartalmaznak.

    Így lehet összehasonlítani a karakterláncokat az Excelben. Ha közelebbről meg szeretné nézni az ebben a bemutatóban tárgyalt képleteket, akkor szívesen letölti az Excel Compare Strings Worksheet-et. Köszönöm, hogy elolvasta, és remélem, hogy jövő héten találkozunk a blogunkon.

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.