Tartalomjegyzék
Az oktatóanyag bemutatja az új Excel XMATCH funkciót, és megmutatja, hogy néhány gyakori feladat megoldásához hogyan jobb, mint a MATCH.
Az Excel 365-ben az XMATCH függvény a MATCH függvény helyébe lépett. Mielőtt azonban elkezdené frissíteni a meglévő képleteit, érdemes megértenie az új függvény minden előnyét, és hogy miben különbözik a régitől.
Összefoglalva, az XMATCH funkció megegyezik a MATCH funkcióval, de rugalmasabb és robusztusabb. Képes függőleges és vízszintes tömbökben is keresni, az elsőtől az utolsóig vagy az utolsótól az elsőig keresni, pontos, közelítő és részleges egyezéseket találni, és gyorsabb bináris keresési algoritmust használ.
Excel XMATCH funkció
Az Excel XMATCH függvénye visszaadja egy érték relatív pozícióját egy tömbben vagy egy cellatartományban.
A következő szintaxissal rendelkezik:
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])Hol:
Lookup_value (kötelező) - a keresett érték.
Lookup_array (kötelező) - a cellák tömbje vagy tartománya, ahol keresni kell.
Match_mode (opcionális) - megadja, hogy milyen típusú egyezést használjon:
- 0 vagy elhagyva (alapértelmezett) - pontos egyezés
- -1 - pontos egyezés vagy a következő legkisebb érték
- 1 - pontos egyezés vagy a következő legnagyobb érték
- 2 - helyettesítő karakter (*, ?)
Keresés_mód (opcionális) - meghatározza a keresési irányt és az algoritmust:
- 1 vagy elhagyva (alapértelmezett) - keresés az elsőtől az utolsóig.
- -1 - fordított sorrendben keres az utolsótól az elsőig.
- 2 - bináris keresés felfelé haladva. Igényli lookup_array növekvő sorrendbe kell rendezni.
- -2 - bináris keresés csökkenő. Követelmények lookup_array csökkenő sorrendbe kell rendezni.
A bináris keresés egy gyorsabb algoritmus, amely hatékonyan működik rendezett tömbökön. További információért lásd a Keresés módot.
Melyik Excel-verzió rendelkezik XMATCH-csal?
Az XMATCH funkció csak az Excel for Microsoft 365 és az Excel 2021 programban érhető el. Az Excel 2019, Excel 2016 és korábbi verziókban ez a funkció nem támogatott.
Alapvető XMATCH-képlet Excelben
Hogy általános képet kapjunk arról, hogy mire képes a függvény, építsünk fel egy XMATCH-formulát a legegyszerűbb formában, csak az első két szükséges argumentumot definiálva, és a választható argumentumokat az alapértelmezettek szerint hagyva.
Tegyük fel, hogy van egy listánk az óceánokról, méretük szerint rangsorolva (C2:C6), és szeretnénk megtalálni egy adott óceán rangját. Ehhez egyszerűen használjuk az óceán nevét, mondjuk Indiai , mint keresési érték és a teljes névlista, mint keresési tömb:
=XMATCH("Indian", C2:C6)
A képlet rugalmasabbá tételéhez írja be a kívánt óceánt egy cellába, mondjuk az F1-be:
=XMATCH(F1, C2:C6)
Ennek eredményeképpen egy XMATCH képletet kapunk, amelyet egy függőleges tömb A kimenet a keresési érték relatív pozíciója a tömbben, ami esetünkben az óceán rangjának felel meg:
Hasonló képlet tökéletesen működik egy horizontális tömb Mindössze annyit kell tennie, hogy beállítja a lookup_array hivatkozás:
=XMATCH(B5, B1:F1)
Excel XMATCH funkció - megjegyzendő dolgok
Az XMATCH hatékony használatához a munkalapokon és a váratlan eredmények elkerülése érdekében ne feledje ezt a 3 egyszerű tényt:
- Ha a keresési értéknek két vagy több előfordulása van a keresési tömbben, akkor a keresési érték pozíciója a első mérkőzés akkor kapjuk vissza, ha a search_mode argumentum 1-re van állítva vagy elhagyva. A search_mode -1-re állítva, a függvény fordított sorrendben keres, és visszaadja a pozíciót a utolsó mérkőzés amint azt ez a példa is mutatja.
- Ha a keresési érték nem található , #N/A hiba lép fel.
- Az XMATCH funkció case-insensitive A kis- és nagybetűs karakterek megkülönböztetéséhez használja ezt a nagy- és kisbetű-érzékeny XMATCH-formulát.
Az XMATCH használata Excelben - képletpéldák
A következő példák segítenek jobban megismerni az XMATCH funkciót és annak gyakorlati felhasználását.
Pontos egyezés vs. közelítő egyezés
Az XMATCH megfeleltetési viselkedését az opcionális match_mode érv:
- 0 vagy elhagyva (alapértelmezett) - a képlet csak pontos egyezést keres. Ha nem talál pontos egyezést, #N/A hibaüzenetet kap.
- -1 - a képlet először a pontos egyezést keresi, majd a következő kisebb elemet.
- 1 - a képlet először a pontos egyezést keresi, majd a következő nagyobb elemet.
És most nézzük meg, hogyan befolyásolják a különböző illesztési módok a képlet eredményét. Tegyük fel, hogy azt szeretnénk megtudni, hogy egy bizonyos terület, mondjuk 80 000 000 km2 , hol helyezkedik el az összes óceán között.
Pontos egyezés
Ha 0-t használsz a match_mode , akkor #N/A hibát fog kapni, mert a képlet nem talál pontosan a keresési értékkel megegyező értéket:
=XMATCH(80000000, C2:C6, 0)
Következő legkisebb tétel
Ha -1-et használsz a match_mode , a képlet 3-at fog visszaadni, mivel a legközelebbi egyezés, amely kisebb, mint a keresési érték, 70 560 000, és ez a keresési tömb 3. eleme:
=XMATCH(80000000, C2:C6, -1)
Következő legnagyobb tétel
Ha az 1-es értéket használja a match_mode , a képlet 2-t fog kiadni, mivel a legközelebbi egyezés, amely nagyobb, mint a keresési érték, 85,133,000, ami a keresési tömb 2. eleme:
=XMATCH(80000000, C2:C6, -1)
Az alábbi képen az összes eredmény látható:
Hogyan illessze a részleges szöveget az Excelben a helyettesítő karakterekkel
Az XMATCH függvénynek van egy speciális megfeleltetési módja a jokerekhez: a match_mode argumentum 2-re van állítva.
A helyettesítő karakteres megfeleltetési módban az XMATCH-képlet a következő helyettesítő karaktereket fogadja el:
- Kérdőjel (?), hogy bármelyik karakterrel megegyezzen.
- Csillag (*) bármely karaktersorozathoz.
Ne feledje, hogy a jokerek csak szöveggel működnek, számokkal nem.
Például az első olyan elem pozíciójának megkereséséhez, amely "south" betűvel kezdődik, a képlet a következő:
=XMATCH("south*", B2:B6, 2)
Vagy beírhatja a helyettesítő kifejezést valamelyik cellába, mondjuk az F1-be, és megadhatja a cellahivatkozást a lookup_value érv:
=XMATCH(F1, B2:B6, 2)
A legtöbb Excel-funkcióban a tilde (~) használatával a csillagot (~*) vagy a kérdőjelet (~?) szó szerinti karakterként kezeli, nem pedig jokerként. Az XMATCH esetében a tilde-ra nincs szükség. Ha nem határozza meg a joker-illesztési módot, az XMATCH azt feltételezi, hogy a ? és a * szabályos karakterek.
Például az alábbi képlet az A2:A7 tartományban pontosan a csillag karaktert keresi:
=XMATCH("*", A2:A7)
XMATCH fordított keresés az utolsó egyezés megtalálásához
Ha a keresési értéknek több előfordulása van a keresési tömbben, akkor néha szükség lehet arra, hogy a keresési érték pozícióját a utolsó előfordulás .
A keresés irányát az XMATCH 4. argumentuma határozza meg, melynek neve search_mode . fordított sorrendben történő keresés, azaz függőleges tömbben alulról felfelé, vízszintes tömbben jobbról balra, search_mode értékét -1-re kell állítani.
Ebben a példában az utolsó rekord pozícióját fogjuk visszaadni egy adott keresési értékhez (lásd az alábbi képernyőképet). Ehhez állítsa be az argumentumokat a következőképpen:
- Lookup_value - a célértékesítő a H1-ben
- Lookup_array - az eladók neve a C2:C10-ben
- Match_mode 0 vagy elhagyható (pontos egyezés)
- Keresés_mód -1 (az utolsótól az elsőig)
A négy érvet összevetve ezt a képletet kapjuk:
=XMATCH(H1, C2:C10, 0, -1)
Amely visszaadja Laura legutóbbi eladásának számát:
Hogyan hasonlítsunk össze két oszlopot az Excelben a mérkőzéshez
Két lista összehasonlításához az XMATCH funkciót használhatja az IF és az ISNA funkcióval együtt:
IF( ISNA( XMATCH( target_list , search_list , 0))), "No match", "Match")Például a B2:B10-es lista 2. listájának és az A2:A10-es lista 1. listájának összehasonlításához a képlet a következő formulát használja:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Találat az 1. listában")
Ebben a példában csak egyezéseket azonosítunk, ezért a value_if_true az IF függvény argumentuma egy üres karakterlánc ("").
Írja be a fenti képletet a legfelső cellába (esetünkben a C2-be), nyomja meg az Enter billentyűt, és a képlet automatikusan "ki fog ömleni" a többi cellába (ezt nevezik kiömlő tartománynak):
Hogyan működik ez a képlet
A képlet középpontjában az XMATCH függvény egy értéket keres a List 2-ből a List 1-ben. Ha talál egy értéket, akkor annak relatív pozícióját adja vissza, ellenkező esetben #N/A hiba. A mi esetünkben az XMATCH eredménye a következő tömb:
{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;#N/A;8;#N/A}
Ezt a tömböt "betáplálja" az ISNA függvénybe, hogy ellenőrizze, hogy nem tartalmaz-e #N/A hibákat. Minden #N/A hiba esetén az ISNA TRUE-t ad vissza, minden más érték esetén FALSE-t. Ennek eredményeként a logikai értékek következő tömbjét kapjuk, ahol a TRUE-ok a nem egyezéseket, a FALSE-ok pedig az egyezéseket jelölik:
{IGAZ;IGAZ;IGAZ;HAMIS;IGAZ;HAMIS;IGAZ;IGAZ;IGAZ;HAMIS;IGAZ}
A fenti tömb az IF függvény logikai tesztjébe kerül. Attól függően, hogy az utolsó két argumentumot hogyan állítottuk be, a képlet a megfelelő szöveget fogja kiadni. Esetünkben ez egy üres karakterlánc ("") a nem egyezés esetén ( value_if_true ) és a "Match in List 1" a mérkőzésekhez ( value_if_false ).
Megjegyzés: Ez a képlet csak a dinamikus tömböket támogató Excel 365 és Excel 2021 programokban működik. Ha Excel 2019, Excel 2016 vagy korábbi verziót használ, kérjük, tekintse meg a következő más megoldásokat: Hogyan hasonlítsunk össze két oszlopot az Excelben.
INDEX XMATCH az Excelben
Az XMATCH az INDEX függvénnyel kombinálva használható a keresési értékhez kapcsolódó másik oszlopból való érték kinyerésére, akárcsak az INDEX MATCH formula. Az általános megközelítés a következő:
INDEX ( return _ array , XMATCH ( lookup_value , lookup_array )A logika nagyon egyszerű és könnyen követhető:
Az XMATCH függvény kiszámítja a keresési érték relatív pozícióját a keresési tömbben, és átadja azt a row_num A sorszám alapján az INDEX függvény visszaad egy értéket bármelyik megadott oszlopból.
Ha például az E1-ben található óceán területét szeretné megnézni, használhatja ezt a képletet:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH 2-dimenziós keresés végrehajtásához
Az oszlopokban és sorokban való egyidejű kereséshez használja az INDEX-et két XMATCH függvénnyel együtt. Az első XMATCH a sorszámot, a második pedig az oszlopszámot kapja meg:
INDEX ( adatok , XMATCH ( lookup_value , függőleges _ lookup_array ), XMATCH ( keresési érték , vízszintes _ lookup_array ))A képlet hasonló az INDEX MATCH MATCH-hoz, kivéve, hogy elhagyhatja a match_mode argumentumot, mivel alapértelmezés szerint pontos egyezést használ.
Például egy adott hónap (G2) egy adott termék (G1) értékesítési számának lekérdezéséhez a képlet a következő:
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Ahol B2:D8 az adatcellák, kivéve a sor- és oszlopfejléceket, A2:A8 az elemek listája, B1:D1 pedig a hónapok nevei.
Nagy- és kisbetű-érzékeny XMATCH formula
Mint már említettük, az Excel XMATCH funkciója eleve nem érzékeny a nagy- és kisbetűkre. A szöveg nagy- és kisbetűinek megkülönböztetéséhez használja az XMATCH funkciót az EXACT funkcióval együtt:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Keresés a fordított sorrend az utolsótól az elsőig:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)A következő példa ezt az általános képletet mutatja be működés közben. Tegyük fel, hogy van egy listája a B2:B11-es listában szereplő, nagy- és kisbetűs termékazonosítóknak. Az E1-ben lévő tétel relatív pozícióját szeretné megtalálni. Az E2-ben lévő nagy- és kisbetűs képlet ilyen egyszerű:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Hogyan működik ez a képlet:
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 értékek pontosan megegyeznek, beleértve a karakterek esetét is, a függvény TRUE-t ad vissza, ellenkező esetben FALSE-t. Ez a logikai értékek tömbje (ahol a TRUE-ok a pontos egyezéseket jelentik) a(z) lookup_array És mivel a keresési érték TRUE, az XMATCH függvény az első talált pontos egyezés vagy az utolsó pontos egyezés pozícióját adja vissza, attól függően, hogy hogyan konfiguráltad az XMATCH függvényt. search_mode érv.
XMATCH vs. MATCH az Excelben
Az XMATCH-ot a MATCH erősebb és sokoldalúbb helyettesítőjeként tervezték, így a két funkció sok közös vonást mutat. Vannak azonban lényeges különbségek is.
Eltérő alapértelmezett viselkedés
A MATCH funkció alapértelmezés szerint pontos egyezést vagy a következő legkisebb elemet ( match_type 1-re van állítva vagy elhagyva).
Az XMATCH funkció alapértelmezés szerint pontos egyezést ( match_mode 0-ra van állítva vagy elhagyva).
Eltérő viselkedés a közelítő egyezés esetén
Amikor a match_mode / match_type argumentum értéke 1:
- A MATCH a pontos egyezést vagy a következő legkisebbet keresi. A keresési tömböt növekvő sorrendbe kell rendezni.
- Az XMATCH a pontos egyezést vagy a következő legnagyobb egyezést keresi. Nem igényel rendezést.
Amikor a match_mode / match_type argumentum -1-re van állítva:
- A MATCH a pontos egyezést vagy a következő legnagyobb egyezést keresi. A keresési tömb csökkenő sorrendbe rendezését igényli.
- Az XMATCH a pontos egyezést vagy a legközelebbi legkisebbet keresi. Nem igényel rendezést.
Wildcard keresés
Ahhoz, hogy részleges egyezéseket találjon az XMATCH segítségével, be kell állítani a match_mode érv a 2.
A MATCH funkciónak nincs speciális vadkártya-illesztési módja. A legtöbb esetben a pontos egyezés beállítása ( match_type 0-ra van állítva), ami a helyettesítő kereséseknél is működik.
Keresési mód
Az új XLOOKUP funkcióhoz hasonlóan az XMATCH is rendelkezik egy speciális search_mode argumentum, amely lehetővé teszi a a keresés iránya :
- 1 vagy elhagyva (alapértelmezett) - elsőtől utolsóig keresés.
- -1 - fordított keresés last-to-first.
És válasszon egy bináris keresési algoritmus , ami nagyon gyors és hatékony a rendezett adatok .
- 2 - bináris keresés az adatokon növekvő sorrendben.
- -2 - bináris keresés az adatokon csökkenő sorrendben.
Bináris keresés , más néven félintervallumos keresés vagy logaritmikus keresés , egy speciális algoritmus, amely egy keresési érték pozícióját egy tömbön belül úgy találja meg, hogy összehasonlítja azt a tömb középső elemével. A bináris keresés sokkal gyorsabb, mint a hagyományos keresés, de csak rendezett listákon működik helyesen. Rendezetlen adatokon rossz eredményeket adhat vissza, amelyek első látásra teljesen normálisnak tűnhetnek.
A MATCH szintaxisában egyáltalán nem szerepel a keresési mód argumentum.
Az XMATCH natívan kezeli a tömböket
Elődjével ellentétben az XMATCH függvényt a dinamikus Excelhez tervezték, és natívan kezeli a tömböket, anélkül, hogy a Ctrl + Shift + Enter billentyűkombinációt kellene megnyomnia . Ez megkönnyíti a képletek létrehozását és szerkesztését, különösen akkor, ha több különböző függvényt használunk együtt. Csak hasonlítsa össze a következő megoldásokat:
- Nagy- és kisbetű-érzékeny formula: XMATCH
- Két oszlop vagy lista összehasonlítása egyezések keresésére: XMATCH
XMATCH és MATCH elérhetőség
Az XMATCH egy új funkció, amely csak az Excel for Microsoft 365 és az Excel 2021 programban érhető el.
A MATCH funkció az Excel 365 bármelyik verziójában elérhető az Excel 2007-ig.
Így kell használni az XMATCH funkciót az Excelben. Köszönöm, hogy elolvastad, és remélem, hogy jövő héten találkozunk a blogon!
Gyakorlati munkafüzet letölthető
Excel XMATCH képlet példák (.xlsx fájl)