Excel-formel: XLOOKUP med logiske kriterier -

Indholdsfortegnelse

Generisk formel

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

Resumé

For at bruge XLOOKUP med flere logiske skal du opbygge udtryk med boolsk logik og derefter kigge efter tallet 1. I eksemplet bruges XLOOKUP til at slå det første salg til Chicago op over $ 250. Formlen i G6 er:

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

som returnerer 0347, ordrenummeret på den første post, der opfylder de leverede kriterier.

Bemærk XLOOKUP er ikke store og små bogstaver.

Forklaring

XLOOKUP kan håndtere arrays indbygget, hvilket gør det til en meget nyttig funktion, når der konstrueres kriterier baseret på flere logiske udtryk.

I det viste eksempel leder vi efter ordrenummeret på den første ordre til Chicago over $ 250. Vi konstruerer et opslagsarray ved hjælp af følgende udtryk og boolesk logik:

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

Når dette udtryk evalueres, får vi først to arrays med SANDE FALSKE værdier som denne:

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

Når de to arrays multipliceres med hinanden, resulterer matematikoperationen i et enkelt array på 1 og 0 sådan:

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

Vi har nu følgende formel, og du kan se, hvorfor vi bruger 1 til opslagsværdien:

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

XLOOKUP matcher 1 i 8. position og returnerer den tilsvarende 8. værdi fra B5: B14, som er 0347.

Med et enkelt kriterium

Som det ses ovenfor, tvinger matematiske operationer automatisk SANDE og FALSKE værdier til 1 og 0. Derfor giver en opslagsværdi på 1 mening, når du bruger flere udtryk. I tilfælde, hvor du kun har et enkelt kriterium, siger "beløb> 250", kan du søge efter SAND i stedet sådan her:

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

Alternativt kan du tvinge de SANDE FALSKE værdier til 1'er og 0'er og bruge 1 sådan.

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

Interessante artikler...