
Bendroji formulė
=XLOOKUP(neworder,oldorder,XLOOKUP(val,lookup,results))
Santrauka
„XLOOKUP“ gali būti naudojamas pertvarkant stulpelius, įdėjus vieną „XLOOKUP“ į kitą. Parodytame pavyzdyje formulė G9 yra:
=XLOOKUP(G8:J8,B4:E4,XLOOKUP(G5,E5:E15,B5:E15))
Kuris grąžina G5 vertės atitikimą su visais 4 laukais kita seka.
Paaiškinimas
Ši formulė naudoja XLOOKUP du kartus, įterpdama vieną XLOOKUP į kitą. Pirmasis (vidinis) XLOOKUP naudojamas norint tiksliai įvertinti G5 vertės atitikimą:
XLOOKUP(G5,E5:E15,B5:E15)
- Paieškos_vertė gaunama iš G5 langelio
- „Lookup_array“ yra E5: E15 (kodai)
- Return_array yra B5: E15 (visi laukai)
- „Match_mode“ nėra pateiktas ir numatytoji reikšmė yra 1 (tiksli atitiktis)
- „Search_mode“ nepateikiamas ir pagal numatytuosius nustatymus yra 1 (pirmasis iki paskutinis)
Rezultatas yra „AX-160“ atitiktis, grąžinta kaip visų keturių laukų masyvas originalo tvarka:
(160,130,60,"AX-160")
Šis rezultatas pateikiamas tiesiai į antrąjį (išorinį) XLOOKUP kaip grįžimo masyvo argumentą. Paieškos vertė pateikiama kaip diapazonas, nurodantis naują laukų tvarką, o paieškos masyvas yra diapazonas, kuriame yra pradinė laukų pavadinimų tvarka.
=XLOOKUP(G8:J8,B4:E4,(160,130,60,"AX-160"))
- „Lookup_value“ yra diapazonas G8: J8 (nauja lauko tvarka)
- „Lookup_array“ yra diapazonas B4: E4 (senoji lauko tvarka)
- Return_array yra pirmojo XLOOKUP rezultatas
Tai keblus dalykas. Mes perduodame kelias paieškos reikšmes, todėl „XLOOKUP“ viduje apskaičiuos kelias atitikties pozicijas. Kiekvienai naujo lauko užsakymo diapazono vertei XLOOKUP ras vietą senojo lauko užsakymų diapazone ir naudos šią padėtį, norėdamas gauti vertę iš grąžinimo masyvo (reikšmės, kurias grąžino pirmoji XLOOKUP funkcija). Rezultatas yra pradinis paieškos rezultatas su laukais, išdėstytais nauja tvarka.