Формула на Excel: Филтърът изключва празни стойности -

Съдържание

Обща формула

=FILTER(data,(rng1"")*(rng2"")*(rng3""))

Обобщение

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

=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))

Изходът съдържа само редове от изходните данни, където и трите колони имат стойност.

Обяснение

Функцията FILTER е предназначена за извличане на данни, които отговарят на един или повече критерии. В този случай искаме да приложим критерии, които изискват и трите колони в изходните данни (Име, Група и Стая) да имат данни. С други думи, ако в даден ред липсва някоя от тези стойности, ние искаме да изключим този ред от изхода.

За целта използваме три булеви израза, работещи върху масиви. Първите тестове на изрази за празни имена:

B5:B15"" // check names

Операторът not () с празен низ ("") се превежда като "не е празен". За всяка клетка в диапазона B5: B15 резултатът ще бъде TRUE или FALSE, където TRUE означава "не е празно", а FALSE означава "празно". Тъй като в диапазона има 11 клетки, получаваме 11 резултата в масив като този:

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

Тестовете за втори израз за празни групи:

C5:C15"" // check groups

Отново проверяваме 11 клетки, така че получаваме 11 резултата:

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

Накрая проверяваме за празни номера на стаите:

D5:D15"" // check groups

който произвежда:

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

Когато масивите, получени от трите израза по-горе, се умножат заедно, математическата операция принуждава стойностите TRUE и FALSE на 1s и 0s. В този случай използваме умножение, защото искаме да наложим логиката „И“: израз1 И израз2 И израз3. С други думи, и трите израза трябва да връщат TRUE в даден ред.

Следвайки правилата на логическата логика, крайният резултат е масив като този:

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

Този масив се доставя директно на функцията FILTER като аргумент за включване. FILTER включва само 6-те реда, които съответстват на 1s в крайния изход.

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