Формула Excel: Фильтр исключить пустые значения -

Содержание

Общая формула

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

Резюме

Чтобы отфильтровать строки с пустыми или пустыми ячейками, вы можете использовать функцию ФИЛЬТР с логической логикой. В показанном примере формула в F5:

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

Выходные данные содержат только строки из исходных данных, в которых все три столбца имеют значение.

Объяснение

Функция ФИЛЬТР предназначена для извлечения данных, соответствующих одному или нескольким критериям. В этом случае мы хотим применить критерии, которые требуют, чтобы все три столбца в исходных данных (имя, группа и комната) содержали данные. Другими словами, если в строке отсутствует какое-либо из этих значений, мы хотим исключить эту строку из вывода.

Для этого мы используем три логических выражения, работающих с массивами. Первое выражение проверяет наличие пустых имен:

B5:B15"" // check names

Оператор not () с пустой строкой ("") переводится как "не пусто". Для каждой ячейки в диапазоне B5: B15 результатом будет ИСТИНА или ЛОЖЬ, где ИСТИНА означает «не пусто», а ЛОЖЬ означает «пусто». Поскольку в диапазоне 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)

Когда массивы, полученные в результате трех приведенных выше выражений, умножаются вместе, математическая операция приводит значения ИСТИНА и ЛОЖЬ к 1 и 0. В этом случае мы используем умножение, потому что хотим применить логику «И»: выражение1 И выражение2 И выражение3. Другими словами, все три выражения должны возвращать ИСТИНА в данной строке.

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

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

Этот массив доставляется непосредственно в функцию FILTER в качестве аргумента включения. ФИЛЬТР включает только 6 строк, которые соответствуют единицам в окончательном выводе.

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