Tartalomjegyzék
Ez a bemutató elmagyarázza, hogyan kell használni a MATCH funkciót az Excelben, képletpéldákkal. Azt is megmutatja, hogyan lehet javítani a keresési képleteket a VLOOKUP és a MATCH dinamikus képletek készítésével.
A Microsoft Excelben számos különböző keresési/referenciafüggvény létezik, amelyek segítségével egy bizonyos értéket találhat egy cellatartományban, és a MATCH ezek egyike. Alapvetően egy elem relatív pozícióját azonosítja egy cellatartományban. A MATCH függvény azonban sokkal többre képes, mint a puszta lényege.
Excel MATCH funkció - szintaxis és felhasználások
Az Excel MATCH függvénye egy megadott értéket keres egy cellatartományban, és visszaadja az érték relatív pozícióját.
A MATCH függvény szintaxisa a következő:
MATCH(lookup_value, lookup_array, [match_type])Lookup_value (kötelező) - a keresett érték, amely lehet numerikus, szöveges vagy logikai érték, valamint cellahivatkozás.
Lookup_array (kötelező) - a keresendő cellák tartománya.
Match_type (opcionális) - meghatározza az egyezés típusát. Az alábbi értékek egyike lehet: 1, 0, -1. A 0-ra állított match_type argumentum csak a pontos egyezést adja vissza, míg a másik két típus közelítő egyezést tesz lehetővé.
- 1 vagy elhagyva (alapértelmezett) - megtalálja a legnagyobb érték a keresési tömbben, amely kisebb vagy egyenlő a keresési értékkel. A keresési tömb növekvő sorrendbe rendezését követeli meg, a legkisebbtől a legnagyobbig vagy A-tól Z-ig.
- 0 - keresse meg a tömb első olyan értékét, amelyik pontosan egyenlő a keresési értékhez. Nincs szükség rendezésre.
- -1 - megtalálni a legkisebb érték a tömbben, amely nagyobb vagy egyenlő a keresési értékkel. A keresési tömböt csökkenő sorrendbe kell rendezni, a legnagyobbtól a legkisebbig vagy Z-től A-ig.
Hogy jobban megértsük a MATCH függvényt, készítsünk egy egyszerű képletet az alábbi adatok alapján: a diákok neve az A oszlopban és a vizsgapontjaik a B oszlopban, a legnagyobbtól a legkisebbig sorolva.Hogy megtudjuk, hogy egy adott diák (mondjuk, Laura ) állványok többek között ezt az egyszerű képletet használják:
=MATCH("Laura", A2:A8, 0)
Opcionálisan a keresési értéket egy cellába (ebben a példában E1) helyezheti, és hivatkozhat erre a cellára az Excel Match képletében:
=MATCH(E1, A2:A8, 0)
Amint a fenti képernyőképen látható, a diáknevek tetszőleges sorrendben vannak megadva, ezért beállítjuk a match_type argumentumot 0-ra (pontos egyezés), mert csak ez az egyezéstípus nem igényel értékek rendezését a keresőtömbben. Technikailag a Match formula visszaadja Laura relatív pozícióját a tartományban. De mivel a pontszámok a legnagyobbtól a legkisebbig vannak rendezve, azt is megmondja, hogy Laura az 5. legjobb pontszámmal rendelkezik az összes diák közül.
Tipp. Az Excel 365 és az Excel 2021 programban használhatja az XMATCH függvényt, amely a MATCH modern és hatékonyabb utódja.
4 dolog, amit a MATCH funkcióról tudni kell
Amint az imént láthatta, a MATCH használata az Excelben egyszerű. Azonban, mint szinte minden más függvény esetében, van néhány olyan sajátosság, amellyel tisztában kell lennie:
- A MATCH függvény visszaadja a relatív pozíció a keresési értéket a tömbben, nem magát az értéket.
- A MATCH case-insensitive , ami azt jelenti, hogy nem tesz különbséget kis- és nagybetűs karakterek között, amikor szöveges értékeket kezel.
- Ha a keresési tömb a keresési érték több előfordulását tartalmazza, az első érték pozícióját adja vissza.
- Ha a keresési érték nem található a keresési tömbben, a rendszer a #N/A hibaüzenetet küldi vissza.
A MATCH használata Excelben - képletpéldák
Most, hogy már ismeri az Excel MATCH függvény alapvető felhasználási módjait, beszéljünk meg néhány további képletpéldát, amelyek túlmutatnak az alapokon.
Részleges egyezés jokerekkel
Sok más függvényhez hasonlóan a MATCH is megérti a következő helyettesítő karaktereket:
- Kérdőjel (?) - bármelyik karaktert helyettesíti.
- Csillag (*) - bármely karaktersorozatot helyettesít.
Megjegyzés: A helyettesítő karakterek csak a Match képletekben használhatók a következővel match_type 0-ra van állítva.
A vadkártyákkal ellátott Match formula olyan helyzetekben hasznos, amikor nem a teljes szöveges karakterláncot, hanem csak néhány karaktert vagy a karakterlánc egy részét szeretné egyezni. A lényeg szemléltetésére tekintse meg a következő példát.
Tegyük fel, hogy van egy listája a regionális viszonteladókról és az elmúlt hónap értékesítési számairól. Szeretné megtalálni egy bizonyos viszonteladó relatív pozícióját a listán (az értékesítési összegek szerint csökkenő sorrendben), de nem emlékszik pontosan a nevére, bár néhány kezdőbetűre emlékszik.
Feltételezve, hogy a viszonteladói nevek az A2:A11 tartományban vannak, és az "car" kezdetű nevet keresi, a képlet a következőképpen néz ki:
=MATCH("car*", A2:A11,0)
Hogy a Match képletünket sokoldalúbbá tegyük, beírhatjuk a keresési értéket egy cellába (ebben a példában az E1-be), és ezt a cellát összekapcsolhatjuk a joker karakterrel, például így:
=MATCH(E1& "*", A2:A11,0)
Ahogy az alábbi képernyőképen látható, a képlet 2-t ad vissza, ami a "Carter" pozíciója:
Ha csak egy karaktert szeretne helyettesíteni a keresési értékben, használja a "?" joker-operátort, például így:
=MATCH("ba?er", A2:A11,0)
A fenti képlet megfelel a " Baker ", és futtassa le újra a relatív pozícióját, ami 5.
Nagy- és kisbetű-érzékeny MATCH formula
Amint azt a bemutató elején említettük, a MATCH függvény nem tesz különbséget a kis- és nagybetűs karakterek között. Ha nagy- és kisbetű-érzékeny Match képletet szeretne készíteni, használja a MATCH-t az EXACT függvénnyel együtt, amely pontosan összehasonlítja a cellákat, beleértve a karakterek nagy- és kisbetűit is.
Itt van az általános, eset-érzékeny formula az adatok egyezéséhez:
MATCH(TRUE, EXACT( keresőtömb , keresési érték ), 0)A képlet a következő logika szerint működik:
- Az EXACT függvény összehasonlítja a keresési értéket a keresési tömb minden egyes elemével. Ha az összehasonlított cellák pontosan megegyeznek, a függvény TRUE-t, ellenkező esetben FALSE-t ad vissza.
- Ezután a MATCH függvény összehasonlítja a TRUE (amely a saját lookup_value ) az EXACT által visszaadott tömb minden egyes értékével, és visszaadja az első egyezés pozícióját.
Kérjük, ne feledje, hogy ez egy tömbképlet, amely a Ctrl + Shift + Enter billentyűkombináció lenyomását igényli a helyes befejezéshez.
Feltételezve, hogy a keresési érték az E1 cellában van, a keresési tömb pedig A2:A9, a képlet a következő:
=MATCH(TRUE, EXACT(A2:A9,E1),0)
A következő képernyőkép az Excelben a nagy- és kisbetű-érzékeny Match képletet mutatja:
2 oszlop összehasonlítása egyezések és különbségek keresésére (ISNA MATCH)
Két lista egyezéseinek és különbségeinek ellenőrzése az egyik leggyakoribb feladat az Excelben, és ez többféleképpen is elvégezhető. Az ISNA/MATCH képlet az egyik ilyen:
IF(ISNA(MATCH( 1. érték a List1-ben , List2 , 0))), "Not in List 1", "")A 2. lista bármely olyan értékére, amely nincs jelen az 1. listában, a képlet a " Nincs az 1. listán "... És íme, hogyan:
- A MATCH függvény az 1. listából egy értéket keres a 2. listán belül. Ha talál egy értéket, akkor visszaadja annak relatív pozícióját, egyébként #N/A hiba.
- Az ISNA függvény az Excelben csak egy dolgot csinál - ellenőrzi a #N/A hibákat (azaz "nem elérhető"). Ha egy adott érték #N/A hiba, a függvény TRUE-t ad vissza, egyébként FALSE-t. Esetünkben a TRUE azt jelenti, hogy az 1. listából nem található érték a 2. listában (azaz a MATCH #N/A hibát ad vissza).
- Mivel nagyon zavaró lehet a felhasználók számára, ha az 1. listában nem szereplő értékeknél TRUE-t látnak, az IF függvényt az ISNA köré tekerjük, hogy megjelenjen a " Nincs az 1. listán ", vagy bármilyen más szöveggel.
Például a B oszlopban lévő értékek összehasonlításához az A oszlopban lévő értékekkel a képlet a következő alakot veszi fel (ahol B2 a legfelső cella):
=IF(ISNA(MATCH(B2,A:A,0)), "Nincs az 1. listán", "")
Mint emlékszik, az Excelben a MATCH függvény önmagában nem érzékeny az esetekre. Ahhoz, hogy megkülönböztesse a karakterek esetét, ágyazzuk be az EXACT függvényt a lookup_array érv, és ne feledje, hogy a Ctrl + Shift + Enter billentyűkombinációt kell megnyomnia a befejezéshez. tömb képlet :
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Nincs az 1. listán", "")
A következő képernyőkép mindkét képletet működés közben mutatja:
Ha két lista Excelben történő összehasonlításának más módjait szeretné megtanulni, tekintse meg a következő bemutatót: Hogyan hasonlítsunk össze 2 oszlopot Excelben.
Excel VLOOKUP és MATCH
Ez a példa feltételezi, hogy már rendelkezik némi alapismerettel az Excel VLOOKUP funkcióról. És ha igen, akkor jó eséllyel belefutottál már annak számos korlátjába (amelyek részletes áttekintése megtalálható a Miért nem működik az Excel VLOOKUP), és egy robusztusabb alternatívát keresel.
A VLOOKUP egyik legbosszantóbb hátránya, hogy a keresőtáblán belüli oszlop beszúrása vagy törlése után nem működik tovább. Ez azért történik, mert a VLOOKUP a megadott visszatérő oszlop száma (indexszám) alapján húzza ki a megfelelő értéket. Mivel a indexszám a képletbe van "keményen kódolva", az Excel nem tudja azt módosítani, amikor új oszlop(ok) kerül(nek) hozzá a táblázathoz vagy törlődik(nek) belőle.
Az Excel MATCH funkciója egy relatív pozíció egy keresési értéket, ami tökéletesen illeszkedik a col_index_num Más szóval, ahelyett, hogy a visszatérő oszlopot statikus számként adná meg, a MATCH használatával az oszlop aktuális pozícióját kapja meg.
A könnyebb érthetőség kedvéért használjuk újra a diákok vizsgaeredményeit tartalmazó táblázatot (hasonlóan ahhoz, amit a bemutató elején használtunk), de ezúttal a valós pontszámot fogjuk lekérdezni, nem pedig a relatív pozícióját.
Feltételezve, hogy a keresési érték az F1 cellában van, a táblázat tömbje $A$1:$C$2 (jó gyakorlat, ha abszolút cellahivatkozásokkal rögzítjük, ha a képletet más cellákba akarjuk másolni), a képlet a következő:
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
A 3. érv ( col_index_num ) értéke 3, mert a Matematikai pontszám amit ki akarunk húzni, az a táblázat 3. oszlopa. Amint az alábbi képernyőképen látható, ez a szokásos Vlookup formula jól működik:
De csak addig, amíg be nem illeszt vagy nem töröl egy vagy több oszlopot:
Szóval, miért van a #REF! hiba? Mert col_index_num 3 értékre állítva azt mondja az Excelnek, hogy a harmadik oszlopból kapjon értéket, miközben most csak 2 oszlop van a táblázat tömbjében.
Az ilyen dolgok megelőzése érdekében dinamikusabbá teheti a Vlookup-képletet a következő Match funkcióval:
MATCH(E2,A1:C1,0)
Hol:
- E2 a keresési érték, amely a következő pontosan egyenlő a visszatérő oszlop nevére, azaz arra az oszlopra, amelyből értéket akarunk venni ( Matematikai pontszám ebben a példában).
- A1:C1 a táblázat fejléceit tartalmazó keresőtömb.
És most, illesszük be ezt a Match függvényt a col_index_num argumentumát a Vlookup képletedben, például így:
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
És győződjön meg róla, hogy kifogástalanul működik, függetlenül attól, hogy hány oszlopot ad hozzá vagy töröl:
A fenti képernyőképen az összes cellahivatkozást zároltam, hogy a képlet akkor is megfelelően működjön, ha a felhasználóim áthelyezik a munkalap egy másik helyére. Az alábbi képernyőképen látható, hogy a képlet egy oszlop törlése után is jól működik; az Excel ráadásul elég okos ahhoz, hogy ebben az esetben megfelelően beállítsa az abszolút hivatkozásokat:
Excel HLOOKUP és MATCH
Hasonló módon használhatja az Excel MATCH függvényét a HLOOKUP képletek javítására. Az általános elv lényegében ugyanaz, mint a Vlookup esetében: a Match függvényt használja a visszatérő oszlop relatív pozíciójának meghatározására, és ezt a számot adja meg a Vlookup függvénynek. row_index_num argumentumát a Hlookup képletedben.
Tegyük fel, hogy a keresési érték a B5 cellában van, a táblázat tömbje B1:H3, a visszatérő sor neve (a MATCH keresési értéke) az A6 cellában van, a sorcímek pedig A1:A3, a teljes képlet a következő:
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)
Amint az imént látta, a Hlookup/Vlookup & Match kombinációja mindenképpen előrelépés a hagyományos Hlookup és Vlookup formulákhoz képest. A MATCH funkció azonban nem szünteti meg az összes korlátozásukat. Különösen a Vlookup Match formula még mindig nem tud balra nézni, és a Hlookup Match nem tud a legfelső soron kívül más sorban keresni.
A fenti (és néhány más) korlátozás leküzdéséhez fontolja meg az INDEX MATCH kombináció használatát, amely egy igazán hatékony és sokoldalú módot biztosít a keresés elvégzésére az Excelben, és sok tekintetben jobb, mint a Vlookup és a Hlookup. A részletes útmutató és a képletpéldák megtalálhatók az INDEX & MATCH az Excelben - a VLOOKUP jobb alternatívája.
Így használja a MATCH képleteket az Excelben. Remélhetőleg a bemutatóban tárgyalt példák hasznosnak bizonyulnak a munkájában. Köszönöm, hogy elolvasta, és remélem, jövő héten találkozunk a blogon!
Gyakorlati munkafüzet letölthető
Excel MATCH képlet példák (.xlsx fájl)