Excel vzorec: XLOOKUP obousměrná přesná shoda -

Obsah

Obecný vzorec

=XLOOKUP(A1,months,XLOOKUP(A2,names,data))

souhrn

Chcete-li provést dvojité vyhledávání pomocí funkce XLOOKUP (dvojitý XLOOKUP), můžete vložit jeden XLOOKUP do jiného. V zobrazeném příkladu je vzorec v H6:

=XLOOKUP(H5,months,XLOOKUP(H4,names,data))

kde měsíce (C4: E4) a jména (B5: B13) a data (C5: E13) jsou pojmenované rozsahy.

Vysvětlení

Jednou z funkcí XLOOKUPu je schopnost vyhledat a vrátit celý řádek nebo sloupec. Tuto funkci lze použít k vložení jednoho XLOOKUPU do jiného, ​​aby bylo možné provést obousměrné vyhledávání. Vnitřní XLOOKUP vrátí výsledek vnějšímu XLOOKUPU, který vrátí konečný výsledek.

Poznámka: XLOOKUP ve výchozím nastavení provádí přesnou shodu, takže režim shody není nastaven.

Při práci zevnitř ven se vnitřní XLOOKUP používá k načtení všech dat pro „Frantz“:

XLOOKUP(H4,names,data)

XLOOKUP najde „Frantz“ v pojmenovaných názvech rozsahů (B5: B13). Frantz se objeví v pátém řádku, takže XLOOKUP vrátí pátý řádek dat (C5: E13). Výsledkem je pole představující jeden řádek dat pro Frantz, obsahující 3 měsíce prodeje:

(10699,5194,10525) // data for Frantz

Toto pole se vrací přímo do vnějšího XLOOKUPU jako return_array:

=XLOOKUP(H5,months,(10699,5194,10525))

Vnější XLOOKUP najde hodnotu v H5 („Mar“) uvnitř pojmenovaného rozsahu měsíců (C4: E4). Hodnota „Mar“ se zobrazí jako třetí položka, takže XLOOKUP vrátí třetí položku z údajů o prodeji, hodnotu 10525.

Bez pojmenovaných rozsahů

Pojmenované rozsahy použité v tomto příkladu jsou pouze pro čitelnost. Bez pojmenovaných rozsahů je vzorec:

=XLOOKUP(H5,C4:E4,XLOOKUP(H4,B5:B13,C5:E13))

INDEX a MATCH

Tento příklad lze vyřešit pomocí INDEX a MATCH takto:

=INDEX(C5:E13,MATCH(H4,B5:B13,0),MATCH(H5,C4:E4,0))

INDEX a MATCH je dobrým řešením tohoto problému a pro většinu lidí pravděpodobně srozumitelnější. Verze XLOOKUP však ukazuje sílu a flexibilitu XLOOKUP.

Zajímavé články...