Excel formula: FILTER s višestrukim ILI kriterijima -

Sadržaj

Sažetak

Da biste izvukli podatke s više ILI uvjeta, možete koristiti funkciju FILTER zajedno s funkcijom MATCH. U prikazanom primjeru formula u F9 je:

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

gdje su rasponi imenovani stavke (B3: B16), boje (C3: C16) i gradovi (D3: D16).

Ova formula vraća podatke tamo gdje je predmet (majice ILI dukserica) I boja (crvena ILI plava) I grad (Denver ILI Seattl).

Obrazloženje

U ovom primjeru kriteriji se unose u rasponu F5: H6. Logika formule je:

predmet je (majica ILI dukserica) I boja je (crvena ILI plava) I grad je (denver ILI Seattl)

Logika filtriranja ove formule (argument argument) primjenjuje se s funkcijama ISNUMBER i MATCH, zajedno s logičkom logikom primijenjenom u operaciji niza.

MATCH je konfiguriran "unatrag", s vrijednostima pretraživanja koje dolaze iz podataka i kriterijima koji se koriste za polje pretraživanja. Primjerice, prvi uvjet je da predmeti moraju biti majica ili kapuljača. Da bi se primijenio ovaj uvjet, MATCH se postavlja ovako:

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

Budući da u podacima postoji 12 vrijednosti, rezultat je niz s 12 vrijednosti poput ove:

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

Ovaj niz sadrži ili # N / A pogrešaka (nema podudaranja) ili brojeva (podudaranje). Brojevi obavijesti odgovaraju stavkama koje su majica ili kapuljača. Da bi pretvorio ovaj niz u vrijednosti TRUE i FALSE, funkcija MATCH omotana je funkcijom ISNUMBER:

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

koji daje niz poput ovog:

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

U ovom nizu vrijednosti TRUE odgovaraju majici ili kapuljači.

Puna formula sadrži tri izraza poput gore korištenih za argument include funkcije FILTER:

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

Nakon procjene MATCH i ISNUMBER, imamo tri polja koja sadrže TRUE i FALSE vrijednosti. Matematička operacija množenja ovih nizova prisiljava vrijednosti TRUE i FALSE na 1s i 0s, tako da u ovom trenutku možemo vizualizirati nizove ovako:

(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)

Rezultat je, slijedeći pravila logičke aritmetike, jedan niz:

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

što postaje argument include u funkciji FILTER:

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

Konačni rezultat su tri reda podataka prikazana u F9: H11

S teško kodiranim vrijednostima

Iako formula u primjeru koristi kriterije unesene izravno na radni list, kriteriji se umjesto toga mogu teško kodirati kao konstante niza:

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

Zanimljivi članci...