„Excel“ formulė: FILTRAS su sudėtingais keliais kriterijais

Turinys

Santrauka

Norėdami filtruoti ir išgauti duomenis pagal kelis sudėtingus kriterijus, galite naudoti funkciją FILTER su išraiškų grandine, naudojančia loginę logiką. Parodytame pavyzdyje formulė G5 yra:

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

Ši formulė pateikia duomenis, kai:

sąskaita prasideda „x“ IR regionas yra „rytai“, o mėnuo NE balandžio mėn.

Paaiškinimas

Šiame pavyzdyje turime sukurti logiką, kuri filtruoja duomenis, įtraukdama:

sąskaita prasideda „x“ IR regionas yra „rytai“, o mėnuo NE balandžio mėn.

Šios formulės filtravimo logika (argumentas „įtraukti“) sukuriama sujungiant tris išraiškas, kurios duomenų masyvuose naudoja loginę logiką. Pirmoji išraiška naudoja LEFT funkciją, kad patikrintų, ar paskyra prasideda „x“:

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

Rezultatas yra tokių TRUE FALSE reikšmių masyvas:

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

Antroji išraiška tikrina, ar regionas yra „rytai“, su lygiu (=) operatoriui:

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

Rezultatas yra dar vienas masyvas:

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

Trečioji išraiška naudoja funkciją MONTH su funkcija NOT, kad patikrintų, ar mėnuo nėra balandžio mėn .:

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

kuris duoda:

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

Atminkite, kad funkcija NOT pakeičia MONTH išraiškos rezultatą.

Visi trys masyvai dauginami kartu. Matematikos operacija verčia TRUE ir FALSE reikšmes 1s ir 0s, todėl šiuo metu galime vizualizuoti argumentą include:

(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ūlo dauginimas atitinka loginę funkciją AND, todėl galutinis rezultatas yra vienas toks masyvas:

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

Funkcija FILTRAS naudoja šį masyvą duomenims filtruoti ir pateikia keturias eilutes, kurios atitinka masyvo 1s.

Kriterijų išplėtimas

Išraiškos, naudojamos kuriant argumentą „įtraukti“, gali būti išplėstos, jei reikia, kad būtų tvarkomi dar sudėtingesni filtrai. Pvz., Norėdami toliau filtruoti duomenis, įtraukdami tik tas eilutes, kurių suma yra> 10000, galite naudoti tokią formulę:

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

Įdomios straipsniai...