Excel-formel: XLOOKUP omorganisere kolonner -

Generisk formel

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

Sammendrag

XLOOKUP kan brukes til å omorganisere kolonner ved å hekke en XLOOKUP i en annen. I eksemplet vist er formelen i G9:

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

Som returnerer et treff på verdien i G5, med alle de 4 feltene i en annen sekvens.

Forklaring

Denne formelen bruker XLOOKUP to ganger, ved å hekke en XLOOKUP i en annen. Den første (indre) XLOOKUP brukes til å utføre en nøyaktig samsvarssøk på verdien i G5:

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

  • Lookup_value kommer fra celle G5
  • Lookup_array er E5: E15 (koder)
  • Return_array er B5: E15 (alle felt)
  • Match_mode er ikke gitt og er som standard 1 (eksakt samsvar)
  • Søkemodus er ikke gitt og er som standard 1 (første til siste)

Resultatet er en kamp på "AX-160", returnert som en matrise av alle fire feltene i den opprinnelige rekkefølgen:

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

Dette resultatet blir levert direkte til det andre (ytre) XLOOKUP som returarrayargument. Oppslagsverdien er gitt som et område som representerer den nye rekkefølgen av felt, og oppslagsmatrisen er området som inneholder den opprinnelige feltnavnet.

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

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

Dette er den vanskelige biten. Vi gir inn flere oppslagsverdier, så XLOOKUP internt vil beregne flere kampposisjoner. For hver verdi i det nye feltordren, finner XLOOKUP en posisjon innenfor det gamle feltordren, og bruker denne posisjonen til å hente en verdi fra returmatrisen (verdiene som returneres av den første XLOOKUP-funksjonen). Resultatet er det opprinnelige oppslagsresultatet med felt arrangert i den nye ordren.

Interessante artikler...