Формула Excel: XLOOKUP переставляє стовпці -

Зміст

Загальна формула

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

Резюме

XLOOKUP можна використовувати для впорядкування стовпців, вклавши один XLOOKUP всередину іншого. У наведеному прикладі формула в G9:

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

Що повертає відповідність значенню в G5, з усіма 4 полями в іншій послідовності.

Пояснення

Ця формула використовує XLOOKUP двічі, вклавши один XLOOKUP всередину іншого. Перший (внутрішній) XLOOKUP використовується для точного пошуку значень у значенні в G5:

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

  • Lookup_value походить з комірки G5
  • Масив_пошуку - E5: E15 (коди)
  • Return_array - B5: E15 (усі поля)
  • Режим match_mode не надається і за замовчуванням дорівнює 1 (точна відповідність)
  • Режим пошуку_не вказаний і за замовчуванням 1 (перший до останнього)

Результат - збіг на "AX-160", повернутий як масив усіх чотирьох полів у вихідному порядку:

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

Цей результат доставляється безпосередньо другому (зовнішньому) XLOOKUP як аргумент масиву повернення. Значення пошуку подається як діапазон, що представляє новий порядок полів, а масив підстановки - це діапазон, що містить вихідний порядок імен полів.

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

  • Lookup_value - це діапазон G8: J8 (новий порядок полів)
  • Lookup_array - це діапазон B4: E4 (старий порядок полів)
  • Return_array - це результат першого XLOOKUP

Це хитрий шматочок. Ми передаємо кілька значень пошуку, тому XLOOKUP внутрішньо обчислює кілька позицій збігів. Для кожного значення в новому діапазоні порядку полів XLOOKUP знайде позицію всередині старого діапазону полів полів і використає цю позицію для отримання значення з масиву повернення (значення, повернені першою функцією XLOOKUP). Результат - оригінальний результат пошуку з полями, розміщеними в новому порядку.

Цікаві статті...