Екцел формула: ФИЛТЕР са сложеним вишеструким критеријумима -

Преглед садржаја

Резиме

Да бисте филтрирали и издвојили податке на основу више сложених критеријума, можете да користите функцију ФИЛТЕР са ланцем израза који користе логичку логику. У приказаном примеру, формула у Г5 је:

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

Ова формула враћа податке где:

рачун почиње са "к" И регион је "исток", а месец НИЈЕ април.

Објашњење

У овом примеру морамо да конструишемо логику која филтрира податке тако да укључује:

рачун почиње са "к" И регион је "исток", а месец НИЈЕ април.

Логика филтрирања ове формуле (аргумент аргумент) креира се спајањем три израза који користе логичку логику на низовима у подацима. Први израз користи функцију ЛЕФТ да би тестирао да ли налог почиње са „к“:

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

Резултат је низ ТРУЕ ФАЛСЕ вредности попут ове:

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

Трећи израз користи функцију МОНТХ са функцијом НОТ да тестира да ли месец није април:

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

што даје:

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

Имајте на уму да функција НОТ поништава резултат из израза МОНТХ.

Сва три низа множе се заједно. Математичка операција присиљава вредности ТРУЕ и ФАЛСЕ на 1с и 0с, тако да у овом тренутку можемо визуализовати аргумент аргумент попут овог:

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

Функција ФИЛТЕР користи ову матрицу за филтрирање података и враћа четири реда који одговарају 1 у низу.

Критеријуми за проширивање

Изрази који се користе за креирање аргумента укључивања у филтер могу се према потреби проширити да би се обрађивали и сложенији филтри. На пример, да бисте даље филтрирали податке како би обухватили само редове чији је износ> 10000, могли бисте да користите формулу попут ове:

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

Занимљиви Чланци...