Формула Excel: Фільтр виключає порожні значення -

Зміст

Загальна формула

=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 у кінцевому виведенні.

Цікаві статті...