![](https://cdn.wiki-base.com/6031642/excel_formula_filter_exclude_blank_values__2.png.webp)
Загальна формула
=FILTER(data,(rng1"")*(rng2"")*(rng3""))
Резюме
Щоб відфільтрувати рядки з порожніми або порожніми клітинками, ви можете використовувати функцію ФІЛЬТР із логічною логікою. У наведеному прикладі формула в F5 має вигляд:
=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))
Вихідні дані містять лише рядки з вихідних даних, де всі три стовпці мають значення.
Пояснення
Функція ФІЛЬТР призначена для вилучення даних, які відповідають одному або декільком критеріям. У цьому випадку ми хочемо застосувати критерії, які вимагають, щоб усі три стовпці у вихідних даних (Ім'я, Група та Кімната) мали дані. Іншими словами, якщо в рядку відсутнє будь-яке з цих значень, ми хочемо виключити цей рядок із вихідних даних.
Для цього ми використовуємо три логічні вирази, що діють на масиви. Перші тести виразів для порожніх імен:
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 у кінцевому виведенні.