Как фильтровать по нескольким критериям в Excel (4 простых способа)

  • Поделись Этим
Hugh West

Сегодня я покажу вам, как Excel фильтрует по нескольким критериям некоторые совпадающие данные, используя функция ФИЛЬТР Excel. Прежде чем перейти к основному обсуждению, я хотел бы напомнить вам одну вещь. ФИЛЬТР функция доступна только в Office 365 .

Скачать Рабочую тетрадь для практических занятий

Фильтр нескольких значений.xlsx

Введение в функцию ФИЛЬТР

Давайте познакомимся с функцией Excel ФИЛЬТР функцию сначала для фильтрации по нескольким критериям.

Посмотрите на набор данных ниже. У нас есть годы, годы принимающие страны , the страны-чемпионы , и страны, занявшие второе место из всех Чемпионаты мира по футболу в колоннах B, C, D, и E соответственно.

Теперь, если я спрошу вас, какие годы, когда Бразилия стал чемпионом?

Что вы будете делать?

Вы, вероятно, пройдете через колонку D (Чемпион), и посмотрите, есть ли клетка, содержащая Бразилия в нем или нет.

Затем, когда вы найдете одну, вы переместитесь на два шага влево от этой ячейки в столбец B (Год), и запишите соответствующий год.

Затем вы снова пройдете по колонке D и проделать то же самое для всех ячеек, содержащих Бразилия в нем.

Таким образом, вы запишете все годы, когда Бразилия был чемпионом.

Для небольшого набора данных это OK Но можете ли вы повторить ту же процедуру для большого набора данных, подумайте, из 10000 ряды?

Читать далее: Как фильтровать несколько строк в Excel (11 подходящих подходов)

Ответ - нет, очень много нет.

Что же делать?

В Microsoft Excel есть встроенная функция под названием ФИЛЬТР для выполнения точно такой же задачи для вас.

Сайт ФИЛЬТР Функция принимает три аргумента, диапазон ячеек, называемый массив критерий, называемый включают, и значение, называемое если_пустой который возвращается в случае, если критерий не выполняется ни для одной ячейки.

Таким образом, синтаксис ФИЛЬТР функция:

=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.

В эти годы Бразилия стала чемпионом.

Надеюсь, вы поняли, как ФИЛЬТР функция работает.

Теперь, если вы понимаете это, можете ли вы сказать мне формулу, чтобы узнать годы, когда принимающая страна становилась чемпионом?

Да. Вы правы. Формула такова:

=FILTER(B5:B25,C5:C25=D5:D25,””)

Смотрите, принимающая страна стала чемпионом в 1930, 1934, 1966, 1974, 1978, и 1998.

4 способа фильтрации по нескольким критериям в Excel

Теперь мы поняли, как ФИЛЬТР В этот раз попробуем применить несколько критериев в функции. Вот обзор набора данных для сегодняшнего задания.

1. Фильтр нескольких значений типа OR

Прежде всего, давайте остановимся на нескольких критериях ИЛИ тип. Это критерии, которые удовлетворяются, когда удовлетворяется любой один или несколько критериев.

Например, из приведенного выше набора данных, если я спрошу вас, скажите мне один год, когда Аргентина стал чемпион или Западная Германия стал второе место .

Вы можете сказать либо 1978 , или 1982 или 1986 .

Теперь давайте попробуем отфильтровать все годы, когда Италия был либо хост или чемпион , или оба Это проблема ИЛИ введите несколько критериев. Это простая задача. Просто добавьте два критерия с плюсом (+) Знак. Давайте выполним следующие инструкции, чтобы отфильтровать несколько критериев в Excel!

Шаги:

  • Прежде всего, выберите ячейку G5 , и запишите функция ФИЛЬТР в этой ячейке. Функция будет:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))

  • Следовательно, просто нажмите Войти на клавиатуре. В результате вы получите годы, когда Италия была хост или чемпион или оба что является возвращением функция ФИЛЬТР .

См, Италия был либо хозяином, либо чемпионом, либо и тем, и другим в годы 1934, 1938, 1982, 1990, и 2006.

Разбивка формулы

Теперь, для лучшего понимания, давайте разложим формулу по полочкам.

  • C5:C25="Италия" возвращает массив TRUE или ЛОЖЬ. TRUE когда принимающей стороной была Италия, FALSE иначе.
  • D5:D25="Италия" также возвращает массив TRUE или FALSE . TRUE когда Италия была чемпионом, FALSE иначе.
  • (C5:C25="Италия")+(D5:D25="Италия") добавляет два массива булевых значений, TRUE и FALSE Но он рассматривает каждый TRUE как 1 и каждый FALSE как 0 .
  • Таким образом, возвращается 2 когда оба критерия удовлетворены, a 1 когда удовлетворяется только один критерий, и a 0 когда ни один критерий не удовлетворяется.

Теперь формула выглядит следующим образом:

=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})

Он рассматривает числа больше нуля (здесь 0 и 1) как TRUE и нули как ЛОЖЬ.

Таким образом, возвращаются годы из столбца B когда он сталкивается с числом, большим, чем 0 и не возвращает результат в противном случае.

Теперь, если вы понимаете, как ФИЛЬТР функция работает с несколькими критериями типа OR, можете ли вы дать ответ на один вопрос?

По какой формуле будут отсеиваться годы, когда Бразилия становилась чемпионом или Италия становилась второе место или и то, и другое?

Да. Вы правы. Формула будет такой:

=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))

2. Применение функции FILTER для критерия AND

Теперь мы сосредоточимся на многочисленные критерии из И типов. Это означает, что мы должны удовлетворять всем критериям, чтобы получить TRUE результат, в противном случае FALSE .

Мы знаем, что до года 1970 , the Кубок мира ФИФА был назван "Жюль Римэ" трофей. После 1970 , он стал называться Кубок мира ФИФА Итак, мой первый вопрос: какие годы, когда Бразилия выиграл "Жюль Римэ" трофей?

Есть два критерия здесь.

  • Во-первых, год должен быть меньше или равен 1970 .
  • Во-вторых, в чемпион страна должна быть Бразилия .

И оба критерия должны быть выполнены. Как решить эту задачу?

Все очень просто: умножьте два критерия внутри ФИЛЬТР функция с (*) Давайте выполним следующие инструкции, чтобы отфильтровать несколько критериев в Excel!

Шаги:

  • Прежде всего, выберите ячейку G5 , и запишите функция ФИЛЬТР в этой ячейке. Функция будет:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))

Разбивка формулы

  • (B5:B25<=1970 г. возвращает TRUE если год меньше или равен 1970, в противном случае FALSE .
  • (D5:D25="Бразилия") возвращает TRUE если страна-чемпион - Бразилия, в противном случае ЛОЖЬ.
  • (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 .
  • Следовательно, просто нажмите Войти на клавиатуре. В результате вы получите годы, когда Бразилия был чемпион из "Жюль Римэ" трофей, который является возвращением функция ФИЛЬТР . Видите, до 1970 Бразилия выиграла три раза , в 1958, 1962, и 1970 .

Таким образом, мы можем отфильтровать любые данные, удовлетворяющие нескольким критериям И тип.

Теперь вы можете сказать мне формулу, чтобы узнать годы, предшествующие 2000 когда Бразилия была чемпионом, а Италия заняла второе место?

Формула будет такой:

=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))

Похожие чтения:

  • Применение множественных фильтров в Excel [методы + VBA]
  • Как фильтровать данные в Excel с помощью формул
  • Excel Фильтр данных на основе значения ячейки (6 эффективных способов)

3. Фильтр нескольких критериев с помощью комбинации типов AND и OR в Excel

Случай 1: ИЛИ внутри ИЛИ

Теперь, если я задам вам вопрос, какие годы, когда Южная Америка страна ( Бразилия, Аргентина или Уругвай ) был либо чемпион или второе место ?

Можете ли вы дать ответ на мой вопрос?

Обратите внимание: здесь страна-чемпион должна быть Бразилия, Аргентина, или Уругвай Или страна, занявшая второе место, должна быть Бразилия, Аргентина или Уругвай Или оба. Это проблема типа OR внутри OR. Не волнуйтесь, просто следуйте инструкциям ниже для фильтрации нескольких критериев в Excel!

Шаги:

  • Прежде всего, выберите ячейку G5 , и запишите функции в этой ячейке. Функции будут:
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Бразилия", "Аргентина", "Уругвай"},0)))+ (ISNUMBER(MATCH(E5:E25,{"Бразилия", "Аргентина", "Уругвай"},0))))

Разбивка формулы

  • MATCH(D4:D24,{"Бразилия", "Аргентина", "Уругвай"},0) возвращает 1 если команда-чемпион - Бразилия, 2 если команда-чемпион - Аргентина, 3 если команда-чемпион - Уругвай, и ошибка (N/A) если команда-чемпион не является ни одной из них.
  • ISNUMBER(MATCH(D4:D24,{"Бразилия", "Аргентина", "Уругвай"},0)) преобразует числа в TRUE и ошибки в FALSE .
  • Аналогично, ISNUMBER(MATCH(E4:E24,{"Бразилия", "Аргентина", "Уругвай"},0)) возвращает TRUE если страна, занявшая второе место, - Бразилия, Аргентина или Уругвай. И FALSE
  • Итак, (ISNUMBER(MATCH(D4:D24,{"Бразилия", "Аргентина", "Уругвай",0)))+(ISNUMBER(MATCH(E4:E24,{"Бразилия", "Аргентина", "Уругвай",0)))) возвращает 1 или 2 если чемпионом или призером станет южноамериканская страна, или обе.
  • И возвращает ноль в противном случае.
  • Формула становится: =FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
  • Он возвращает год из столбца B если находит число больше нуля, и не возвращает результат в противном случае.
  • Следовательно, просто нажмите Войти на вашей клавиатуре. В результате вы получите годы, когда Южная Америка страна ( Бразилия, Аргентина или Уругвай ) был либо чемпион или второе место. Смотрите, мы нашли все годы, когда южноамериканская страна становилась чемпионом или занимала второе место.

Случай 2: ИЛИ внутри И

Если вы понимаете приведенную выше формулу, можете ли вы сказать формулу для определения лет, когда оба чемпион и призеры были из Южная Америка (Бразилия, Аргентина, или Уругвай) ?

Довольно легко. Просто замените (+) знак предыдущей формулы с (*) знак. функции:

=FILTER(B4:B24,(ISNUMBER(MATCH(D4:D24,{"Бразилия", "Аргентина", "Уругвай"},0)))*(ISNUMBER(MATCH(E4:E24,{"Бразилия", "Аргентина", "Уругвай"},0))))

Видите ли, такое случалось лишь дважды - в 1930 и 1950 годах.

4. использование функции FILTER в нескольких столбцах

Теперь, если вы обратите внимание более внимательно, то обнаружите, что до года 1990 была страна под названием Западная Германия . И после 1990 нет Западная Германия . Что есть Германия . Эти двое на самом деле из одной страны. В 1990 , the две Германии (Восточная и West) объединившись, образовали нынешнюю Германию.

Теперь вы можете назвать годы, когда Германия был чемпион ? Неважно. Восток или Запад .

Вы должны использовать функцию FILTER в нескольких столбцах.

Формула будет такой:

=FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25)))

Разбивка формулы

  • ПОИСК("*Германия",D5:D25) ищет в массиве все, что имеет в конце строку Germany D5 на D25 Если вам нужна Германия в центре, используйте "*Германия*".
  • Он возвращает 1 если он находит совпадение (Западная Германия и Германия) и возвращает сообщение Ошибка
  • ISNUMBER(SEARCH("*Германия",D5:D25)) преобразует единицы в TRUE , и ошибки в FALSE .
  • Наконец-то, FILTER(B5:B25,ISNUMBER(SEARCH("*Германия",D5:D25))) возвращает годы из столбца B когда она сталкивается с TRUE , в противном случае результат не возвращается.
  • Смотрите, Германия была чемпионом 4 раза . 3 временами по Западная Германия и 1 время по настоящее Германия .

Теперь, если вы понимаете эту формулу, можете ли вы определить годы, когда Чемпионат мира по футболу была организована две страны ?

Я даю тебе подсказку. Должен быть " и " в названии страны пребывания. ( "и" между двумя пространствами)

Да. Вы правы. Формула будет такой:

=FILTER(B5:B25,ISNUMBER(SEARCH("* и *",C5:C25)))

Теперь мы видим, что это произошло только один раз в 2002 , организованный Южная Корея и Япония .

Альтернативные варианты фильтрации нескольких критериев в Excel

Упомянутые выше методы фильтрации по нескольким критериям весьма полезны. Но с один недостаток , the ФИЛЬТР функция доступна только в Office 365 .

Те, у кого нет Office 365 подписка, можно использовать эти альтернативные методы для фильтрации некоторых данных по нескольким критериям.

Чтобы выяснить годы, когда Италия был принимающая страна или чемпион используйте приведенную ниже формулу:

=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")

И чтобы узнать годы, когда Бразилия был чемпионом до 1970 , используйте эту формулу:

=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")

Примечание: Вы не можете удалить пустые ячейки, как это сделано в примере ФИЛЬТР функцию таким образом. И нажмите Ctrl + Shift + Enter для ввода формул.

Как использовать расширенный фильтр в Excel

Мы будем применять многочисленные критерии на сайте одна колонка используя расчётные данные Вот, мы собираемся найти поставляемая продукция с количество более 50 но менее 100 Для этого нам необходимо применять следующий формула . формула это -

=IF(AND(E550),E5,FALSE)

Выход в ячейке C16 это 55 как количество поставляемой продукции снижается в ассортимент .

Следовательно, выберите Расширенный команда под Сортировка и фильтр опции из Данные вкладка.

После этого мы помещаем весь набор данных как Диапазон списка и клетки C15:C16 как Диапазон критериев .

Наконец, нажмите OK чтобы увидеть результат, т.е. список поставляемая продукция имеющий количество в диапазоне от 50 до 100.

Заключение

Используя эти методы, вы можете отфильтровать любые данные, сохраняя несколько критериев в Excel. Знаете ли вы другие методы? Сообщите нам об этом в разделе комментариев.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.