Formuła programu Excel: XLOOKUP zmienia kolejność kolumn -

Spisie treści

Formuła ogólna

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

Podsumowanie

XLOOKUP może służyć do zmiany kolejności kolumn poprzez zagnieżdżenie jednej XLOOKUP w drugiej. W przedstawionym przykładzie formuła w G9 to:

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

Który zwraca dopasowanie wartości w G5, przy czym wszystkie 4 pola znajdują się w innej kolejności.

Wyjaśnienie

Ta formuła używa XLOOKUP dwukrotnie, zagnieżdżając jeden XLOOKUP w drugim. Pierwsza (wewnętrzna) funkcja XLOOKUP służy do wyszukiwania dokładnego dopasowania wartości w G5:

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

  • Lookup_value pochodzi z komórki G5
  • Lookup_array to E5: E15 (kody)
  • Return_array to B5: E15 (wszystkie pola)
  • Nie podano parametru match_mode i domyślnie jest to 1 (dopasowanie ścisłe)
  • Nie podano opcji search_mode i domyślnie 1 (od pierwszej do ostatniej)

Wynikiem jest dopasowanie na „AX-160”, zwrócone jako tablica wszystkich czterech pól w pierwotnej kolejności:

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

Wynik ten jest dostarczany bezpośrednio do drugiego (zewnętrznego) XLOOKUP jako zwracany argument tablicy. Wartość wyszukiwania jest podawana jako zakres reprezentujący nową kolejność pól, a tablica wyszukiwania to zakres zawierający pierwotną kolejność nazw pól.

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

  • Lookup_value to zakres G8: J8 (nowa kolejność pól)
  • Lookup_array to zakres B4: E4 (stara kolejność pól)
  • Tablica_powrotu jest wynikiem z pierwszego XLOOKUP

To jest trudny kawałek. Przekazujemy wiele wartości wyszukiwania, więc XLOOKUP wewnętrznie obliczy wiele pozycji dopasowania. Dla każdej wartości w nowym zakresie kolejności pól XLOOKUP znajdzie pozycję wewnątrz starego zakresu kolejności pól i użyje tej pozycji do pobrania wartości z tablicy zwracanej (wartości zwrócone przez pierwszą funkcję XLOOKUP). Wynikiem jest oryginalny wynik wyszukiwania z polami ułożonymi w nowej kolejności.

Interesujące artykuły...