Excel-formel: XLOOKUP omarrangere kolonner -

Indholdsfortegnelse

Generisk formel

=XLOOKUP(neworder,oldorder,XLOOKUP(val,lookup,results))

Resumé

XLOOKUP kan bruges til at omordne kolonner ved at indlejre en XLOOKUP inde i en anden. I det viste eksempel er formlen i G9:

=XLOOKUP(G8:J8,B4:E4,XLOOKUP(G5,E5:E15,B5:E15))

Hvilket returnerer et match på værdien i G5 med alle 4 felter i en anden rækkefølge.

Forklaring

Denne formel bruger XLOOKUP to gange ved at indlejre en XLOOKUP inde i en anden. Den første (indre) XLOOKUP bruges til at udføre et nøjagtigt match-opslag på værdien i G5:

XLOOKUP(G5,E5:E15,B5:E15)

  • Opslagsværdien kommer fra celle G5
  • Lookup_array er E5: E15 (koder)
  • Return_array er B5: E15 (alle felter)
  • Match_mode er ikke angivet og er som standard 1 (eksakt match)
  • Søgemåden er ikke angivet og er som standard 1 (første til sidste)

Resultatet er et match på "AX-160", returneret som en matrix med alle fire felter i den oprindelige rækkefølge:

(160,130,60,"AX-160")

Dette resultat leveres direkte til det andet (ydre) XLOOKUP som argumentet for returarray. Opslagsværdien tilvejebringes som et interval, der repræsenterer den nye rækkefølge af felter, og opslagsarrayet er det interval, der indeholder den oprindelige feltnavnsrækkefølge.

=XLOOKUP(G8:J8,B4:E4,(160,130,60,"AX-160"))

  • Lookup_value er området G8: J8 (ny feltrækkefølge)
  • Lookup_array er området B4: E4 (gammel feltrækkefølge)
  • Return_array er resultatet af den første XLOOKUP

Dette er den vanskelige bit. Vi sender flere opslagsværdier, så XLOOKUP internt beregner flere matchpositioner. For hver værdi i det nye feltordreområde finder XLOOKUP en position inden for det gamle feltordreområde og bruger denne position til at hente en værdi fra returarrayet (værdierne returneres af den første XLOOKUP-funktion). Resultatet er det oprindelige opslagsresultat med felter arrangeret i den nye ordre.

Interessante artikler...