![](https://cdn.wiki-base.com/4979160/excel_formula_filter_with_multiple_or_criteria__2.png.webp)
Резюме
Щоб витягти дані з кількома умовами АБО, ви можете використовувати функцію ФІЛЬТР разом із функцією МАТЧ. У наведеному прикладі формула в 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)))