Формула на Excel: ФИЛТЪР със сложни множество критерии -

Съдържание

Обобщение

За да филтрирате и извличате данни въз основа на множество сложни критерии, можете да използвате функцията FILTER с верига от изрази, които използват логическа логика. В показания пример формулата в G5 е:

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

Тази формула връща данни, където:

акаунтът започва с "x" И регионът е "изток", а месецът НЕ е април.

Обяснение

В този пример трябва да изградим логика, която филтрира данните, за да включва:

акаунтът започва с "x" И регионът е "изток", а месецът НЕ е април.

Филтриращата логика на тази формула (аргументът за включване) се създава чрез свързване на три израза, които използват логическа логика за масиви в данните. Първият израз използва функцията LEFT, за да провери дали Акаунтът започва с "x":

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

Резултатът е масив от TRUE FALSE стойности като този:

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

Вторият израз тества дали Регионът е "изток" с оператора, равен на (=):

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

Резултатът е друг масив:

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

Третият израз използва функцията MONTH с функцията NOT, за да провери дали месецът не е април:

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

което дава:

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

Обърнете внимание, че функцията NOT обръща резултата от израза MONTH.

И трите масива се умножават заедно. Операцията по математика принуждава стойностите TRUE и FALSE до 1s и 0s, така че в този момент можем да визуализираме аргумента за включване по следния начин:

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

Булево умножение съответства на логическата функция И, така че крайният резултат е единичен масив като този:

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

Функцията FILTER използва този масив за филтриране на данните и връща четирите реда, съответстващи на 1s в масива.

Критерии за разширяване

Изразите, използвани за създаване на аргумента за включване във филтър, могат да бъдат разширени, ако е необходимо, за да се справят с още по-сложни филтри. Например, за да филтрирате допълнително данните, за да включите само редове, където сумата е> 10000, можете да използвате формула като тази:

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

Интересни статии...