Excel-formule: XLOOKUP met logische criteria -

Generieke formule

=XLOOKUP(1,(rng1="red")*(rng2>100),results)

Samenvatting

Om XLOOKUP met meerdere logische logica's te gebruiken, bouw je expressies met booleaanse logica en zoek je naar het nummer 1. In het voorbeeld wordt XLOOKUP gebruikt om de eerste verkoop aan Chicago van meer dan $ 250 op te zoeken. De formule in G6 is:

=XLOOKUP(1,(D5:D14="chicago")*(E5:E14>250),B5:B14)

die 0347 retourneert, het volgnummer van de eerste record die voldoet aan de opgegeven criteria.

Opmerking XLOOKUP is niet hoofdlettergevoelig.

Uitleg

XLOOKUP kan native arrays behandelen, wat het een zeer nuttige functie maakt bij het samenstellen van criteria op basis van meerdere logische expressies.

In het getoonde voorbeeld zijn we op zoek naar het bestelnummer van de eerste bestelling naar Chicago boven $ 250. We zijn een opzoekmatrix aan het construeren met behulp van de volgende uitdrukking en booleaanse logica:

(D5:D14="chicago")*(E5:E14>250)

Wanneer deze uitdrukking wordt geëvalueerd, krijgen we eerst twee arrays van TRUE FALSE-waarden als volgt:

(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE)* (FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE)

Wanneer de twee arrays met elkaar worden vermenigvuldigd, resulteert de wiskundige bewerking in een enkele array van enen en nullen als volgt:

(0;0;0;0;0;0;0;1;0;0)

We hebben nu de volgende formule en u kunt zien waarom we 1 gebruiken voor de opzoekwaarde:

=XLOOKUP(1,(0;0;0;0;0;0;0;1;0;0),B5:B14)

XLOOKUP komt overeen met de 1 op de 8e positie en retourneert de overeenkomstige 8e waarde uit B5: B14, wat 0347 is.

Met een enkel criterium

Zoals hierboven te zien is, dwingen wiskundige bewerkingen automatisch WAAR en ONWAAR waarden af ​​tot enen en nullen. Daarom is een opzoekwaarde van 1 zinvol wanneer u meerdere expressies gebruikt. In gevallen waarin u slechts één criterium heeft, bijvoorbeeld "aantal> 250", kunt u in plaats daarvan als volgt naar WAAR zoeken:

=XLOOKUP(TRUE,E5:E14>250,B5:B14)

Als alternatief kunt u de TRUE FALSE-waarden forceren naar enen en nullen, en 1 op deze manier gebruiken.

=XLOOKUP(1,--(E5:E14>250),B5:B14)

Interessante artikelen...