
Všeobecný vzorec
=XLOOKUP(A1,months,XLOOKUP(A2,names,data))
Zhrnutie
Ak chcete vykonať dvojité vyhľadávanie pomocou funkcie XLOOKUP (dvojitý XLOOKUP), môžete jeden XLOOKUP vnoriť do druhého. V zobrazenom príklade je vzorec v H6:
=XLOOKUP(H5,months,XLOOKUP(H4,names,data))
kde mesiace (C4: E4) a mená (B5: B13) a údaje (C5: E13) sú pomenované rozsahy.
Vysvetlenie
Jednou z funkcií aplikácie XLOOKUP je schopnosť vyhľadať a vrátiť celý riadok alebo stĺpec. Túto funkciu je možné použiť na vloženie jedného XLOOKUPU do druhého na vykonanie obojsmerného vyhľadávania. Vnútorný XLOOKUP vráti výsledok vonkajšiemu XLOOKUPU, ktorý vráti konečný výsledok.
Poznámka: Program XLOOKUP predvolene vykonáva presnú zhodu, takže režim zhody nie je nastavený.
Pri práci zvnútra von sa vnútorný XLOOKUP používa na získanie všetkých údajov pre výraz „Frantz“:
XLOOKUP(H4,names,data)
Program XLOOKUP nájde v pomenovaných názvoch rozsahov výraz „Frantz“ (B5: B13). Frantz sa objaví v piatom riadku, takže XLOOKUP vráti piaty riadok údajov (C5: E13). Výsledkom je pole predstavujúce jeden riadok údajov pre spoločnosť Frantz, ktoré obsahuje 3 mesiace predaja:
(10699,5194,10525) // data for Frantz
Toto pole je vrátené priamo do vonkajšieho XLOOKUPU ako return_array:
=XLOOKUP(H5,months,(10699,5194,10525))
Vonkajší XLOOKUP nájde hodnotu v H5 („Mar“) vo vnútri pomenovaného rozsahu mesiacov (C4: E4). Hodnota „Mar“ sa zobrazuje ako tretia položka, takže XLOOKUP vráti tretiu položku z údajov o predaji, hodnotu 10525.
Bez pomenovaných rozsahov
Pomenované rozsahy použité v tomto príklade slúžia iba na čitateľnosť. Bez pomenovaných rozsahov je vzorec:
=XLOOKUP(H5,C4:E4,XLOOKUP(H4,B5:B13,C5:E13))
INDEX a ZÁPAS
Tento príklad je možné vyriešiť pomocou INDEX a MATCH takto:
=INDEX(C5:E13,MATCH(H4,B5:B13,0),MATCH(H5,C4:E4,0))
INDEX a MATCH je dobré riešenie tohto problému a pre väčšinu ľudí je pravdepodobne ľahšie pochopiteľné. Verzia XLOOKUP však ukazuje silu a flexibilitu XLOOKUPU.