Excel-formel: FILTER med flere ELLER kriterier -

Innholdsfortegnelse

Sammendrag

For å trekke ut data med flere ELLER forhold, kan du bruke FILTER-funksjonen sammen med MATCH-funksjonen. I eksemplet vist er formelen i F9:

=FILTER(B5:D16, ISNUMBER(MATCH(items,F5:F6,0))* ISNUMBER(MATCH(colors,G5:G6,0))* ISNUMBER(MATCH(cities,H5:H6,0)))

der gjenstander (B3: B16), farger (C3: C16) og byer (D3: D16) er kalt områder.

Denne formelen returnerer data der varen er (t-skjorter ELLER hettegenser) OG fargen er (rød ELLER blå) OG byen er (Denver ELLER seattle).

Forklaring

I dette eksemplet er kriterier angitt i området F5: H6. Logikken til formelen er:

varen er (t-skjorte ELLER hettegenser) OG fargen er (rød ELLER blå) OG byen er (Denver ELLER Seattle)

Filtreringslogikken til denne formelen (inkluderingsargumentet) brukes med funksjonene ISNUMBER og MATCH, sammen med boolsk logikk brukt i en arrayoperasjon.

MATCH er konfigurert "bakover", med oppslagsverdier som kommer fra dataene, og kriteriene som brukes for oppslagsmatrisen. For eksempel er den første betingelsen at elementene må være enten en T-skjorte eller hettegenser. For å bruke denne tilstanden er MATCH konfigurert slik:

MATCH(items,F5:F6,0) // check for tshirt or hoodie

Fordi det er 12 verdier i dataene, er vi resultatet en matrise med 12 verdier som dette:

(1;#N/A;#N/A;2;#N/A;2;2;#N/A;1;#N/A;2;1)

Denne matrisen inneholder enten # N / A-feil (ingen samsvar) eller tall (samsvar). Merknadstall tilsvarer varer som enten er T-skjorte eller hettegenser. For å konvertere denne matrisen til SANNE og FALSE verdier, er MATCH-funksjonen pakket inn i ISNUMBER-funksjonen:

ISNUMBER(MATCH(items,F5:F6,0))

som gir en matrise som dette:

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

I denne matrisen tilsvarer de SANNE verdiene t-skjorte eller hettegenser.

Den fulle formelen inneholder tre uttrykk som ovenfor brukt for inkluderingsargumentet til FILTER-funksjonen:

ISNUMBER(MATCH(items,F5:F6,0))* // tshirt or hoodie ISNUMBER(MATCH(colors,G5:G6,0))* // red or blue ISNUMBER(MATCH(cities,H5:H6,0))) // denver or seattle

Etter at MATCH og ISNUMBER er evaluert, har vi tre matriser som inneholder SANNE og FALSE verdier. Matematikkoperasjonen med å multiplisere disse matriser sammen tvinger de SANTE og FALSE verdiene til 1s og 0s, slik at vi kan visualisere arrays på dette punktet slik:

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

Resultatet, etter reglene for boolsk aritmetikk, er en enkelt matrise:

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

som blir inkludere-argumentet i FILTER-funksjonen:

=FILTER(B5:D16,(1;0;0;0;0;1;0;0;0;0;0;1))

Det endelige resultatet er de tre dataradene vist i F9: H11

Med hardkodede verdier

Selv om formelen i eksemplet bruker kriterier som er angitt direkte i regnearket, kan kriteriene hardkodes som matrisekonstanter i stedet for dette:

=FILTER(B5:D16, ISNUMBER(MATCH(items,("Tshirt";"Hoodie"),0))* ISNUMBER(MATCH(colors,("Red";"Blue"),0))* ISNUMBER(MATCH(cities,("Denver";"Seattle"),0)))

Interessante artikler...