Generisk formel
=XLOOKUP(value,rng1,rng2,"no match",0,-1) // last exact match
Sammanfattning
För att hämta den senaste matchningen i en datamängd med XLOOKUP, ställ in det femte argumentet till -1. I exemplet som visas är formeln i G5, kopierad ner,:
=XLOOKUP(F5,item,price,0,-1)
där artikel (B5: B15) och pris (D5: D15) heter intervall.
Förklaring
Som standard returnerar XLOOKUP den första matchningen i en datamängd. XLOOKUP erbjuder dock ett valfritt argument som heter search_mode för att styra den ordning i vilken data söks. Om du ställer in sökläget till -1 får XLOOKUP att söka "sist till först" eller, med andra ord, söka bakåt genom data. Du kan se detta alternativ som används i exemplet som visas. Formeln i G5, kopierad ner, är:
=XLOOKUP(F5,item,price,"no match",0,-1)
Samma formel utan namngivna intervall är:
=XLOOKUP(F5,$B$5:$B$15,$D$5:$D$15,"no match",0,-1)
XLOOKUP: s argument är konfigurerade enligt följande:
- Lookup_value kommer från cell F5
- Den uppslagnings är det namngivna området posten (B5: B15)
- Den return_array är det namngivna området pris (D5: D15)
- Argumentet not_found tillhandahålls som "ingen matchning"
- Match_mode är inställd på 0 (exakt matchning)
- Sökläget är inställt på -1 (sista till första)
Vid varje rad letar XLOOKUP efter artikelnamnet i kolumn F i B5: B15, börjar längst ner. När en exakt matchning hittas returneras motsvarande pris i kolumn D. Om ingen matchning hittas returnerar XLOOKUP # N / A.
Obs: detta exempel beror på att data sorteras efter datum i stigande ordning. Om data inte sorteras, se detta exempel.