Index, Match och Xmatch
Svep för att visa menyn
XLOOKUP är den föredragna uppslagsfunktionen för moderna Excel-modeller, men många arbetsböcker i verkligheten förlitar sig fortfarande på INDEX och MATCH. I detta kapitel lär du dig hur dessa funktioner samverkar och hur XMATCH utökar samma logik med större flexibilitet.
MATCH-struktur
=MATCH(lookup_value, lookup_array, [match_type])
lookup_value: värde som söks;lookup_array: område som genomsöks;[match_type]: matchningsbeteende;0: exakt matchning;1: största värde mindre än eller lika med sökvärdet;-1: minsta värde större än eller lika med sökvärdet.
MATCH returnerar en position, inte det faktiska värdet.
INDEX-struktur
=INDEX(array, row_num, [col_num])
array: datamängd som returneras från;row_num: radposition;[col_num]: valfri kolumnposition.
INDEX hämtar ett värde baserat på position.
Kombination av INDEX och MATCH
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
MATCH(...): hittar produktens position;INDEX(...): returnerar värdet på den positionen.
Detta återskapar uppslagsbeteende utan riktningbegränsningar.
XMATCH-struktur
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
lookup_value: värde som söks;lookup_array: område som genomsöks;[match_mode]: matchningslogik;[search_mode]: sökriktning.
XMATCH returnerar positioner precis som MATCH, men lägger till moderna sökkontroller liknande XLOOKUP.
I bladet Summary, skriv:
=MATCH("Laptop", Products[Product], 0)
Bekräfta att Excel returnerar positionen för Laptop i tabellen Products.
Skriv:
=INDEX(Products[Price], 3)
Bekräfta att formeln returnerar värdet på position 3.
Skriv:
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
Formeln hämtar nu det matchande produktpriset dynamiskt.
Byt ut det fasta sökvärdet mot:
=INDEX(Products[Price], MATCH([@Product], Products[Product], 0))
[@Product]: aktuellt radvärde för Product;Products[Product]: uppslagskolumn;Products[Price]: returnerad värdekolumn.
Formeln fungerar nu dynamiskt i tabellstrukturen.
Skriv:
=XMATCH("Gaming Chair", Products[Product])
Bekräfta att Excel returnerar den matchande radpositionen.
Skriv:
=INDEX(Products, XMATCH("Gaming Chair", Products[Product]), XMATCH("Cost", Products[#Headers]))
- Första
XMATCH(...): hämtar radpositionen; - Andra
XMATCH(...): hämtar kolumnpositionen; INDEX(...): returnerar det korsande värdet.
Detta skapar ett helt dynamiskt rad-kolumn-uppslagsystem.
Ändra både produkt- och kolumnvärden i formeln.
Bekräfta att resultatet uppdateras dynamiskt baserat på vald rad- och kolumnkombination.
1. Vad är huvudrollen för MATCH i kombinationen INDEX/MATCH?
2. Varför krävs INDEX när man använder MATCH?
3. Vilken är den viktigaste fördelen med att använda INDEX tillsammans med XMATCH för tvådimensionella uppslag?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal