
Általános képlet
=XLOOKUP(neworder,oldorder,XLOOKUP(val,lookup,results))
Összegzés
Az XLOOKUP az oszlopok átrendezésére használható, ha az egyik XLOOKUP beágyazódik a másikba. A bemutatott példában a G9 képlete a következő:
=XLOOKUP(G8:J8,B4:E4,XLOOKUP(G5,E5:E15,B5:E15))
Ami a G5 értékének egyezését adja vissza, mind a 4 mező más sorrendben.
Magyarázat
Ez a képlet kétszer használja az XLOOKUP-ot, azáltal, hogy az egyik XLOOKUP-ot beágyazza a másikba. Az első (belső) XLOOKUP a G5-ben szereplő érték pontos egyezésének megkeresésére szolgál:
XLOOKUP(G5,E5:E15,B5:E15)
- A keresési_érték a G5 cellából származik
- A lookup_array értéke E5: E15 (kódok)
- A return_array értéke B5: E15 (minden mező)
- A match_mode nincs megadva, és alapértelmezés szerint 1 (pontos egyezés)
- A search_mode nincs megadva, és alapértelmezés szerint 1 (első az utolsóig)
Az eredmény az "AX-160" meccs, amelyet mind a négy mező tömbjeként adtak vissza az eredeti sorrendben:
(160,130,60,"AX-160")
Ez az eredmény közvetlenül a második (külső) XLOOKUP-ba kerül, mint visszatérő tömb argumentum. A keresési érték a mezők új sorrendjét képviselő tartományként kerül megadásra, a keresési tömb pedig az eredeti mezőnév-sorrendet tartalmazó tartomány.
=XLOOKUP(G8:J8,B4:E4,(160,130,60,"AX-160"))
- A keresési_érték a G8: J8 tartomány (új mezőrendezés)
- A lookup_array a B4: E4 tartomány (régi mező sorrend)
- A return_array az első XLOOKUP eredménye
Ez a trükkös bit. Több keresési értéket adunk át, így az XLOOKUP belső módon kiszámítja az egyezés több pozícióját. Az új mező sorrendtartomány minden értékéhez az XLOOKUP talál egy pozíciót a régi mező sorrendtartományon belül, és ezzel a pozícióval lekér egy értéket a visszatérő tömbből (az első XLOOKUP függvény által visszaadott értékek). Az eredmény az eredeti keresési eredmény, új mezőkben rendezett mezőkkel.