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

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

Например, если у вас есть список имен с названиями состояний и продажной стоимостью, вы можете использовать функцию FILTER в Google Таблицах, чтобы быстро получить все записи / назвать одно конкретное состояние (как показано ниже).

Одним из преимуществ использования функции FILTER по сравнению с обычным фильтром в Google Таблицах является то, что результаты функции FILTER являются динамическими. Если вы измените что-либо в исходных данных, полученные отфильтрованные данные автоматически обновятся.

Это делает функцию FILTER Google Таблиц отличным выбором при создании интерактивных отчетов или информационных панелей.

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

Итак, давайте начнем с изучения синтаксиса этой функции.

Синтаксис функции фильтра Google Таблиц

Ниже приведен синтаксис функции FILTER:

FILTER (диапазон; условие1; [условие2;…]):

  • диапазон : это диапазон ячеек, который вы хотите отфильтровать.
  • условие1 : это столбцы / строка (соответствующие столбцу / строке набора данных), которая возвращает массив ИСТИНА / ЛОЖЬ. Он должен быть того же размера, что и диапазон
  • [условие2] : это необязательный аргумент, который может быть вторым условием, которое вы проверяете в формуле. Это снова может быть столбец / строка (соответствующая столбцу / строке набора данных), которая возвращает массив ИСТИНА / ЛОЖЬ. Он должен быть того же размера, что и диапазон.

Когда вы используете несколько условий, те результаты, которые возвращают истину для обоих условий, будут отфильтрованы.

Если функция FILTER не может найти результат, соответствующий условию, она вернет ошибку # Н / Д.

Если вам интересно, как это работает, просмотрите пару примеров (перечисленных ниже), и станет ясно, как использовать функцию ФИЛЬТР в Google Таблицах.

Пример 1 — Фильтрация данных на основе одного условия

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

 

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

=FILTER(A2:C11,B2:B11="Florida")

В приведенной выше формуле в качестве аргумента используется диапазон данных, а условие — B2: B11 = «Флорида». Это условие проверяет каждую ячейку в диапазоне B2: B11, и если значение равно Флориде, эта запись фильтруется, в противном случае — нет.

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

=FILTER(A2:C11,B2:B11=H1)

Несколько вещей, которые нужно знать о функции FILTER.

Функция ФИЛЬТР в Google Таблицах возвращает массив значений, который распространяется на соседние ячейки (это называется динамическим массивом). Чтобы это сработало, вам нужно убедиться, что соседние ячейки (куда будут помещены результаты) должны быть пустыми.

Если какая-либо из ячеек не пуста, ваша формула вернет # ССЫЛКА! ошибка. Google Sheets также сообщает вам, почему выдает ошибку, показывая красный треугольник в правом верхнем углу ячейки, и когда вы наводите на него курсор, появляется сообщение:

Результат массива не был расширен, потому что он перезаписал данные в F3

И как только вы удалите заполненную ячейку, которая мешает функции FILTER выдать результат, она автоматически заполнит диапазон результатом.

Кроме того, результатом формулы FILTER является массив, и вы можете изменить часть массива. Это означает, что вы не можете изменить или удалить одну ячейку (или пару ячеек) в результате. Вам придется удалить весь результат формулы. Чтобы удалить результат, вы можете выбрать ячейку, в которой вы ввели формулу, а затем нажать клавишу удаления.

Пример 2 — Фильтрация данных на основе нескольких условий (условие И)

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

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

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

=FILTER(A2:C11,B2:B11="Florida",C2:C11>5000)

Приведенная выше формула проверяет наличие двух условий (где штат Флорида, а стоимость продажи превышает 5000) и возвращает все записи, соответствующие этим критериям.

Точно так же, если вы хотите, вы можете иметь несколько условий в одной формуле ФИЛЬТРА.

Пример 3 — Фильтрация записей на основе нескольких условий (условие ИЛИ)

В приведенном выше примере я проверил два условия и вернул результаты, в которых оба условия ИСТИНА.

Вы также можете проверить условие ИЛИ в формуле FILTER.

Например, предположим, что у вас есть набор данных, показанный ниже, и вы хотите получить все записи для Калифорнии и Айовы. Это означает, что условием должно быть состояние штата Калифорния или Айова (что делает это условием ИЛИ).

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

=FILTER(A2:C11,(B2:B11="California")+ (B2:B11="Iowa"))

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

Это даст вам 0 (или ЛОЖЬ), если оба условия не выполняются, 1, если выполнено одно из двух условий, и 2, если оба условия выполнены.

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

Пример 4 — Фильтр 3 или 5 лучших записей по значению

Вы также можете использовать функцию FILTER, чтобы быстро получить 3 или 5 первых (или любое количество записей, которое вы выберете).

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

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

=FILTER(A2:C11,C2:C11>=LARGE(C2:C11,3))

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

Это вернет все записи, соответствующие критериям, которые будут тремя верхними записями.

Если вы хотите получить три нижние записи, вы можете использовать приведенную ниже формулу ФИЛЬТРА:

=FILTER(A2:C11,C2:C11<=Small(C2:C11,3))

Пример 5 — СОРТИРОВКА отфильтрованных данных (с использованием комбинации ФИЛЬТРА и СОРТИРОВКИ)

До сих пор все примеры формул FILTER, которые мы видели, будут фильтровать данные в том же порядке, в котором они встречаются в наборе данных.

Но что, если вы хотите получить отсортированный набор данных.

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

Ниже приведена формула, которая фильтрует данные и отображает их в порядке убывания:

=SORT(FILTER(A2:C11,C2:C11>=LARGE(C2:C11,3)),3,FALSE)

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

И поскольку я хотел, чтобы конечный результат был отсортирован в порядке убывания, я заключил функцию FILTER в функцию SORT. Функция SORT (СОРТИРОВКА) использует результат, полученный по формуле ФИЛЬТР, и сортирует его на основе третьего столбца (который имеет значение продаж).

Третий аргумент функции SORT — FALSE, он указывает, что я хочу получить окончательный результат в порядке убывания. Если вы оставите поле пустым (или сделаете его ИСТИННЫМ), результат будет в порядке возрастания.

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

Это не такой распространенный вариант использования, но это то, что мне приходилось делать, когда я получаю свои данные от кого-то другого, из базы данных или веб-страниц.

Часто данные, которые вам нужны, будут только в чередующихся строках (или в каждой третьей / четвертой / пятой строке), и вам нужно будет избавиться от лишних строк, чтобы вы могли собрать все полезные данные вместе.

В таком случае вы можете использовать функцию FILTER, чтобы быстро отфильтровать и собрать все строки с четными номерами вместе (или все строки с нечетными номерами вместе). И вы также можете изменить формулу, чтобы фильтровать каждую третью, четвертую или n-ю строку в Google Таблицах.

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

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

=FILTER(A2:C11,MOD(ROW(A2:A11)-1,2)=0)

В приведенной выше формуле используется функция (ROW) СТРОКА, чтобы получить номера строк для всех строк в наборе данных. Затем он вычитает из него 1, поскольку наш набор данных начинается со второй строки и далее.

Теперь он использует функцию MOD для проверки следующего условия — MOD (ROW (A2: A11) –1,2) = 0)

Это вернет ИСТИНУ для всех строк с четными номерами и ЛОЖЬ для всех строк с нечетными номерами. И этот массив ИСТИНА и ЛОЖЬ используется функцией ФИЛЬТР для извлечения записей.

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

=FILTER(A2:C11,MOD(ROW(A2:A11)-1,2)=1)

А если вы хотите отфильтровать каждую третью строку, вы можете использовать следующую формулу в Google Таблицах:

=FILTER(A2:C11,MOD(row(A2:A11)-1,3)=0)

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

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