Enhavtabelo
La sintakso de MATCH tute ne provizas la serĉreĝiman argumenton.
XMATCH pritraktas tabelojn denaske
Malsimile al sia antaŭulo, la XMATCH-funkcio estis desegnita por dinamika Excel kaj pritraktas tabelojn denaske, sen ke vi devas premi Ctrl + Shift + Enter . Ĉi tio faras formulojn multe pli facile konstrui kaj redakti, precipe kiam oni uzas kelkajn malsamajn funkciojn kune. Nur komparu la sekvajn solvojn:
- Uskle-distinga formulo: XMATCH
La lernilo prezentas la novan Excel XMATCH-funkcion kaj montras kiel ĝi estas pli bona ol MATCH por solvi kelkajn oftajn taskojn.
En Excel 365, la XMATCH-funkcio estis aldonita por anstataŭi la funkcion. MATCH-funkcio. Sed antaŭ ol vi komencas ĝisdatigi viajn ekzistantajn formulojn, estus saĝe kompreni ĉiujn avantaĝojn de la nova funkcio kaj kiel ĝi diferencas de la malnova.
Resume, la funkcio XMATCH estas sama kiel MATCH sed pli fleksebla kaj fortikaj. Ĝi povas serĉi ambaŭ en vertikalaj kaj horizontalaj tabeloj, serĉi unua-al-lasta aŭ lasta-al-unua, trovi precizajn, proksimumajn kaj partajn kongruojn, kaj uzi pli rapidan binaran serĉalgoritmon.
Excel XMATCH-funkcio
La funkcio XMATCH en Excel liveras la relativan pozicion de valoro en tabelo aŭ gamo da ĉeloj.
Ĝi havas la jenan sintakson:
XMATCH(serĉa_valoro , serĉo_tabelo, [matĉo_reĝimo], [serĉo_reĝimo])Kie:
Serĉa_valoro (postulata) - la valoro serĉenda.
Serĉa_tabelo (postulata) - la tabelo aŭ gamo de ĉeloj kie serĉi.
Match_mode (laŭvola) - specifas kiun kongruospecon uzi:
- 0 aŭ ellasita (defaŭlte) - ĝusta kongruo
- -1 - ĝusta kongruo aŭ la sekva plej malgranda valoro
- 1 - preciza kongruo aŭ la sekva plej granda valoro
- 2 - ĵokera kongruo ( *, ?)
Serĉa_reĝimo (laŭvola) - specifas la serĉdirekton kaj algoritmon:
- 1 aŭ ellasita (defaŭlte) -matĉo aŭ sekva plej granda. Ne postulas ajnan ordigon.
Kiam la argumento match_mode / match_type estas agordita al -1:
- MATCH serĉas por preciza kongruo aŭ sekva plej granda. Necesas ordigi la serĉan tabelon en malkreskanta ordo.
- XMATCH serĉas ĝustan kongruon aŭ sekvan plej malgrandan. Ne postulas ajnan ordigon.
Serĉo de ĵokero
Por trovi partajn kongruojn kun XMATCH, vi devas agordi la argumenton match_mode al 2.
La MATCH-funkcio ne havas specialan ĵokeran kongruan reĝimon opcion. Plejofte, vi agordos ĝin por ĝusta kongruo ( match_type agordita al 0), kiu ankaŭ funkcias por ĵokeraj serĉoj.
Serĉreĝimo
Kiel la nova XLOOKUP. funkcio, XMATCH havas specialan argumenton serĉo_reĝimo , kiu ebligas al vi difini la direkton de serĉo :
- 1 aŭ ellasita (defaŭlte) - serĉu unue. -last.
- -1 - inversa serĉo laste-al-unua.
Kaj elektu duuman serĉalgoritmon , kiu estas tre rapida kaj efika ĉe ordigitaj datumoj .
- 2 - duuma serĉo sur datumoj ordigitaj supren.
- -2 - duuma serĉo sur datumoj ordigitaj malkreske.
Duuma serĉo , ankaŭ nomita duonintervala serĉo aŭ logaritma serĉo , estas speciala algoritmo kiu trovas la pozicion de serĉvaloro ene de tabelo komparante ĝin. al la meza elemento de la tabelo. Duuma serĉo estas multe pli rapida ol regulaserĉu de la unua ĝis la lasta.
- -1 - serĉu en inversa sinsekvo de la lasta ĝis la unua.
- 2 - duuma serĉo supreniranta. Necesas ke lookup_array estu ordigita en suprena ordo.
- -2 - binara serĉo malkreskanta. Necesas ke lookup_array estu ordigita en malkreskanta ordo.
Duuma serĉo estas pli rapida algoritmo kiu funkcias efike sur ordigitaj tabeloj. Por pliaj informoj, bonvolu vidi Serĉreĝimon.
Kiu Excel-versio havas XMATCH?
La XMATCH-funkcio disponeblas nur en Excel por Microsoft 365 kaj Excel 2021. En Excel 2019, Excel 2016 kaj pli frue. versioj, ĉi tiu funkcio ne estas subtenata.
Baza XMATCH-formulo en Excel
Por havi ĝeneralan ideon pri kio kapablas la funkcio, ni konstruu XMATCH-formulon en ĝia plej simpla formo, difinante nur la unuaj du postulataj argumentoj kaj lasante la laŭvolajn al siaj defaŭltaj.
Supozi, ke vi havas liston de oceanoj vicigitaj laŭ ilia grandeco (C2:C6) kaj vi deziras trovi la rangon de aparta oceano. Por fari ĝin, simple uzu la nomon de la oceano, diru Indian , kiel la serĉvaloron kaj la tutan liston de nomoj kiel la serĉtabelon:
=XMATCH("Indian", C2:C6)
Por fari la formulo pli fleksebla, enigu la oceanon de intereso en iu ĉelo, diru F1:
=XMATCH(F1, C2:C6)
Kiel rezulto, vi ricevas XMATCH-formulon por serĉi en vertikala tabelo . La eligo estas la relativa pozicio de la serĉvaloro en la tabelo, kiu en nia kazorespondas al la rango de la oceano:
Simila formulo funkcias perfekte ankaŭ por horizontala tabelo . Ĉio, kion vi bezonas fari, estas ĝustigi la referencon lookup_array :
=XMATCH(B5, B1:F1)
Excel XMATCH-funkcio - memorindaj aferoj
Por efike uzi XMATCH en viaj laborfolioj kaj malhelpi neatenditajn rezultojn, bonvolu memori ĉi tiujn 3 simplajn faktojn:
- Se estas du aŭ pli da okazoj de la serĉa valoro en la serĉa tabelo, la pozicio de la unua kongruo estas resendita se la argumento serĉa_reĝimo estas agordita al 1 aŭ ellasita. Kun serĉa_reĝimo agordita al -1, la funkcio serĉas en inversa sinsekvo kaj resendas la pozicion de la lasta kongruo kiel montrite en ĉi tiu ekzemplo.
- Se la serĉvaloro ne troviĝas , okazas eraro #N/A.
- La XMATCH-funkcio estas majuskkle laŭ naturo kaj ne povas distingi la literan majuskon. Por distingi minusklojn kaj majusklojn, uzu ĉi tiun majuskle-distintan XMATCH-formulon.
Kiel uzi XMATCH en Excel - formulekzemploj
La sekvaj ekzemploj helpos vin akiri pli da kompreno pri la XMATCH-funkcio kaj ĝiaj praktikaj uzoj.
Preciza kongruo kontraŭ proksimuma kongruo
La kongrua konduto de XMATCH estas regata de la nedeviga match_mode argumento:
- 0 aŭ ellasita (defaŭlte) - la formulo serĉas nur ĝustan kongruon. Se preciza kongruo ne estas trovita, a#N/A eraro estas resendita.
- -1 - la formulo serĉas ĝustan kongruon unue, kaj poste la sekvan pli malgrandan eron.
- 1 - la formulo serĉas ĝustan kongruon unue, kaj poste por la sekva pli granda ero.
Kaj nun, ni vidu kiel malsamaj kongruaj reĝimoj influas la rezulton de la formulo. Supozu, ke vi volas ekscii, kie certa areo, ekzemple 80 000 000 km2, staras inter ĉiuj oceanoj.
Ĝuste kongruo
Se vi uzas 0 por match_mode , vi' Mi ricevos eraron #N/A, ĉar la formulo ne povas trovi valoron ĝuste egalan al la serĉvaloro:
=XMATCH(80000000, C2:C6, 0)
Sekva plej malgranda ero
Se vi uzas -1 por match_mode , la formulo redonos 3, ĉar la plej proksima kongruo pli malgranda ol la serĉvaloro estas 70,560,000, kaj ĝi estas la 3-a ero en la serĉtabelo:
=XMATCH(80000000, C2:C6, -1)
Sekva plej granda ero
Se vi uzas 1 por match_mode , la formulo eligos 2, ĉar la plej proksima kongruo pli granda ol la serĉvaloro estas 85,133,000, kiu estas la dua ero en la serĉtabelo :
=XMATCH(80000000, C2:C6, -1)
La suba bildo montras ĉiujn rezultojn:
Kiel kongrui partan tekston en Excel kun ĵokeroj
La XMATCH-funkcio havas specialan kongruan reĝimon por ĵokeroj: la argumento match_mode metita al 2.
En la ĵokera kongrua reĝimo, XMATCH-formulo akceptas la sekvan ĵokeron signoj:
- Demandsigno (?) por kongrui kun iu ajn signo.
- Asterisko (*) por kongrui kun iu ajnsekvenco de signoj.
Bonvolu memori, ke ĵokeroj funkcias nur kun teksto, ne ciferoj.
Ekzemple, por trovi la pozicion de la unua ero kiu komenciĝas per "sudo". , la formulo estas:
=XMATCH("south*", B2:B6, 2)
Aŭ vi povas tajpi vian ĵokeran esprimon en iu ĉelo, diru F1, kaj provizi la ĉelan referencon por la argumento serĉa_valoro :
=XMATCH(F1, B2:B6, 2)
Kun la plej multaj Excel-funkcioj, vi uzus tildon (~) por trakti la asteriskon (~*) aŭ demandosignon (~?) kiel laŭvorte. signoj, ne ĵokeroj. Kun XMATCH, tildo ne estas bezonata. Se vi ne difinas la ĵokeran kongruan reĝimon, XMATCH supozos tion ? kaj * estas regulaj signoj.
Ekzemple, la suba formulo serĉos la intervalon A2:A7 ĝuste por la asteriska signo:
=XMATCH("*", A2:A7)
XMATCH inversa serĉo por trovi la lastan kongruon
En la okazo ke estas pluraj okazoj de la serĉvaloro en la serĉa tabelo, vi eble foje bezonos akiri la pozicion de la lasta okazo .
La direkto de serĉo estas regata esti la 4-a argumento de XMATCH nomita serĉa_reĝimo . Por serĉi en inversa sinsekvo, t.e. de malsupre ĝis supro en vertikala tabelo kaj de dekstre al maldekstre en horizontala tabelo, serĉo_modo devus esti agordita al -1.
En ĉi tiu ekzemplo, ni redonos la pozicion de la lasta rekordo por specifa serĉvaloro (bonvolu vidi la ekrankopion sube). Por tio, starigu la argumentojn kielsekvas:
- Serĉa_valoro - la cela vendisto en H1
- Serĉa_tabelo - vendistaj nomoj en C2:C10
- Match_mode estas 0 aŭ ellasita (preciza kongruo)
- Serĉa_reĝimo estas -1 (lasta-al-unua)
Meti la kvar argumentoj kune, ni ricevas ĉi tiun formulon:
=XMATCH(H1, C2:C10, 0, -1)
Kiu redonas la numeron de la lasta vendo farita de Laura:
Kiel komparu du kolumnojn en Excel por kongruo
Por kompari du listojn por kongruoj, vi povas uzi la funkcion XMATCH kune kun IF kaj ISNA:
IF( ISNA( XMATCH( cel_listo, serĉlisto, 0)), "Neniu kongruo", "Kongruo")Ekzemple, por kompari Liston 2 en B2:B10 kun Listo 1 en A2:A10, la formulo prenas la jenan formon:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")
En ĉi tiu ekzemplo, ni identigas nur kongruojn, tial la argumento value_if_true de la IF-funkcio estas malplena ĉeno ("").
Enigu la supran formulon en la plej supra ĉelo (C2 en nia kazo), premu Enigu , kaj ĝi "verŝiĝos" en la aliajn ĉelojn aŭtomate (i t estas nomita disverŝa intervalo):
Kiel ĉi tiu formulo funkcias
En la kerno de la formulo, la XMATCH-funkcio serĉas por valoro de Listo 2 ene de Listo 1. Se valoro estas trovita, ĝia relativa pozicio estas resendita, alie #N/A eraro. En nia kazo, la rezulto de XMATCH estas la sekva tabelo:
{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}
Ĉi tiu tabelo estas "alimentata" al la ISNA-funkcio por esti kontrolita por #N/A eraroj.Por ĉiu #N/A eraro, ISNA resendas VERA; por iu alia valoro - FALSA. Kiel rezulto, ĝi produktas la sekvan tabelon de logikaj valoroj, kie VERAJ reprezentas ne-kongruojn, kaj FALSA-oj reprezentas kongruojn:
{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}
La ĉi-supra tabelo iras al la logika testo de la IF-funkcio. . Depende de kiel vi agordis la lastajn du argumentojn, la formulo eligos la respondan tekston. En nia kazo, ĝi estas malplena ĉeno ("") por nekongruoj ( valoro_se_vera ) kaj "Kongruo en Listo 1" por kongruoj ( valoro_se_malvera ).
Notu. Ĉi tiu formulo funkcias nur en Excel 365 kaj Excel 2021, kiuj subtenas dinamikajn tabelojn. Se vi uzas Excel 2019, Excel 2016 aŭ pli fruan version, bonvolu kontroli aliajn solvojn: Kiel kompari du kolumnojn en Excel.
INDEXKOMATKO en Excel
XMATCH povas esti uzata kombine kun la INDEX-funkcio por retrovi valoron de alia kolumno asociita kun la serĉvaloro, same kiel la formulo INDEX MATCH. La ĝenerala aliro estas jena:
INDEX ( reveno _ tabelo , XMATCH ( serĉa_valoro , serĉa_tabelo )La logiko estas tre simpla kaj facile sekvi:
La funkcio XMATCH kalkulas la relativan pozicion de la serĉvaloro en la serĉa tabelo kaj pasas ĝin al la argumento row_num de INDEX. Surbaze de la vico nombro, la INDEX-funkcio liveras valoron el iu ajn kolumno kiun vi specifigas.
Ekzemple, por serĉi la areon.de la oceano en E1, vi povas uzi ĉi tiun formulon:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH por fari 2-dimentan serĉon
Al rigardi supren en kolumnoj kaj vicoj samtempe, uzu INDEX kune kun du XMATCH-funkcioj. La unua XMATCH ricevos la numeron de vico kaj la dua prenos la numeron de kolumno:
INDEX ( datumoj , XMATCH ( serĉa_valoro , vertikala _ serĉa_tabelo ), XMATCH ( serĉa valoro , horizontala _ serĉa_tabelo )))La formulo similas al INDEX MATCH MATCH krom ke vi povas preterlasi la argumenton match_mode ĉar ĝi defaŭlte estas ĝusta kongruo.
Ekzemple, por retrovi vendan nombron por donita ero (G1) en specifa monato (G2), la formulo estas :
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Kie B2:D8 estas datumĉeloj escepte de vicaj kaj kolumnaj kaplinioj, A2:A8 estas listo de eroj kaj B1:D1 estas monataj nomoj.
24>
Majuskkle-distinga XMATCH-formulo
Kiel jam menciite, la Excel-XMATCH-funkcio estas uskle-malsentema laŭ dezajno. Por devigi ĝin distingi tekstan majusklan, uzu XMATCH en kombinaĵo kun la ĜAKSTA funkcio:
KOMATKO(VERA, EKZAKTA( serĉa_tabelo , serĉa_valoro ))Por serĉi en inversa ordo de la lasta al la unua:
KONFORMO(VERA, EKZAKTA( serĉa_tabelo , serĉa_valoro ), 0, -1)La sekva ekzemplo montras ĉi tiu ĝenerala formulo en ago. Supozante, ke vi havas liston de uskle-distintaj produktaj identigiloj en B2:B11. Vi serĉastrovi la relativan pozicion de la objekto en E1. Uskle-distinga formulo en E2 estas tiel simpla kiel ĉi tio:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Kiel ĉi tiu formulo funkcias:
La EKZAKTA funkcio komparas la serĉan valoron kontraŭ ĉiu objekto en la serĉa tabelo. Se la komparitaj valoroj estas ekzakte egalaj, inkluzive de la literoj uskle, la funkcio liveras VERA, FALSE alie. Ĉi tiu tabelo de logikaj valoroj (kie VERAj reprezentas precizajn kongruojn) iras al la argumento lookup_array de XMATCH. Kaj ĉar la serĉvaloro estas VERA, la funkcio XMATCH resendas la pozicion de la unua trovita preciza kongruo aŭ la lasta preciza kongruo, depende de kiel vi agordis la argumenton serĉo_modo .
XMATCH vs. MATCH en Excel
XMATCH estis desegnita kiel pli potenca kaj diverstalenta anstataŭaĵo por MATCH, kaj do ĉi tiuj du funkcioj havas multon komuna. Tamen, estas esencaj diferencoj.
Malsama defaŭlta konduto
La MATCH-funkcio defaŭlte al ĝusta kongruo aŭ la sekva plej malgranda ero ( match_type agordita al 1 aŭ ellasita).
La XMATCH-funkcio defaŭlte al ĝusta kongruo ( match_mode agordita al 0 aŭ ellasita).
Malsama konduto por proksimuma kongruo
Kiam la match_mode La argumento / match_type estas agordita al 1:
- MATCH serĉas ĝustan kongruon aŭ sekvan plej malgrandan. Postulas, ke la serĉa tabelo estu ordigita en pligranda ordo.
- XMATCH serĉas ĝustajn