Функция фильтра Excel - объяснение с примерами + видео

Содержание

Посмотреть видео - Примеры функции ФИЛЬТР в Excel

Office 365 предлагает несколько удивительных функций, таких как XLOOKUP, SORT и FILTER.

Когда дело доходит до фильтрации данных в Excel, в мире, предшествующем Office 365, мы в основном зависели от встроенного фильтра Excel или, максимум, от расширенного фильтра или сложных формул СУММПРОИЗВ. Если вам нужно было отфильтровать часть набора данных, обычно это был сложный обходной путь (то, что я рассмотрел здесь).

Но с новой функцией FILTER теперь очень легко быстро отфильтровать часть набора данных на основе условия.

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

Но прежде чем я перейду к примерам, давайте быстро узнаем о синтаксисе функции ФИЛЬТР.

Если вы хотите получить эти новые функции в Excel, вы можете перейти на Office 365 (присоединяйтесь к инсайдерской программе, чтобы получить доступ ко всем функциям / формулам)

Функция фильтра Excel - синтаксис

Ниже приведен синтаксис функции ФИЛЬТР:

= ФИЛЬТР (массив; включить; [if_empty])
  • множество - это диапазон ячеек, в котором у вас есть данные, и вы хотите отфильтровать некоторые данные из него
  • включают - это условие, которое сообщает функции, какие записи фильтровать
  • [if_empty] - это необязательный аргумент, в котором вы можете указать, что возвращать, если функция ФИЛЬТР не найдет результатов. По умолчанию (если не указано иное) возвращается #CALC! ошибка

Теперь давайте посмотрим на несколько удивительных примеров функции Filter и на то, что она может делать, что раньше было довольно сложным в ее отсутствие.

Нажмите здесь, чтобы загрузить файл с примером, и следуйте инструкциям.

Пример 1. Фильтрация данных по одному критерию (регион)

Предположим, у вас есть набор данных, показанный ниже, и вы хотите отфильтровать все записи только для США.

Ниже приведена формула ФИЛЬТРА, которая сделает это:

= ФИЛЬТР ($ A $ 2: $ C $ 11, $ B $ 2: $ B $ 11 = "США")

В приведенной выше формуле набор данных используется в качестве массива, а условие - $ B $ 2: $ B $ 11 = «США».

Это условие заставит функцию FILTER проверять каждую ячейку в столбце B (ту, которая имеет область), и будут отфильтрованы только те записи, которые соответствуют этому критерию.

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

Функция фильтра возвращает результат, который является динамическим массивом (что означает, что вместо возврата одного значения она возвращает массив, который распространяется на другие ячейки).

Чтобы это работало, вам нужно иметь область, где результат будет пустым. В любой из ячеек в этой области (E2: G5 в этом примере) что-то уже есть, функция выдаст вам ошибку #SPILL.

Кроме того, поскольку это динамический массив, вы не можете изменить часть результата. Вы можете удалить весь диапазон, в котором есть результат, или ячейку E2 (где была введена формула). В обоих случаях будет удален весь результирующий массив. Но вы не можете изменить какую-либо отдельную ячейку (или удалить ее).

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

Например, в приведенном ниже примере у меня есть значение региона в ячейке I2, и оно затем упоминается в формуле:

= ФИЛЬТР ($ A $ 2: $ C $ 11, $ B $ 2: $ B $ 11 = I1)

Это делает формулу еще более полезной, и теперь вы можете просто изменить значение региона в ячейке I2, и фильтр автоматически изменится.

У вас также может быть раскрывающийся список в ячейке I2, где вы можете просто сделать выбор, и он мгновенно обновит отфильтрованные данные.

Пример 2: Фильтрация данных на основе одного критерия (больше или меньше)

Вы также можете использовать операторы сравнения в функции фильтрации и извлекать все записи, которые больше или меньше определенного значения.

Например, предположим, что у вас есть набор данных, показанный ниже, и вы хотите отфильтровать все записи, в которых значение продаж превышает 10000.

Следующая формула может сделать это:

= ФИЛЬТР ($ A $ 2: $ C $ 11, ($ C $ 2: $ C $ 11> 10000))

Аргумент массива относится ко всему набору данных, а условие в этом случае - ($ C $ 2: $ C $ 11> 10000).

Формула проверяет каждую запись на наличие значения в столбце C. Если значение больше 10000, оно фильтруется, иначе игнорируется.

Если вы хотите получить все записи менее 10000, вы можете использовать следующую формулу:

= ФИЛЬТР ($ A $ 2: $ C $ 11, ($ C $ 2: $ C $ 11 <10000))

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

= ФИЛЬТР ($ A $ 2: $ C $ 11, ($ C $ 2: $ C $ 11> = БОЛЬШОЙ (C2: C11,3)))

В приведенной выше формуле используется функция НАИБОЛЬШИЙ, чтобы получить третье по величине значение в наборе данных. Это значение затем используется в критериях функции ФИЛЬТР для получения всех записей, в которых значение продаж больше или равно третьему по величине значению.

Нажмите здесь, чтобы загрузить файл с примером, и следуйте инструкциям.

Пример 3: Фильтрация данных с использованием нескольких критериев (И)

Предположим, у вас есть приведенный ниже набор данных, и вы хотите отфильтровать все записи для США, где стоимость продажи превышает 10000.

Это условие И, при котором вам нужно проверить две вещи - регион должен быть в США, а объем продаж должен быть более 10000. Если выполняется только одно условие, результаты не должны фильтроваться.

Ниже приведена формула FILTER, которая фильтрует записи с США в качестве региона и продажами более 10000:

= ФИЛЬТР ($ A $ 2: $ C $ 11, ($ B $ 2: $ B $ 11 = "US") * ($ C $ 2: $ C $ 11> 10000))

Обратите внимание, что критерий (называемый аргументом включения): ($ B $ 2: $ B $ 11 = "US") * ($ C $ 2: $ C $ 11> 10000)

Поскольку я использую два условия, и мне нужно, чтобы оба были истинными, я использовал оператор умножения, чтобы объединить эти два критерия. Это возвращает массив из 0 и 1, где 1 возвращается только при выполнении обоих условий.

Если нет записей, соответствующих критериям, функция вернет #CALC! ошибка.

И если вы хотите вернуть что-то значение (вместо ошибки), вы можете использовать формулу, как показано ниже:

= ФИЛЬТР ($ A $ 2: $ C $ 11, ($ B $ 2: $ B $ 11 = «США») * ($ C $ 2: $ C $ 11> 10000), «Ничего не найдено»)

Здесь я использовал «Не найдено» в качестве третьего аргумента, который используется, когда не найдено записей, соответствующих критериям.

Пример 4: Фильтрация данных с использованием нескольких критериев (ИЛИ)

Вы также можете изменить аргумент «include» в функции FILTER, чтобы проверять критерий ИЛИ (где любое из заданных условий может быть истинным).

Например, предположим, что у вас есть набор данных, показанный ниже, и вы хотите отфильтровать записи, в которых страна находится либо в США, либо в Канаде.

Ниже приведена формула, которая сделает это:

= ФИЛЬТР ($ A $ 2: $ C $ 11, ($ B $ 2: $ B $ 11 = "США") + ($ B $ 2: $ B $ 11 = "Канада"))

Обратите внимание, что в приведенной выше формуле я просто добавил два условия с помощью оператора сложения. Поскольку каждое из этих условий возвращает массив значений ИСТИНА и ЛОЖЬ, я могу добавить, чтобы получить объединенный массив, в котором оно будет ИСТИНА, если выполняется какое-либо из условий.

Другим примером может быть случай, когда вы хотите отфильтровать все записи, в которых страна либо США, либо стоимость продажи превышает 10000.

Приведенная ниже формула сделает это:

= ФИЛЬТР ($ A $ 2: $ C $ 11, ($ B $ 2: $ B $ 11 = "США") + (C2: C11> 10000))

Примечание. При использовании критерия И в функции ФИЛЬТР используйте оператор умножения (*), а при использовании критерия ИЛИ используйте оператор сложения (+).

Пример 5: Фильтрация данных для получения записей выше / ниже среднего

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

Например, предположим, что у вас есть набор данных, показанный ниже, и вы хотите отфильтровать все записи, в которых стоимость продажи выше среднего.

Вы можете сделать это, используя следующую формулу:

= ФИЛЬТР ($ A $ 2: $ C $ 11, C2: C11> СРЕДНИЙ (C2: C11))

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

= ФИЛЬТР ($ A $ 2: $ C $ 11, C2: C11<>
Нажмите здесь, чтобы загрузить файл с примером, и следуйте инструкциям.

Пример 6: Фильтрация только записей ЧЕТНЫХ чисел (или записей НЕЧЕТНЫХ чисел)

Если вам нужно быстро отфильтровать и извлечь все записи из строк с четными или нечетными числами, вы можете сделать это с помощью функции FILTER.

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

Предположим, у вас есть набор данных, как показано ниже, и я хочу извлечь только четные записи из этого набора данных.

Ниже приведена формула, которая сделает это:

= ФИЛЬТР ($ A $ 2: $ C $ 11, MOD (СТРОКА (A2: A11) -1,2) = 0)

В приведенной выше формуле функция MOD используется для проверки номера строки каждой записи (который задается функцией ROW).

Формула MOD (ROW (A2: A11) -1,2) = 0 возвращает ИСТИНА, если номер строки четный, и ЛОЖЬ, если он нечетный. Обратите внимание, что я вычел 1 из части ROW (A2: A11), поскольку первая запись находится во второй строке, и это регулирует номер строки, чтобы рассматривать вторую строку как первую запись.

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

= ФИЛЬТР ($ A $ 2: $ C $ 11, MOD (СТРОКА (A2: A11) -1,2) = 1)

Пример 7: Сортировка отфильтрованных данных с помощью формулы

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

Например, если вы фильтруете набор данных с помощью функции FILTER, вы можете использовать с ним функцию SORT, чтобы получить уже отсортированный результат.

Предположим, у вас есть набор данных, показанный ниже, и вы хотите отфильтровать все записи, в которых значение продаж превышает 10000. Вы можете использовать функцию SORT вместе с функцией, чтобы убедиться, что полученные данные отсортированы на основе стоимости продажи.

Приведенная ниже формула сделает это:

= СОРТИРОВАТЬ (ФИЛЬТР ($ A $ 2: $ C $ 11; ($ C $ 2: $ C $ 11> 10000)); 3; -1)

Вышеупомянутая функция использует функцию FILTER для получения данных, в которых значение продажи в столбце C превышает 10000. Этот массив, возвращаемый функцией FILTER, затем используется в функции SORT для сортировки этих данных на основе значения продаж.

Второй аргумент в функции SORT - 3, что соответствует сортировке по третьему столбцу. И четвертый аргумент - -1, который должен отсортировать эти данные в порядке убывания.

Нажмите здесь, чтобы загрузить файл примера

Итак, это 7 примеров использования функции ФИЛЬТР в Excel.

Надеюсь, вы нашли этот урок полезным!

Вам также могут понравиться следующие руководства по Excel:

  1. Как фильтровать ячейки с помощью полужирного шрифта в Excel
  2. Поле поиска динамического фильтра Excel
  3. Как фильтровать данные в сводной таблице в Excel

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave