
Obecný vzorec
=XLOOKUP(val1&val2&val3,rng1&rng2&rng3,results)
souhrn
Chcete-li použít XLOOKUP s více kritérii, můžete zřetězit vyhledávací hodnoty a vyhledávací pole přímo ve vzorci. V zobrazeném příkladu je vzorec v H8:
=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14,E5:E14)
XLOOKUP vrací 17,00 $, což je cena za velké červené tričko.
Poznámka: XLOOKUP může nativně zpracovat pole; není třeba zadávat pomocí kláves Control + Shift + Enter.
Vysvětlení
Jednou z pěkných výhod XLOOKUPu oproti VLOOKUPu je, že XLOOKUP může pracovat s poli přímo, místo aby vyžadoval rozsahy v listu. To umožňuje sestavit pole ve vzorci a vložit je do funkce.
Při práci po jednom argumentu se vyhledávací hodnota vytvoří spojením H5, H6 a H7 pomocí zřetězení:
=XLOOKUP(H5&H6&H7
Výsledkem je řetězec „T-shirtLargeRed“.
Vyhledávací pole je vytvořeno podobným způsobem, kromě toho, že se nyní připojujeme k rozsahům:
=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14
Návratové pole je dodáváno jako normální rozsah :, E5: E14:
=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14,E5:E14
V podstatě hledáme vyhledávací hodnotu „T-shirtLargeRed“ v datech jako je tato:
vyhledávací pole | result_array |
---|---|
TričkoMalé Červené | 15 |
TričkoStředníModrá | 16 |
TričkoVelkéČervené | 17 |
Mikina s kapucí | 28 |
MikinaStředníModrá | 29 |
MikinaVelkáČerná | 30 |
KloboukStředníČerná | 25 |
HatMediumGray | 26 |
HatLargeRed | 24 |
TričkoVelkéModré | 16 |
Výchozí režim shody je přesný a výchozí režim vyhledávání je první shoda, takže XLOOKUP vrátí 17,00 $.
S logickou logikou
Zatímco výše vysvětlená syntaxe funguje dobře pro jednoduché porovnávání „rovná se“, můžete také použít logickou logiku k vytvoření vzorce jako je tento:
=XLOOKUP(1,(B5:B14=H5)*(C5:C14=H6)*(D5:D14=H7),E5:E14)
Jedná se o flexibilnější přístup, protože syntaxi lze upravit tak, aby podle potřeby používala další logické operátory a další funkce pro složitější vyhledávání.