Exceli valem: FILTER mitme keerulise kriteeriumiga -

Lang L: none (table-of-contents)

Kokkuvõte

Mitme keeruka kriteeriumi alusel andmete filtreerimiseks ja väljavõtmiseks võite kasutada funktsiooni FILTER koos lausereageeringut kasutava avaldiste ahelaga. Näidatud näites on valem G5-s järgmine:

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

See valem tagastab andmed, kus:

konto algab tähega "x" JA piirkond on "ida" ja kuu EI OLE aprill.

Selgitus

Selles näites peame üles ehitama loogika, mis filtreerib andmeid ja sisaldab järgmist:

konto algab tähega "x" JA piirkond on "ida" ja kuu EI OLE aprill.

Selle valemi (kaasata argument) filtreerimisloogika luuakse, aheldades kokku kolm avaldist, mis kasutavad andmemassiividel loogika loogikat. Esimene avaldis kasutab funktsiooni LEFT, et testida, kas konto algab tähega "x":

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

Tulemuseks on selliste TRUE FALSE väärtuste massiiv:

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

Teine avaldis testib, kas piirkond on "ida", operaatoriga (=) võrdne:

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

Tulemuseks on teine ​​massiiv:

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

Kolmas avaldis kasutab funktsiooni MONTH funktsiooniga EI, et testida, kas kuu pole aprill:

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

mis annab:

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

Pange tähele, et funktsioon EI pöörab MONTH avaldise tulemuse ümber.

Kõik kolm massiivi korrutatakse kokku. Matemaatikaoperatsioon sunnib TÕENE ja VÄÄR väärtused väärtusele 1 ja 0, nii et siinkohal saame visualiseerida kaasamise argumendi järgmiselt:

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

Boole'i ​​korrutamine vastab loogilisele funktsioonile AND, nii et lõpptulemuseks on üks selline massiiv:

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

Funktsioon FILTER kasutab seda massiivi andmete filtreerimiseks ja tagastab neli rida, mis vastavad massiivi 1-le.

Kriteeriumide laiendamine

Filtri kaasamise argumendi loomiseks kasutatud väljendeid saab veelgi keerukamate filtrite käsitsemiseks laiendada. Näiteks andmete täiendavaks filtreerimiseks, et lisada ainult ridu, mille summa on> 10000, võite kasutada järgmist valemit:

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

Huvitavad Artiklid...