
Všeobecný vzorec
=XLOOKUP(neworder,oldorder,XLOOKUP(val,lookup,results))
Zhrnutie
XLOOKUP možno použiť na zmenu poradia stĺpcov vložením jedného XLOOKUPu do druhého. V zobrazenom príklade je vzorec v G9:
=XLOOKUP(G8:J8,B4:E4,XLOOKUP(G5,E5:E15,B5:E15))
Ktorá vráti zhodu s hodnotou v G5 so všetkými 4 poľami v inej postupnosti.
Vysvetlenie
Tento vzorec používa XLOOKUP dvakrát tak, že vnorí jeden XLOOKUP do druhého. Prvý (vnútorný) XLOOKUP sa používa na vykonanie presného vyhľadávania zhody na hodnote v G5:
XLOOKUP(G5,E5:E15,B5:E15)
- Lookup_value pochádza z bunky G5
- Pole lookup_array je E5: E15 (kódy)
- Pole return_array je B5: E15 (všetky polia)
- Režim match_mode nie je poskytovaný a predvolene je 1 (presná zhoda)
- Režim hľadania nie je poskytovaný a predvolene má hodnotu 1 (od predposledného)
Výsledkom je zhoda na „AX-160“, ktorá sa vráti ako pole všetkých štyroch polí v pôvodnom poradí:
(160,130,60,"AX-160")
Tento výsledok sa doručí priamo do druhého (vonkajšieho) XLOOKUPU ako argument návratového poľa. Vyhľadávacia hodnota je poskytnutá ako rozsah predstavujúci nové poradie polí a vyhľadávacím poľom je rozsah obsahujúci pôvodné poradie názvov polí.
=XLOOKUP(G8:J8,B4:E4,(160,130,60,"AX-160"))
- Lookup_value is the range G8: J8 (new field order)
- Lookup_array je rozsah B4: E4 (staré poradie poľa)
- Pole return_array je výsledkom prvého XLOOKUPU
Toto je trochu zložité. Posielame viac hodnôt vyhľadávania, takže XLOOKUP interne vypočíta viac pozícií zhody. Pre každú hodnotu v novom rozsahu poradia polí nájde XLOOKUP pozíciu v starom rozsahu poradia polí a použije túto pozíciu na získanie hodnoty z návratového poľa (hodnoty vrátené prvou funkciou XLOOKUP). Výsledkom je pôvodný výsledok vyhľadávania s poľami usporiadanými v novom poradí.