Формула Excel: ФІЛЬТР із кількома критеріями АБО

Зміст

Резюме

Щоб витягти дані з кількома умовами АБО, ви можете використовувати функцію ФІЛЬТР разом із функцією МАТЧ. У наведеному прикладі формула в F9 має вигляд:

=FILTER(B5:D16, ISNUMBER(MATCH(items,F5:F6,0))* ISNUMBER(MATCH(colors,G5:G6,0))* ISNUMBER(MATCH(cities,H5:H6,0)))

де елементи (B3: B16), кольори (C3: C16) та міста (D3: D16) називаються діапазонами.

Ця формула повертає дані, де елемент (футболки АБО балахон) І колір (червоний АБО синій) І місто (Денвер АБО Сіетл).

Пояснення

У цьому прикладі критерії вводяться в діапазоні F5: H6. Логіка формули така:

товар (футболка АБО балахон) І колір (червоний АБО синій) І місто (Денвер АБО Сіетл)

Логіка фільтрації цієї формули (аргумент включення) застосовується з функціями ISNUMBER та MATCH разом із логічною логікою, застосованою в операції масиву.

MATCH налаштовується "назад", значення пошуку підходять до даних та критерії, що використовуються для масиву пошуку. Наприклад, першою умовою є те, що предмети повинні бути або футболкою, або балахоном. Щоб застосувати цю умову, MATCH налаштовано так:

MATCH(items,F5:F6,0) // check for tshirt or hoodie

Оскільки в даних є 12 значень, результатом є масив із 12 значеннями, подібними до цього:

(1;#N/A;#N/A;2;#N/A;2;2;#N/A;1;#N/A;2;1)

Цей масив містить або # N / A помилок (не збігається), або цифри (збіг). Номери повідомлень відповідають елементам, які є або футболкою, або балахоном. Щоб перетворити цей масив у значення TRUE та FALSE, функція MATCH обертається функцією ISNUMBER:

ISNUMBER(MATCH(items,F5:F6,0))

який видає такий масив:

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

У цьому масиві значення TRUE відповідають футболці або балахону.

Повна формула містить три вирази, подібні до наведених вище, що використовуються для аргументу include функції FILTER:

ISNUMBER(MATCH(items,F5:F6,0))* // tshirt or hoodie ISNUMBER(MATCH(colors,G5:G6,0))* // red or blue ISNUMBER(MATCH(cities,H5:H6,0))) // denver or seattle

Після обчислення MATCH та ISNUMBER ми маємо три масиви, що містять значення TRUE та FALSE. Математична операція множення цих масивів примушує значення TRUE і FALSE до 1s і 0s, тому ми можемо візуалізувати масиви в цей момент так:

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

Результат, дотримуючись правил булевої арифметики, є єдиним масивом:

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

який стає аргументом включення у функції FILTER:

=FILTER(B5:D16,(1;0;0;0;0;1;0;0;0;0;0;1))

Кінцевим результатом є три рядки даних, показані в F9: H11

З жорстко закодованими значеннями

Хоча формула у прикладі використовує критерії, введені безпосередньо на робочому аркуші, критерії можуть бути жорстко закодовані як константи масиву, замість цього:

=FILTER(B5:D16, ISNUMBER(MATCH(items,("Tshirt";"Hoodie"),0))* ISNUMBER(MATCH(colors,("Red";"Blue"),0))* ISNUMBER(MATCH(cities,("Denver";"Seattle"),0)))

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