Excel formula: FILTRS ar sarežģītiem vairākiem kritērijiem -

Satura rādītājs

Kopsavilkums

Lai filtrētu un izvilktu datus, pamatojoties uz vairākiem sarežģītiem kritērijiem, varat izmantot funkciju FILTER ar izteiksmju ķēdi, kas izmanto loģisko loģiku. Parādītajā piemērā formula G5 ir:

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

Šī formula atgriež datus, kur:

konts sākas ar "x" UN reģions ir "austrumi", un mēnesis NAV aprīlis.

Paskaidrojums

Šajā piemērā mums jāveido loģika, kas filtrē datus, iekļaujot:

konts sākas ar "x" UN reģions ir "austrumi", un mēnesis NAV aprīlis.

Šīs formulas filtrēšanas loģika (arguments ietver) tiek izveidota, sasaistot kopā trīs izteicienus, kas izmanto masīvos datu loģisko loģiku. Pirmajā izteiksmē tiek izmantota funkcija LEFT, lai pārbaudītu, vai konts sākas ar "x":

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

Rezultāts ir TRUE FALSE masīvs, piemēram:

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

Otra izteiksme pārbauda, ​​vai reģions ir "austrumi", ar vienādu (=) operatoru:

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

Rezultāts ir vēl viens masīvs:

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

Trešajā izteiksmē tiek izmantota funkcija MONTH ar funkciju NOT, lai pārbaudītu, vai mēnesis nav aprīlis:

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

kas dod:

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

Ņemiet vērā, ka funkcija NOT maina izteiksmes MONTH rezultātu.

Visi trīs masīvi tiek reizināti kopā. Matemātikas operācija TRUE un FALSE vērtības piesaista līdz 1s un 0s, tāpēc šajā brīdī mēs varam vizualizēt iekļaušanas argumentu šādi:

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

Būla reizināšana atbilst loģiskajai funkcijai AND, tāpēc gala rezultāts ir viens šāds masīvs:

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

Funkcija FILTER izmanto šo masīvu, lai filtrētu datus, un atgriež četras rindas, kas atbilst masīva 1s.

Kritēriju paplašināšana

Izteiksmes, ko izmanto, lai filtrā iekļautu argumentu, var paplašināt pēc nepieciešamības, lai apstrādātu vēl sarežģītākus filtrus. Piemēram, lai filtrētu datus, iekļaujot tikai tās rindas, kuru summa pārsniedz 10000, varat izmantot šādu formulu:

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

Interesanti raksti...