
Обща формула
=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 се използва за извличане на всички данни за "Frantz":
XLOOKUP(H4,names,data)
XLOOKUP намира "Франц" в наименувания диапазон имената (B5: B13). Frantz се появява на петия ред, така че XLOOKUP връща петия ред с данни (C5: E13). Резултатът е масив, представляващ един ред данни за Frantz, съдържащ 3 месеца продажби:
(10699,5194,10525) // data for Frantz
Този масив се връща директно към външния XLOOKUP като return_array:
=XLOOKUP(H5,months,(10699,5194,10525))
Външният XLOOKUP намира стойността в H5 ("Mar") в рамките на посочените месеци от диапазона (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.