![](https://cdn.wiki-base.com/2988622/excel_formula_filter_with_complex_multiple_criteria__2.png.webp)
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))