
Obecný vzorec
=XLOOKUP(neworder,oldorder,XLOOKUP(val,lookup,results))
souhrn
XLOOKUP lze použít ke změně pořadí sloupců vnořením jednoho XLOOKUPU do jiného. V zobrazeném příkladu je vzorec v G9:
=XLOOKUP(G8:J8,B4:E4,XLOOKUP(G5,E5:E15,B5:E15))
Což vrací shodu s hodnotou v G5 se všemi 4 poli v jiné posloupnosti.
Vysvětlení
Tento vzorec používá XLOOKUP dvakrát tím, že vnoří jeden XLOOKUP do jiného. První (vnitřní) XLOOKUP se používá k provedení přesné shody vyhledávání hodnoty v G5:
XLOOKUP(G5,E5:E15,B5:E15)
- Lookup_value pochází z buňky G5
- Lookup_array je E5: E15 (kódy)
- Pole return_array je B5: E15 (všechna pole)
- Režim shody není k dispozici a výchozí hodnota je 1 (přesná shoda)
- Režim search_mode není k dispozici a výchozí hodnota je 1 (první k poslednímu)
Výsledkem je shoda na „AX-160“, vrácená jako pole všech čtyř polí v původním pořadí:
(160,130,60,"AX-160")
Tento výsledek je doručen přímo do druhého (vnějšího) XLOOKUPU jako argument návratového pole. Vyhledávací hodnota je poskytována jako rozsah představující nové pořadí polí a vyhledávací pole je rozsah obsahující původní pořadí názvů polí.
=XLOOKUP(G8:J8,B4:E4,(160,130,60,"AX-160"))
- Lookup_value je rozsah G8: J8 (nové pole)
- Lookup_array je rozsah B4: E4 (staré pořadí polí)
- Pole return_array je výsledkem prvního XLOOKUPU
To je složitý kousek. Předáváme několik hodnot vyhledávání, takže XLOOKUP interně vypočítá více pozic shody. Pro každou hodnotu v novém rozsahu pořadí polí vyhledá XLOOKUP pozici uvnitř starého rozsahu pořadí polí a pomocí této pozice načte hodnotu z návratového pole (hodnoty vrácené první funkcí XLOOKUP). Výsledkem je původní výsledek vyhledávání s poli uspořádanými v novém pořadí.