
Загальна формула
=XLOOKUP(A1,months,XLOOKUP(A2,names,data))
Резюме
Щоб виконати два пошуки за допомогою функції XLOOKUP (подвійний XLOOKUP), ви можете вкласти один XLOOKUP всередину іншого. У наведеному прикладі формула в H6 така:
=XLOOKUP(H5,months,XLOOKUP(H4,names,data))
де місяці (C4: E4) та імена (B5: B13) та дані (C5: E13) називаються діапазонами.
Пояснення
Однією з особливостей XLOOKUP є можливість пошуку та повернення цілого рядка або стовпця. Ця функція може бути використана для вкладання одного XLOOKUP всередину іншого для здійснення двостороннього пошуку. Внутрішній XLOOKUP повертає результат до зовнішнього XLOOKUP, який повертає кінцевий результат.
Примітка: XLOOKUP виконує точну відповідність за замовчуванням, тому режим відповідності не встановлений.
Працюючи зсередини, внутрішній XLOOKUP використовується для отримання всіх даних для "Франца":
XLOOKUP(H4,names,data)
XLOOKUP знаходить "Франца" в названих назвах діапазонів (B5: B13). Франц з'являється у п'ятому рядку, тому XLOOKUP повертає п'ятий рядок даних (C5: E13). Результат - масив, що представляє один рядок даних для Frantz, що містить 3 місяці продажів:
(10699,5194,10525) // data for Frantz
Цей масив повертається безпосередньо до зовнішнього XLOOKUP як return_array:
=XLOOKUP(H5,months,(10699,5194,10525))
Зовнішній XLOOKUP знаходить значення в H5 ("березень") всередині названих місяців діапазону (C4: E4). Значення "Mar" відображається як третій товар, тому XLOOKUP повертає третій елемент із даних про продажі, значення 10525.
Без названих діапазонів
Названі діапазони, використані в цьому прикладі, призначені лише для читабельності. Без іменованих діапазонів формула така:
=XLOOKUP(H5,C4:E4,XLOOKUP(H4,B5:B13,C5:E13))
ІНДЕКС і ЗБІГ
Цей приклад можна вирішити за допомогою INDEX та MATCH наступним чином:
=INDEX(C5:E13,MATCH(H4,B5:B13,0),MATCH(H5,C4:E4,0))
INDEX і MATCH - це гарне рішення цієї проблеми, і, мабуть, легше зрозуміле для більшості людей. Однак версія XLOOKUP демонструє потужність та гнучкість XLOOKUP.