![](https://cdn.wiki-base.com/2988622/excel_formula_filter_with_complex_multiple_criteria__2.png.webp)
Резиме
Да бисте филтрирали и издвојили податке на основу више сложених критеријума, можете да користите функцију ФИЛТЕР са ланцем израза који користе логичку логику. У приказаном примеру, формула у Г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))