Змест
Сёння я пакажу вам, як Excel фільтруе некалькі крытэрыяў некаторых супадаючых даных з дапамогай функцыі FILTER Excel. Перш чым перайсці да асноўнага абмеркавання, хачу нагадаць адну рэч. Функцыя FILTER даступная толькі ў Office 365 .
Спампаваць сшытак для практыкі
Filter Multiple Values.xlsx
Уводзіны ў функцыю FILTER
Давайце спачатку пазнаёмімся з функцыяй Excel FILTER для фільтрацыі некалькіх крытэрыяў.
Паглядзіце на набор даных ніжэй. У нас ёсць гады, краіны-гаспадары , краіны-чэмпіёны і краіны-віцэ-чэмпіёны ўсіх чэмпіянатаў свету ФІФА ў слупкі B, C, D, і E адпаведна.
Цяпер, калі я спытаю вас, у якія гады Бразілія стала чэмпіёнам?
Што вы будзеце рабіць?
Верагодна, вы пяройдзеце па слупку D (Чэмпіён) і паглядзіце, ці ёсць ячэйка, якая змяшчае Бразілію ці не.
Тады, калі вы знойдзеце яе, вы перамесціцеся на два крокі ўлева ад гэтай ячэйкі ў слупок B (Год) і запішыце адпаведны год.
І тады вы зноў пяройдзеце ўніз па слупку D і зробіце тое ж самае для ўсіх вочак, якія змяшчаюць Бразілію ў ім.
Такім чынам, вы запішыце ўсе гады, калі Бразілія была чэмпіёнам.
Для невялікага набору даных гэта ОК . Але вы можаце паўтарыць тую ж працэдуру для вялікага набору 4 разы . 3 разы Заходняй Германіяй і 1 раз цяперашняй Германіяй .
Цяпер, калі вы разумееце гэту формулу, ці можаце вы даведацца гады, калі Чэмпіянат свету па футболе прымалі дзве краіны ?
Я даю вы падказка. У назве прымаючай краіны павінны быць » і « . ( “і” паміж двума прабеламі)
Так. Вы маеце рацыю. Формула будзе наступнай:
=FILTER(B5:B25,ISNUMBER(SEARCH("* and *",C5:C25)))
Цяпер мы бачым, што гэта адбылося толькі аднойчы ў 2002 , арганізаваны Паўднёвай Карэяй і Японіяй .
Альтэрнатыўныя варыянты фільтрацыі некалькіх крытэрыяў у Excel
Згаданыя вышэй метады фільтрацыі некалькіх крытэрыяў вельмі карысныя. Але з адным недахопам функцыя ФІЛЬТР даступная толькі ў Office 365 .
Тым, хто не мае Office 365 падпіска, можа выкарыстоўваць гэтыя альтэрнатыўныя метады для фільтрацыі некаторых даных па некалькіх крытэрыях.
Каб даведацца гады, калі Італія была краінай-гаспадыняй або чэмпіёнам , выкарыстоўвайце наступную формулу:
=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")
І каб даведацца гады, калі Бразілія перамагала да 1970 , выкарыстоўвайце наступную формулу:
=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")
Заўвага: Вы не можаце выдаляць пустыя ячэйкі такім чынам, як функцыя FILTER . І націсніце Ctrl + Shift + Enter , каб увесці формулы.
Як выкарыстоўвацьПашыраны фільтр у Excel
Мы будзем прымяняць некалькі крытэрыяў да адзін слупок выкарыстоўваючы вылічаныя даныя . Тут мы збіраемся знайсці дастаўленыя прадукты з колькасцю больш за 50 але менш за 100 . Для гэтага нам трэба ўжыць наступную формулу . Формула гэта-
=IF(AND(E550),E5,FALSE)
Вывад у ячэйцы C16 гэта 55 як Дастаўленая колькасць трапляе ў дыяпазон .
Такім чынам, абярыце каманду Дадаткова у раздзеле Сартаваць & Параметры фільтра на ўкладцы Даныя .
Пасля гэтага мы змяшчаем увесь набор даных як Дыяпазон спісу і ячэйкі C15:C16 як дыяпазон крытэрыяў .
Нарэшце, націсніце ОК каб убачыць вынік , г.зн. спіс пастаўленых тавараў якія колькасць у дыяпазоне ад 50 да 100.
Выснова
Выкарыстоўваючы гэтыя метады, вы можаце адфільтраваць любыя даныя, падтрымліваючы некалькі крытэраў у Excel. Ці ведаеце вы які-небудзь іншы метад? Дайце нам ведаць у раздзеле каментарыяў.
дадзеных, падумайце, з 10000 радкоў?Дадаткова: Як адфільтраваць некалькі радкоў у Excel (11 прыдатных падыходаў)
Адказ - не, вялікае не.
Такім чынам, што рабіць?
Microsoft Excel змяшчае ўбудаваную функцыю пад назвай ФІЛЬТР для дакладнага выканання тая ж задача для вас.
Функцыя FILTER прымае тры аргументы, дыяпазон ячэек, які называецца масіў , крытэрый, які называецца include, і значэнне пад назвай if_empty , якое вяртаецца ў выпадку, калі крытэрый не выконваецца ні для адной ячэйкі.
Такім чынам, сінтаксіс функцыі FILTER :
=FILTER(array,include,[if_empty])
Для лепшага разумення давайце пяройдзем да праблемы Бразіліі . Мы павінны адфільтраваць гады, калі Бразілія стала чэмпіёнам.
Формула для дасягнення гэтага будзе:
=FILTER(B5:B25,D5:D25="Brazil","")
Бачыце, у нас ёсць усе гады, калі Бразілія стала чэмпіёнам, 1958, 1962,1970, 1994, і 2002 (Каляровым на малюнку).
Цяпер для разумення давайце разбяром формулу.
D5:D25=”Бразілія” праходзіць праз усе ячэйкі ад D5 да D25 і вяртае TRUE , калі знаходзіць Бразілію , у адваротным выпадку FALSE .
Формула FILTER(B5:B25,D5:D25=”Бразілія”,””) затым становіцца
=FILTER({B5,B6,B7,...,B25},{FALSE,FALSE,...,TRUE,...,FALSE},"")
Для кожнага TRUE ён вяртае суседнюю ячэйку з масіва {B5,B6,B7,…,B25}
А для FALSE ён вяртае невынік, “” . (Гэта неабавязкова. Па змаўчанні вынікаў няма, “” )
Існуе TRUE толькі для ячэек B9 , B10 , B12 , B18, і B20 .
Такім чынам, ён вяртае толькі змесціва гэтых ячэек, 1958, 1962, 1970, 1994 і 2002.
Гэта гады, калі Бразілія стала чэмпіёнам.
Спадзяюся, вы зразумелі, як працуе функцыя ФІЛЬТР .
Цяпер, калі вы гэта разумееце, ці можаце вы сказаць мне формулу для вызначэння гадоў, калі краіна-гаспадыня стала чэмпіёнам?
Так. Вы маеце рацыю. Формула:
=ФІЛЬТР(B5:B25,C5:C25=D5:D25,””)
Глядзіце, прымаючая краіна станавілася чэмпіёнам у 1930, 1934, 1966, 1974, 1978, і 1998.
4 спосабы фільтрацыі з некалькімі Крытэрыі ў Excel
Цяпер мы зразумелі, як працуе функцыя FILTER . На гэты раз паспрабуем прымяніць некалькі крытэрыяў у функцыі. Вось агляд набору дадзеных для сённяшняй задачы.
1. Фільтруйце некалькі значэнняў тыпу АБО
Перш за ўсё, давайце засяродзімся на некалькіх крытэрыях АБО тып. Гэта крытэрыі, якія выконваюцца, калі выконваецца адзін або больш чым адзін крытэрый.
Напрыклад, з прыведзенага вышэй набору даных, калі я папрашу вас, скажыце мне, праз год, калі Аргенціна стаў чэмпіёнам ці Заходняя Германія стаў віцэ-чэмпіёнам .
Вы можаце вызначыць або 1978 , або 1982 ці 1986 .
А цяпер давайце паспрабуем адфільтраваць усе гады, калі Італія была або гаспадыняй або чэмпіён або абодва . Гэта праблема тыпу АБО некалькіх крытэраў. Гэта лёгкая задача. Проста дадайце два крытэрыі са знакам плюс (+) . Давайце прытрымлівацца інструкцый ніжэй, каб адфільтраваць некалькі крытэрыяў у Excel!
Крокі:
- Перш за ўсё, абярыце ячэйку G5 і запішыце функцыю FILTER у гэтай ячэйцы. Функцыя будзе наступнай:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))
- Такім чынам, проста націсніце Enter на клавіятуры. У выніку вы атрымаеце гады, калі Італія была гаспадыняй або чэмпіёнам або абодва , што з'яўляецца вяртаннем функцыі FILTER .
Глядзіце, Італія была альбо гаспадаром, альбо чэмпіёнам, альбо абодвума ў гады 1934, 1938, 1982, 1990, і 2006.
Разбіўка формулы
Зараз, дзеля разумення, давайце разбяром формула.
- C5:C25=”Italy” вяртае масіў TRUE або FALSE. TRUE калі Італія была гаспадаром, FALSE інакш.
- D5:D25=”Італія” таксама вяртае масіў TRUE або ХЛУСНЯ . TRUE , калі Італія была чэмпіёнам, FALSE інакш.
- (C5:C25=”Італія”)+(D5:D25=”Італія”) дадае два масівы лагічных значэнняў, TRUE і FALSE . Але ён разглядае кожны TRUE як 1 ,і кожны FALSE як 0 .
- Такім чынам, ён вяртае 2 , калі абодва крытэрыі задавальняюцца, 1 калі задаволены толькі адзін крытэрый, і 0 , калі не задаволены ні адзін крытэрый.
Цяпер формула выглядае так:
=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})
Ён разглядае лічбы большыя за нуль (0 і 1 тут) як TRUE , а нулі як FALSE.
Такім чынам, ён вяртае гады са слупка B , калі сутыкаецца з лікам, большым за 0 , і не вяртае вынік у іншым выпадку.
Цяпер, калі вы разумееце, як функцыя ФІЛЬТР працуе з некалькімі крытэрамі тыпу АБО, ці можаце вы даць адказ на адно пытанне?
Якая будзе формула для фільтрацыі гадоў, калі Бразілія стала чэмпіёнам або Італія заняла другое месца ці абодва?
Так. Вы маеце рацыю. Формула будзе выглядаць так:
=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))
2. Ужыць функцыю ФІЛЬТРА для крытэрыя І
Зараз мы засяродзімся на некалькіх крытэрах тыпаў І . Гэта азначае, што мы павінны задаволіць усе крытэрыі, каб атрымаць вынік TRUE , інакш FALSE .
Мы ведаем, да года 1970 , чэмпіянат свету ФІФА быў названы трафеем Жуля Рыме . Пасля 1970 яго пачалі называць чэмпіянатам свету ФІФА . Такім чынам, маё першае пытанне: у якія гады Бразілія выйграла трафей "Жуля Рымэ" ?
Тут ёсць два крытэрыі .
- Па-першае, годпавінна быць менш або роўна 1970 .
- Па-другое, чэмпіёнам павінна быць Бразілія .
І абодва крытэрыі павінны быць выкананы. Як выканаць гэтую задачу?
Зусім проста. На гэты раз памножце два крытэрыі ўнутры функцыі FILTER са знакам (*) . Давайце прытрымлівацца інструкцый ніжэй, каб адфільтраваць некалькі крытэрыяў у Excel!
Крокі:
- Перш за ўсё, абярыце ячэйку G5 і запішыце функцыю FILTER у гэтай ячэйцы. Функцыя будзе наступнай:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))
Разбіўка формулы
-
(B5:B25<=1970
вяртае TRUE , калі год меншы або роўны 1970, у адваротным выпадку FALSE . -
(D5:D25="Brazil")
вяртае TRUE , калі краіна-чэмпіён - Бразілія, у адваротным выпадку FALSE. -
(B5:B25<=1970)*(D5:D25="Brazil")
памнажае два масівы TRUE і FALSE , але разглядае кожны TRUE як 1 і кожны FALSE як 0 . - Такім чынам, ён вяртае 1 , калі выкананы абодва крытэрыі, у адваротным выпадку ён вяртае 0.
- Цяпер формула становіцца наступнай:
=FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
- Ён вяртае год у слупку B , калі ён сутыкаецца з 1 , і не вяртае вынік, калі ён сутыкаецца з 0 .
- Такім чынам, проста націсніце Enter на клавіятуры. У выніку вы атрымаеце гады, калі Бразілія была чэмпіёнам трафея Жуля Рымэ , што з'яўляецца вяртаннем функцыі FILTER . Глядзіце,да 1970 Бразілія выйгравала тройчы , у 1958, 1962, і 1970 .
Такім чынам, мы можам адфільтраваць любыя даныя, якія задавальняюць некалькім крытэрыям тыпу І .
Цяпер вы можаце сказаць мне формулу, каб даведацца пра папярэднія гады 2000 , калі Бразілія стала чэмпіёнам, а Італія заняла другое месца?
Формула будзе наступнай:
=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))
Падобныя паказанні:
- Ужыць некалькі фільтраў у Excel [метады + VBA]
- Як фільтраваць даныя ў Excel з дапамогай формулы
- Даныя фільтра Excel на аснове значэння ячэйкі (6 эфектыўных спосабаў)
3. Фільтруйце некалькі крытэрыяў з камбінацыяй тыпаў І і АБО ў Excel
Выпадак 1: АБО ўнутры АБО
Калі я задам вам пытанне, у якія гады Паўднёваамерыканская краіна ( Бразілія, Аргенціна ці Уругвай ) была альбо чэмпіёнам ці другім месцам ?
Ці можаце вы даць адказ на маё пытанне?
Звярніце ўвагу. Тут краінай-чэмпіёнам павінна быць Бразілія, Аргенціна ці Уругвай . Або краінай, якая заняла другое месца, павінна быць Бразілія, Аргенціна ці Уругвай . Ці абодва. Гэта праблема тыпу АБО ўнутры АБО. Не хвалюйцеся, проста выконвайце інструкцыі ніжэй, каб адфільтраваць некалькі крытэрыяў у Excel!
Крокі:
- Перш за ўсё, абярыце ячэйку G5 і запішыце функцыі ў гэтай ячэйцы. Функцыі будуцьbe:
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Brazil","Argentina","Uruguay"},0)))+ (ISNUMBER(MATCH(E5:E25,{"Brazil","Argentina","Uruguay"},0))))
Разбіўка формулы
-
MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)
вяртае 1 , калі чэмпіёнам з'яўляецца Бразілія, 2 , калі чэмпіёнам з'яўляецца Аргенціна, 3 , калі чэмпіёнам з'яўляецца каманда з'яўляецца Уругвай, і памылка (N/A) , калі каманда-чэмпіён не з'яўляецца ніводнай з іх. -
ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0))
пераўтворыць лічбы ў TRUE і памылкі ў FALSE . - Аналагічным чынам,
ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0))
вяртае TRUE , калі краіна, якая заняла другое месца, - Бразілія, Аргенціна або Уругвай. І FALSE - Такім чынам,
(ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)))+(ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0)))
вяртае 1 або 2 , калі або паўднёваамерыканская краіна з'яўляецца чэмпіёнам, або другія, або абодва. - І вяртае нуль у адваротным выпадку.
- Формула становіцца:
=FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
- Яна вяртае год са слупка B , калі ён знаходзіць лік, большы за нуль, і не вяртае вынік у іншым выпадку.
- Такім чынам, проста націсніце Enter на клавіятуры . У выніку вы атрымаеце гады, калі паўднёваамерыканская краіна ( Бразілія, Аргенціна ці Уругвай ) была альбо чэмпіёнам ці другім месцам . Бачыце, мы знайшлі ўсе гады, калі паўднёваамерыканская краіна была або чэмпіёнам, або другім месцам.
Выпадак 2: АБО ў межах І
Калі вы разумееце прыведзеную вышэй формулу, ці можаце вы сказаць формулу для вызначэння гадоў, калі і чэмпіён, і другія месцы былі з Паўднёвай Амерыкі (Бразілія, Аргенціна, ці Уругвай) ?
Даволі лёгка. Проста заменіце знак (+) папярэдняй формулы на знак (*) . Функцыі:
=FILTER(B4:B24,(ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)))*(ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0))))
Бачыце, гэта адбылося толькі двойчы, у 1930 і 1950 гадах.
4. Выкарыстоўвайце функцыю FILTER у некалькіх слупках
Цяпер, калі вы заўважыце больш уважліва, вы ўбачыце, што да года 1990 існавала краіна пад назвай Заходняя Германія . А пасля 1990 няма Заходняй Германіі . Што такое Германія . Абодва на самай справе з адной краіны. У 1990 г. дзве Германіі (Усходняя і Заходняя) аб'ядналіся ў цяперашнюю Германію.
Цяпер вы можаце вызначыць гады, калі Германія была чэмпіёнам ? Незалежна ад таго, Усход ці Захад .
Вы павінны выкарыстоўваць функцыю FILTER у некалькіх слупках.
Формула будзе:
=FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25)))
Разбіўка формулы
-
SEARCH("*Germany",D5:D25)
шукае усё, што мае Германію ў канцы ў масіве D5 да D25 . Калі вам патрэбна Германія пасярэдзіне, выкарыстоўвайце “*Германія*”. - Яно вяртае 1 , калі знаходзіць адпаведнасць (Заходняя Германія і Германія) і вяртае Памылка
-
ISNUMBER(SEARCH("*Germany",D5:D25))
пераўтворыць 1 у ПРАВДА , а памылкі ў ХЛУСНЯ . - Нарэшце,
FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25)))
вяртае гады са слупка B , калі ён сутыкаецца з TRUE , у адваротным выпадку не вяртае выніку.
- Бач Германія была чэмпіёнам