Excel formula: FILTER sa složenim višestrukim kriterijima -

Sadržaj

Sažetak

Za filtriranje i izdvajanje podataka na temelju višestruko složenih kriterija možete koristiti funkciju FILTER s lancem izraza koji koriste logičku logiku. U prikazanom primjeru formula u G5 je:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4))

Ova formula vraća podatke gdje:

račun počinje s "x" I regija je "istok", a mjesec NIJE travanj.

Obrazloženje

U ovom primjeru moramo konstruirati logiku koja filtrira podatke kako bi sadržavala:

račun počinje s "x" I regija je "istok", a mjesec NIJE travanj.

Logika filtriranja ove formule (argument argument) stvara se povezivanjem tri izraza koji koriste logičku logiku na nizovima u podacima. Prvi izraz koristi funkciju LIJEVO za testiranje počinje li račun s "x":

LEFT(B5:B16)="x" // account begins with "x"

Rezultat je niz TRUE FALSE vrijednosti poput ove:

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

Drugi izraz testira je li Regija "istok" s operatorom jednakim (=):

C5:C16="east" // region is east

Rezultat je drugi niz:

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

Treći izraz koristi funkciju MONTH s funkcijom NOT da provjeri nije li mjesec travanj:

NOT(MONTH(D5:D16)=4) // month is not april

što daje:

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

Imajte na umu da funkcija NOT poništava rezultat iz izraza MONTH.

Sva tri niza množe se zajedno. Matematička operacija prisiljava vrijednosti TRUE i FALSE na 1s i 0s, tako da u ovom trenutku možemo vizualizirati argument argument poput ovog:

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

Logičko množenje odgovara logičkoj funkciji I, pa je konačni rezultat jedan niz poput ovog:

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

Funkcija FILTER koristi ovaj niz za filtriranje podataka i vraća četiri retka koji odgovaraju jedinicama 1 u polju.

Proširivanje kriterija

Izrazi korišteni za stvaranje argumenta include u filtru mogu se prema potrebi proširiti kako bi se obrađivali još složeniji filtri. Na primjer, za daljnje filtriranje podataka kako bi obuhvatili samo retke u kojima je iznos> 10000, mogli biste upotrijebiti formulu poput ove:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4)*(E5:E16>10000))

Zanimljivi članci...