Формула фильтр в excel отсутствует

1) just join office insider as well, I preferred to join the insider slow, as the FAST Version was very unstable when I tried and messed up some formulas as well.

2) Sadly these functions are being made available in excel, when Google sheets been offering it for free since YEARS, IMPORTRANGE etc…

STABLE AND FORGIVING. Works on windows and Mac OS, Crossplatform.

3) I have a business premium account, but sadly I feel shortchanged as unbelievable features are available in google sheets, and these features though now have been rolled out by Office, but they do not work online when I wish to collaborate with my team, which is very primitive.

They only work on my hard drive office insider slow version.

@Chris2280 

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android Еще…Меньше

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

Ваш браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

В следующем примере мы использовали формулу =FILTER(A5:D20,C5:C20=H2,»») для возврата всех записей Для Apple, как указано в ячейке H2, и если яблок нет, возвращается пустая строка («»).

Функция ФИЛЬТР: фильтрация по региону и продукту (яблоко)

Функция ФИЛЬТР фильтрует массив с учетом массива логических значений (ИСТИНА/ЛОЖЬ).

=ФИЛЬТР(массив;включить;[если_пусто])

Аргумент

Описание

массив

Обязательный элемент

Массив или диапазон для фильтрации

включить

Обязательный элемент

Массив логических переменных с аналогичной высотой или шириной, что и массив.

[если_пусто]

Необязательный элемент

Значение, возвращаемое, если все значения во включенном массиве пустые (фильтр не возвращает ничего)

Примечания: 

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

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

  • Если набор данных потенциально может возвращать пустое значение, используйте третий аргумент ([если_пусто]). В противном случае возникнет ошибка #ВЫЧИС! , так как Excel в настоящее время не поддерживает пустые массивы.

  • Если какое-либо значение аргумента include является ошибкой (#N/A, #VALUE и т. д.) или не может быть преобразовано в логическое значение, функция FILTER вернет ошибку.  

  • Приложение Excel ограничило поддержку динамических массивов в операциях между книгами, и этот сценарий поддерживается, только если открыты обе книги. Если закрыть исходную книгу, все связанные формулы динамического массива вернут ошибку #ССЫЛКА! после обновления.

Примеры

Функция ФИЛЬТР, используемая для возврата нескольких условий

В данном случае мы используем оператор умножения (*) для возврата всех значений в диапазоне массива (A5:D20), содержащих текст «Яблоко» И находящихся в восточном регионе: =ФИЛЬТР(A5:D20;(C5:C20=H1)*(A5:A20=H2);»»).

Использование ФИЛЬТР с оператором умножения (*) для возврата всех значений в нашем диапазоне массива (A5:D20), содержащих текст "Яблоко" И находящихся в восточном регионе.

Функция ФИЛЬТР, используемая для возврата нескольких условий и сортировки

В данном случае мы используем предыдущую функцию ФИЛЬТР с функцией СОРТ для возврата всех значений в диапазоне массива (A5:D20), содержащих текст «Яблоко» И находящихся в восточном регионе, а затем для сортировки единиц в порядке убывания: =СОРТ(ФИЛЬТР(A5:D20;(C5:C20=H1)*(A5:A20=H2);»»);4;-1)

Использование функций ФИЛЬТР и СОРТ для возврата всех значений в диапазоне массива (A5:D20), содержащих текст "Яблоко" И находящихся в восточном регионе, а затем сортировки единиц в порядке убывания.

В данном случае мы используем функцию ФИЛЬТР с оператором сложения (+) для возврата всех значений в диапазоне массива (A5:D20), содержащих текст «Яблоко» ИЛИ находящихся в восточном регионе, а затем для сортировки единиц в порядке убывания: =СОРТ(ФИЛЬТР(A5:D20;(C5:C20=H1)+(A5:A20=H2);»»),4;-1).

Совместное использование ФИЛЬТР и СОРТ: фильтрация по продукту (яблоко) или по региону (Восток)

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Функция СЛМАССИВ

Функция ПОСЛЕДОВ

Функция СОРТ

Функция СОРТПО

Функция УНИК

Ошибки #ПЕРЕНОС! в Excel

Динамические массивы и поведение массива с переносом

Оператор неявного пересечения: @

Нужна дополнительная помощь?

Содержание

  1. Функция ФИЛЬТР
  2. Примеры
  3. Дополнительные сведения
  4. Функции динамических массивов: СОРТ, ФИЛЬТР и УНИК
  5. Функция СОРТ (SORT)
  6. Функция ФИЛЬТР (FILTER)
  7. Функция УНИК (UNIQUE)
  8. Комбинирование функций
  9. Не работает фильтр в Excel: загвоздка, на которую мы часто не обращаем внимания
  10. Проблема с совместимостью
  11. Некорректная структура таблицы
  12. Неправильная настройка фильтрации
  13. Дата сохранена в текстовом формате
  14. У столбцов нет заголовков
  15. Несколько таблиц на одном листе
  16. В разных столбцах много одинаковых данных
  17. Нелицензионная версия Excel

Функция ФИЛЬТР

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

В следующем примере мы использовали формулу =FILTER(A5:D20,C5:C20=H2,»») для возврата всех записей Для Apple, как указано в ячейке H2, и если яблок нет, возвращается пустая строка («»).

Функция ФИЛЬТР фильтрует массив с учетом массива логических значений (ИСТИНА/ЛОЖЬ).

Массив или диапазон для фильтрации

Массив логических переменных с аналогичной высотой или шириной, что и массив.

Значение, возвращаемое, если все значения во включенном массиве пустые (фильтр не возвращает ничего)

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

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

Если набор данных потенциально может возвращать пустое значение, используйте третий аргумент ( [если_пусто]). В противном случае возникнет ошибка #ВЫЧИС! , так как Excel в настоящее время не поддерживает пустые массивы.

Если какое-либо значение аргумента include является ошибкой (#N/A, #VALUE и т. д.) или не может быть преобразовано в логическое значение, функция FILTER вернет ошибку.

Приложение Excel ограничило поддержку динамических массивов в операциях между книгами, и этот сценарий поддерживается, только если открыты обе книги. Если закрыть исходную книгу, все связанные формулы динамического массива вернут ошибку #ССЫЛКА! после обновления.

Примеры

Функция ФИЛЬТР, используемая для возврата нескольких условий

В данном случае мы используем оператор умножения (*) для возврата всех значений в диапазоне массива (A5:D20), содержащих текст «Яблоко» И находящихся в восточном регионе: =ФИЛЬТР(A5:D20;(C5:C20=H1)*(A5:A20=H2);»»).

Функция ФИЛЬТР, используемая для возврата нескольких условий и сортировки

В данном случае мы используем предыдущую функцию ФИЛЬТР с функцией СОРТ для возврата всех значений в диапазоне массива (A5:D20), содержащих текст «Яблоко» И находящихся в восточном регионе, а затем для сортировки единиц в порядке убывания: =СОРТ(ФИЛЬТР(A5:D20;(C5:C20=H1)*(A5:A20=H2);»»);4;-1)

В данном случае мы используем функцию ФИЛЬТР с оператором сложения (+) для возврата всех значений в диапазоне массива (A5:D20), содержащих текст «Яблоко» ИЛИ находящихся в восточном регионе, а затем для сортировки единиц в порядке убывания: =СОРТ(ФИЛЬТР(A5:D20;(C5:C20=H1)+(A5:A20=H2);»»),4;-1).

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Источник

Функции динамических массивов: СОРТ, ФИЛЬТР и УНИК

Эта статья является логическим продолжением предыдущего материала про новые динамические массивы (ДМ), появившиеся в Excel в Office 365. Если вы ещё с не ознакомились (кому лень читать — там есть видео), то очень советую сделать это сейчас, чтобы понимать о чём, собственно, идёт речь и как заполучить все эти радости в вашем Excel.

Обновление Office 365, которое подарило Microsoft Excel новый вычислительный движок с поддержкой динамических массивов, также добавило к нашему арсеналу 7 новых функций, заточенных специально для работы с массивами. В этой статье я хотел бы рассказать про три самых важных функции: СОРТ, ФИЛЬТР и УНИК. Остальные играют скорее вспомогательную роль — про них чуть позже.

Для простоты я буду во всех примерах я буду показывать работу этих функций на обычных таблицах, но можно иметь ввиду, что с «умными» таблицами (созданными через Главная — Форматировать как таблицу или сочетанием клавиш Ctrl + T ) эти функции тоже отлично работают.

Функция СОРТ (SORT)

=СОРТ( массив ; [индекс_сортировки] ; [порядок_сортировки] ; [по_столбцу] )

В самом простом варианте требует в качестве аргумента только массив (диапазон) и выдает его уже в отсортированном виде:

По умолчанию сортировка выполняется по возрастанию. Если нужен обратный порядок, то за это отвечает третий аргумент (1 — по возрастанию, -1 — по убыванию):

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

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

Например, если мы хотим отсортировать наш список по городам по возрастанию и затем по суммам по убыванию, то это будет выглядеть так:

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

Вот так — просто и изящно. Особенно, если вспомнить какую монстрообразную формулу массива требовалось ввести раньше для сортировки всего лишь одного (!) столбца:

Функция ФИЛЬТР (FILTER)

=ФИЛЬТР( массив ; включить ; [если_пусто] )

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

Логическую ИСТИНУ и ЛОЖЬ можно, для компактности, заменить на 1 (или любое другое число) и 0 (или пустую ячейку):

А самое интересное, что логические значения могут быть результатом какого-либо выражения, например:

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

  • =ФИЛЬТР(B2:D25; D2:D25>=10000 ) — отбираем все заказы, где стоимость больше или равна 10 000
  • =ФИЛЬТР(B2:D25; ЛЕВСИМВ(B2:B25) = «Б» ) — фильтрация всех строк, где название товара начинается с «Б» (блуза, брюки, бриджи и т.д.)
  • =ФИЛЬТР(B2:D25; (B2:B25 = «Брюки») * (C2:C25 = «Анна») ) — отбор всех сделок Анны, где она продавала брюки
  • =ФИЛЬТР(B2:D25; (C2:C25 = «Анна») + (C2:C25 = «Иван») ) — все сделки Анны и Ивана
  • =ФИЛЬТР(B2:D25; ЕСЛИОШИБКА(ПОИСК(«Самара»;A2:A25);0) ) — фильтрация всех сделок, где в названии города содержится слово Самара (г. Самара, Самара г., город Самара, Самара-городок и т.д.)

Если функция ФИЛЬТР не находит ни одного значения, удовлетворяющего условию, то она выдаёт ошибку #ВЫЧИСЛ! Чтобы вывести вместо неё что-то более осмысленное, можно использовать третий аргумент:

Функция УНИК (UNIQUE)

В самом простом варианте эта функция извлекает из входного массива все имеющиеся там значения, удаляет повторы и выдаёт то, что осталось:

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

Очень интересно работает третий аргумент — он заставляет функцию извлечь из исходного массива только те данные, которые встречаются там всего один раз, т.е. не имеют клонов:

Комбинирование функций

Само-собой, никто не запрещает нам «женить» все упомянутые функций между собой — здесь-то и начинается настоящая магия, мощь и синергия.

Разберём, для примера, классическую задачу: предположим, что нам нужно сформировать справочник по городам для выпадающего списка на основе выгрузки из какой-нибудь базы данных. В исходной выгрузке города повторяются в случайном порядке, есть пустые ячейки и дубли. А необходимый нам справочник, содержащий эталонный набор городов, должен быть:

  • без повторов
  • без пустых ячеек
  • отсортирован по возрастанию от А до Я

Делается всё вышеперечисленное одной (!) формулой:

В английской версии эта функция выглядит как:

  • ФИЛЬТР — отбирает только те ячейки, где есть данные (не пусто)
  • УНИК — убирает повторы в отобранном функцией ФИЛЬТР списке
  • СОРТ — сортирует получившийся справочник по алфавиту

После этого останется только указать получившийся динамический массив как источник для выпадающего списка на вкладке Данные — Проверка данных (Data — Validation) , не забыв добавить после адреса первой ячейки массива знак решётки:

Причем, несмотря на приличный размер исходного диапазона (100 тыс. строк!) никакого торможения при пересчёте такой формулы нет абсолютно — новый вычислительный движок Excel справляется «на ура». При этом классические формулы массива на подобных задачах начинали ощутимо подтупливать на таблицах уже с 3-5 тыс. строк, а на 100 тыс. просто загнали бы ваш Excel в кому.

Оглядываясь назад и вспоминая все свои выполненные проекты по автоматизации за последние Х лет, с грустью понимаю сколько дней и даже, наверное, недель можно было бы сэкономить, если бы динамические массивы и такие функции существовали тогда. Даааа.

Ну, лучше поздно, чем никогда, верно? По крайней мере, нашим детям точно будет проще 🙂

Источник

Не работает фильтр в Excel: загвоздка, на которую мы часто не обращаем внимания

Если у вас в Excel не работает фильтр, постарайтесь не откладывать «лечение» в долгий ящик. Таблица будет расти, некорректность фильтрации усугубится. На устранение проблемы, в итоге, уйдет гораздо больше времени.

Итак, почему в Excel может не работать фильтр?

  1. Есть проблема с совместимостью версий Excel;
  2. Плохая структура таблицы (пустые строки и столбцы, нечеткие диапазоны, много объединенных ячеек);
  3. Некорректная настройка фильтрации;
  4. Фильтр по дате может не работать из-за того, что даты сохранены в виде текста;
  5. У столбцов нет заголовков (как вариант, у части столбцов);
  6. Наличие сразу нескольких таблиц на одном листе;
  7. Много одинаковых данных в разных столбиках;
  8. Использование нелицензионной версии Excel.

Кто из нас не хочет использовать функциональные возможности Excel по полной? Опция фильтрации – одна из самых популярных и востребованных, позволяющая в разы оптимизировать работу с электронными таблицами. Один раз хорошо настроив фильтры, можно выполнять детальный учет данных, не заморачиваясь на сортировку. Конечно, это при условии правильного ведения таблицы.

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

Давайте разбираться, как исправить ситуацию. Рассмотрим подробно каждую из приведенных выше причин.

Проблема с совместимостью

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

Почему фильтр в Excel может не применяться? Все просто. В ранних версиях программы (до 2007 года), сортировка действовала только по 3 условиям. В Экселе же, выпущенном после 2007 года, насчитывается целых 64 условия. Неудивительно, что они не будут работать, если такую книгу открыть в «старушке».

Решение. Ничего не сохраняйте. Закройте книгу. Впредь работайте с ней только в актуальных версиях программы.

Некорректная структура таблицы

Постарайтесь «причесать» свою табличку:

  • Удалите пустые строки. Система их воспринимает, как разрыв таблицы, что сбивает сортировку;
  • Уберите объединенные ячейки (сведите их количество к предельно допустимому минимуму). Если фильтрация была настроена, когда клеточки «жили» по отдельности, после их слияния она может работать некорректно;
  • Приведите структуру в четкий вид.

Если улучшить структуру таблицы невозможно (например, она слишком огромная или пустые строки нужны бухгалтеру и т.д.), поступите так:

  • Выключите фильтр («Главная» – «Сортировка и Фильтр» или «Ctrl+Shift+L»);
  • Выделите весь диапазон ячеек (всю таблицу, вместе с шапкой);
  • Снова поставьте фильтрацию, не снимая выделение;
  • Готово. Должно работать, даже с пустыми строчками.

Неправильная настройка фильтрации

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

Меню сортировки находится тут:

«Главная» — «Сортировка и фильтры» — «Настраиваемая сортировка».

Дата сохранена в текстовом формате

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

Система сортирует документ по тексту, выдавая в результате полную белиберду.

  • Выделите проблемный столбик;
  • Щелкните по нему правой кнопкой мыши;
  • Выберите пункт «Формат ячеек»;

У столбцов нет заголовков

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

Несколько таблиц на одном листе

Старайтесь объемные таблички размещать в одной книге, но на разных листах. Так системе гораздо проще обрабатывать данные. В результате, станет меньше ошибок, да и сортировка будет функционировать правильно.

В разных столбцах много одинаковых данных

Старайтесь избегать подобной путаницы. Или «обзывать» содержимое ячеек по-разному. Например, в перечне проданного товара не стоит делать 5 одинаковых столбцов с названием «Джинсы». Вставьте рядом артикул или номер модели, укажите цвет или просто поставьте порядковый номер. Делов на две минуты, зато фильтрация будет работать правильно.

Нелицензионная версия Excel

Если у вас не активна кнопка «Фильтр» в Excel, или же программа работает с регулярными лагами и ошибками, проверьте ее версию. От нелицензионного продукта желательно отказаться. Ну или найти менее «косячный» взломанный.

Мы разобрали, почему фильтр в Эксель может быть не активен, вам осталось только найти свою причину. Есть еще одно универсальное решение. Срабатывает оно не всегда, но нередко. Попробуйте просто скопировать весь массив на другой лист. Или, что еще лучше, в другую книгу. Логичного объяснения тут нет, но метод, действительно, иногда работает. Пусть это будет ваш случай!

Источник

0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

1

Нет функции =ФИЛЬТР

28.12.2020, 12:55. Показов 6830. Ответов 38


Студворк — интернет-сервис помощи студентам

У меня не получается сделать так как на видео https://www.youtube.com/watch?v=OOp0qGHDov8&t=514s потому что у меня нет функции ФИЛЬТР. У меня exel 2019

как добавить эту функцию ?



0



Часто онлайн

792 / 530 / 238

Регистрация: 09.01.2017

Сообщений: 1,820

28.12.2020, 14:18

2

Karina4, можно написать её.
Поясните, что вам нужно, попробуем помочь, желательно с файлом-примером



0



0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

29.12.2020, 00:56

 [ТС]

3

КостяФедореев, Мне нужна функция поиск списка товаров по короткой фразе

В ячейке B3 я ввожу текст а в ячейке С3 и ниже появляется список товаров по короткой фразе

Данные нужно брать из «Данные!F:F»

Файл во вложении



0



11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

29.12.2020, 01:08

4

Это проще делать с помощью формы с текстбоксом и списком на ней
Можно и на листе поизвращаться, но всё равно нужен текстбокс



1



11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

29.12.2020, 02:04

6

Лучший ответ Сообщение было отмечено Karina4 как решение

Решение

поверьте с формой намного проще
Кликните на белом поле в любой ячейке
Появится форма
В текстовом поле вводите буквы
В списке будет список где есть такое сочетание в любом месте
Кликните на нужном — форма спрячется а в активной ячейке будет выбранное



1



11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

29.12.2020, 02:16

7

Лучший ответ Сообщение было отмечено Karina4 как решение

Решение

а так в списке не будет дублей
при желании можно и отсортировать



2



0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

29.12.2020, 11:51

 [ТС]

8

Alex77755, Очень круто, спасибо

А можно ли добавить чтобы в столбец D выпадал код товара из «Данные!B:B» ?



0



Alex77755

11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

29.12.2020, 12:26

9

Лучший ответ Сообщение было отмечено Karina4 как решение

Решение

Visual Basic
1
  Set F = Лист2.Columns("F:F")

тут указывается колонка. Поменяйте

Visual Basic
1
If Not Intersect(Target, Range("C3:C12")) Is Nothing Then

А тут контролируемый диапазон. Поменяйте на нужный



1



0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

30.12.2020, 21:59

 [ТС]

10

Alex77755, При открытии вашего файла всплывает ошибка в модуле Barcode/ Это нормально ?

Удалив этот модуль всё работает нормально, но без этого модуля мне не обойтись



0



11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

30.12.2020, 22:14

11

я не смотрел ваши макросы. У меня не выдаёт ошибки



0



0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

30.12.2020, 22:17

 [ТС]

12

Alex77755, Разобралась

Добавлено через 3 минуты
Alex77755, Только ответ на этот вопрос мне непонятен

А можно ли добавить чтобы в столбец D выпадал код товара из «Данные!B:B» ?

Мне нужно чтобы после выбора значения из Текстбокса чтобы в колонку B2 Сразу попадал код товара, который находиться в лист «Данные» столбце «B»



0



11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

30.12.2020, 22:47

13

можно



1



Karina4

0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

01.01.2021, 12:15

 [ТС]

14

Alex77755, Круто. спасибо

Добавлено через 10 минут
Alex77755, А как тут изменить чтобы код товара падал не в столбец D а в другой столбец ?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Option Explicit
 
Private Sub ListBox1_Click()
    Dim t, r, c, kd
    t = ListBox1.Text
    kd = kod.List(ListBox1.ListIndex)
    
    r = Selection.Row
    c = Selection.Column
    Me.Hide
    Selection = t
    Cells(r, c - 1) = kd
End Sub
 
Private Sub TextBox1_Change()
    Dim t, rng, Адрес, F
    Dim sl: Set sl = CreateObject("Scripting.Dictionary")
    t = TextBox1.Text
    ListBox1.Clear
    If Len(t) > 0 Then
    Set F = Лист2.Columns("F:F")
    Set rng = F.Find(What:=TextBox1.Value, LookIn:=xlValues, LookAt:=xlPart)
        If Not rng Is Nothing Then
            Адрес = rng.Address
            Do
'                ListBox1.AddItem rng
                sl(rng.Value) = Лист2.Cells(rng.Row, 2)
'                Debug.Print sl(rng.Value)
               Set rng = F.FindNext(rng)
            Loop While Адрес <> rng.Address
            ListBox1.List = sl.keys
            kod.List = sl.items
        End If
        
    End If
End Sub
 
Private Sub UserForm_Click()
 
End Sub



0



0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

01.01.2021, 13:01

 [ТС]

15

Alex77755, С этим разобралась. Вот другой вопрос. А можно ли сделать запуск текстбокса не по клику ячейке а по
кнопкам поиска которые я вставила возле каждой строки ?



0



Alex77755

11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

01.01.2021, 14:29

16

зачем усложнять?
Так работает одна процедура.
А с кнопками нужно для каждой кнопки писать процедуру

а в другой столбец

Visual Basic
1
2
    Selection = t ' в активную кнопку вставляется значение из листбокса
    Cells(r, c - 1) = kd ' слева от неё вставляется код. (с + 1 будет справа вставляться) в той же строке



1



11483 / 3774 / 677

Регистрация: 13.02.2009

Сообщений: 11,148

01.01.2021, 14:43

17

с кнопками



0



0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

01.01.2021, 17:24

 [ТС]

18

Alex77755, Работает с багами, после нажатия на кнопку поиска в строку вставляеться случайный товар, только при втором нажатии всплывает текстбокс

Добавлено через 17 минут
Alex77755, Разобралась. Назначила кнопкам поиска клик по ячейкам столбца С и текстбокс всплывает кликом по ячейкам

Спасибо.

Еще вопрос, в модуле Poisk в конце пустой макрос

Private Sub UserForm_Click()

End Sub

Он нужен или его можно удалить ?



0



badakhshan

Заблокирован

01.01.2021, 17:50

19

Цитата
Сообщение от Karina4
Посмотреть сообщение

Еще вопрос, в модуле Poisk в конце пустой макрос
Private Sub UserForm_Click()
End Sub
Он нужен или его можно удалить ?

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



0



0 / 2 / 0

Регистрация: 09.11.2020

Сообщений: 334

01.01.2021, 18:09

 [ТС]

20

badakhshan, Ни слово не поняла



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

01.01.2021, 18:09

Помогаю со студенческими работами здесь

Фильтр сетевой, «защищающий». Pilot или нет?
Хочу заменить старый сетевой фильтр(10 лет работает как часы) т.к. в нем нету предохранителей и…

До записи макроса, фильтр работает, после записи НЕТ
Всем здравствуйте. Подскажите пожалуйста, Применяю расширенный фильтр (условие справа) все…

Как правильно задать фильтр в объявленной функции
Всем доброго времени суток.

Столкнулся с такой проблемой, через объявленную функцию не могу…

Как правильно задать фильтр в объявленной функции
Всем доброго времени суток.

Столкнулся с такой проблемой, через объявленную функцию не могу…

Указатели на функции, фильтр верхнего регистра в массиве/векторе
Здравствуйте. Условие задания в конце сообщения. Подскажите, пожалуйста, с чего начать, как…

Фильтр по форме по нескольким логическим полям с использованием кнопки Общий фильтр
Здравствуйте!

Есть простая таблица и созданная форма. Идея в том, чтобы ставя галки осуществлять…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

20

Функции динамических массивов: СОРТ, ФИЛЬТР и УНИК

Эта статья является логическим продолжением предыдущего материала про новые динамические массивы (ДМ), появившиеся в Excel в Office 365. Если вы ещё с не ознакомились (кому лень читать — там есть видео), то очень советую сделать это сейчас, чтобы понимать о чём, собственно, идёт речь и как заполучить все эти радости в вашем Excel.

Обновление Office 365, которое подарило Microsoft Excel новый вычислительный движок с поддержкой динамических массивов, также добавило к нашему арсеналу 7 новых функций, заточенных специально для работы с массивами. В этой статье я хотел бы рассказать про три самых важных функции: СОРТ, ФИЛЬТР и УНИК. Остальные играют скорее вспомогательную роль — про них чуть позже.

Для простоты я буду во всех примерах я буду показывать работу этих функций на обычных таблицах, но можно иметь ввиду, что с «умными» таблицами (созданными через Главная — Форматировать как таблицу или сочетанием клавиш Ctrl+T) эти функции тоже отлично работают.

Итак, поехали…

Функция СОРТ (SORT)

Синтаксис:

=СОРТ(массив; [индекс_сортировки]; [порядок_сортировки]; [по_столбцу])

В самом простом варианте требует в качестве аргумента только массив (диапазон) и выдает его уже в отсортированном виде:

Функция СОРТ (SORT) - простой случай

По умолчанию сортировка выполняется по возрастанию. Если нужен обратный порядок, то за это отвечает третий аргумент (1 — по возрастанию, -1 — по убыванию):

Обратная сортировка

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

Сортировка по 3-му столбцу

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

Например, если мы хотим отсортировать наш список по городам по возрастанию и затем по суммам по убыванию, то это будет выглядеть так:

Одновременная сортировка по нескольким столбцам в разном направлении

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

Вот так — просто и изящно. Особенно, если вспомнить какую монстрообразную формулу массива требовалось ввести раньше для сортировки всего лишь одного (!) столбца:

Бррр… :(

Функция ФИЛЬТР (FILTER)

Синтаксис:

=ФИЛЬТР(массив; включить; [если_пусто])

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

Фильтрация функцией ФИЛЬТР

Логическую ИСТИНУ и ЛОЖЬ можно, для компактности, заменить на 1 (или любое другое число) и 0 (или пустую ячейку):

Фильтрация по единичкам

А самое интересное, что логические значения могут быть результатом какого-либо выражения, например:

Фильтр по условию

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

  • =ФИЛЬТР(B2:D25; D2:D25>=10000) — отбираем все заказы, где стоимость больше или равна 10 000
  • =ФИЛЬТР(B2:D25; ЛЕВСИМВ(B2:B25) = «Б») — фильтрация всех строк, где название товара начинается с «Б» (блуза, брюки, бриджи и т.д.)
  • =ФИЛЬТР(B2:D25; (B2:B25 = «Брюки») * (C2:C25 = «Анна»)) — отбор всех сделок Анны, где она продавала брюки
  • =ФИЛЬТР(B2:D25; (C2:C25 = «Анна») + (C2:C25 = «Иван»)) — все сделки Анны и Ивана
  • =ФИЛЬТР(B2:D25; ЕСЛИОШИБКА(ПОИСК(«Самара»;A2:A25);0)) — фильтрация всех сделок, где в названии города содержится слово Самара (г. Самара, Самара г., город Самара, Самара-городок и т.д.)

Если функция ФИЛЬТР не находит ни одного значения, удовлетворяющего условию, то она выдаёт ошибку #ВЫЧИСЛ! Чтобы вывести вместо неё что-то более осмысленное, можно использовать третий аргумент:

Сообщение, если ничего не найдено

Функция УНИК (UNIQUE)

Синтаксис:

=УНИК(массив; [по_столбцам]; [один_раз])

В самом простом варианте эта функция извлекает из входного массива все имеющиеся там значения, удаляет повторы и выдаёт то, что осталось:

Извлечение уникальных функцией УНИК

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

Извлечение уникальных строк

Очень интересно работает третий аргумент — он заставляет функцию извлечь из исходного массива только те данные, которые встречаются там всего один раз, т.е. не имеют клонов:

Извлечение только уникальных элементов

Комбинирование функций

Само-собой, никто не запрещает нам «женить» все упомянутые функций между собой — здесь-то и начинается настоящая магия, мощь и синергия.

Разберём, для примера, классическую задачу: предположим, что нам нужно сформировать справочник по городам для выпадающего списка на основе выгрузки из какой-нибудь базы данных. В исходной выгрузке города повторяются в случайном порядке, есть пустые ячейки и дубли. А необходимый нам справочник, содержащий эталонный набор городов, должен быть:

  • без повторов
  • без пустых ячеек
  • отсортирован по возрастанию от А до Я

Делается всё вышеперечисленное одной (!) формулой:

Комбинирование функций массива

В английской версии эта функция выглядит как:


=SORT(UNIQUE(FILTER(B2:B100000;NOT(ISEMPTY(B2:B100000)))))

Здесь:

  • ФИЛЬТР — отбирает только те ячейки, где есть данные (не пусто)
  • УНИК — убирает повторы в отобранном функцией ФИЛЬТР списке
  • СОРТ — сортирует получившийся справочник по алфавиту

После этого останется только указать получившийся динамический массив как источник для выпадающего списка на вкладке Данные — Проверка данных (Data — Validation), не забыв добавить после адреса первой ячейки массива знак решётки:

Вып.список на динамическом массиве с формулами

Причем, несмотря на приличный размер исходного диапазона (100 тыс. строк!) никакого торможения при пересчёте такой формулы нет абсолютно — новый вычислительный движок Excel справляется «на ура». При этом классические формулы массива на подобных задачах начинали ощутимо подтупливать на таблицах уже с 3-5 тыс. строк, а на 100 тыс. просто загнали бы ваш Excel в кому.

Оглядываясь назад и вспоминая все свои выполненные проекты по автоматизации за последние Х лет, с грустью понимаю сколько дней и даже, наверное, недель можно было бы сэкономить, если бы динамические массивы и такие функции существовали тогда. Даааа….

Ну, лучше поздно, чем никогда, верно? По крайней мере, нашим детям точно будет проще :)

Ссылки по теме

  • Что такое динамические массивы в новом Excel и как они работают
  • Как отсортировать список формулой
  • Как создать выпдающий список в ячейке листа Excel

Если у вас в Excel не работает фильтр, постарайтесь не откладывать «лечение» в долгий ящик. Таблица будет расти,  некорректность фильтрации усугубится. На устранение проблемы, в итоге, уйдет гораздо больше времени.

Итак, почему в Excel может не работать фильтр?

  1. Есть проблема с совместимостью версий Excel;
  2. Плохая структура таблицы (пустые строки и столбцы, нечеткие диапазоны, много объединенных ячеек);
  3. Некорректная настройка фильтрации;
  4. Фильтр по дате может не работать из-за того, что даты сохранены в виде текста;
  5. У столбцов нет заголовков (как вариант, у части столбцов);
  6. Наличие сразу нескольких таблиц на одном листе;
  7. Много одинаковых данных в разных столбиках;
  8. Использование нелицензионной версии Excel.

Кто из нас не хочет использовать функциональные возможности Excel по полной? Опция фильтрации – одна из самых популярных и востребованных, позволяющая в разы оптимизировать работу с электронными таблицами. Один раз хорошо настроив фильтры, можно выполнять детальный учет данных, не заморачиваясь на сортировку. Конечно, это при условии правильного ведения таблицы.

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

Давайте разбираться, как исправить ситуацию. Рассмотрим подробно каждую из приведенных выше причин.

Проблема с совместимостью

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

Почему фильтр в Excel может не применяться? Все просто. В ранних версиях программы (до 2007 года), сортировка действовала только по 3 условиям. В Экселе же, выпущенном после 2007 года, насчитывается целых 64 условия. Неудивительно, что они не будут работать, если такую книгу открыть в «старушке».

Решение. Ничего не сохраняйте. Закройте книгу. Впредь работайте с ней только в актуальных версиях программы.

Некорректная структура таблицы

Постарайтесь «причесать» свою табличку:

  • Удалите пустые строки. Система их воспринимает, как разрыв таблицы, что сбивает сортировку;
  • Уберите объединенные ячейки (сведите их количество к предельно допустимому минимуму). Если фильтрация была настроена, когда клеточки «жили» по отдельности, после их слияния она может работать некорректно;
  • Приведите структуру в четкий вид.

Если улучшить структуру таблицы невозможно (например, она слишком огромная или пустые строки нужны бухгалтеру и т.д.), поступите так:

  • Выключите фильтр («Главная» – «Сортировка и Фильтр» или «Ctrl+Shift+L»);
  • Выделите весь диапазон ячеек (всю таблицу, вместе с шапкой);
  • Снова поставьте фильтрацию, не снимая выделение;
  • Готово. Должно работать, даже с пустыми строчками.

Неправильная настройка фильтрации

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

Меню сортировки находится тут:

«Главная» — «Сортировка и фильтры» — «Настраиваемая сортировка».

Дата сохранена в текстовом формате

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

Система сортирует документ по тексту, выдавая в результате полную белиберду.

  • Выделите проблемный столбик;
  • Щелкните по нему правой кнопкой мыши;
  • Выберите пункт «Формат ячеек»;

  • Установите «Дата»;
  • Готово.

У столбцов нет заголовков

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

Несколько таблиц на одном листе

Старайтесь объемные таблички размещать в одной книге, но на разных листах. Так системе гораздо проще обрабатывать данные. В результате, станет меньше ошибок, да и сортировка будет функционировать правильно.

В разных столбцах много одинаковых данных

Старайтесь избегать подобной путаницы. Или «обзывать» содержимое ячеек по-разному. Например, в перечне проданного товара не стоит делать 5 одинаковых столбцов с названием «Джинсы». Вставьте рядом артикул или номер модели, укажите цвет или просто поставьте порядковый номер. Делов на две минуты, зато фильтрация будет работать правильно.

Нелицензионная версия Excel

Если у вас не активна кнопка «Фильтр» в Excel, или же программа работает с регулярными лагами и ошибками, проверьте ее версию. От нелицензионного продукта желательно отказаться. Ну или найти менее «косячный» взломанный.

Мы разобрали, почему фильтр в Эксель может быть не активен, вам осталось только найти свою причину. Есть еще одно универсальное решение. Срабатывает оно не всегда, но нередко. Попробуйте просто скопировать весь массив на другой лист. Или, что еще лучше, в другую книгу. Логичного объяснения тут нет, но метод, действительно, иногда работает. Пусть это будет ваш случай!

Отличного Вам дня!

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

Описание функции ФИЛЬТР

Функция ФИЛЬТР является одной из семи функций, которые Microsoft анонсировала 24 сентября 2018 года вместе с революционным нововведением использования динамических массивов в Excel. Данная функция, как и остальные 6 и возможность использования динамических массивов не должна быть доступна пользователям, купившим Office 2019 и, тем более, более ранним версиям.

Воспользоваться новыми возможностями смогут пользователи с подпиской Office 365, а в будущем пользователи Office 2021 (следующей версией, которая следует за Office 2019), если к тому времени Microsoft попросту не оставит только вариант с подпиской.

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

Синтаксис

=ФИЛЬТР(массив; включить; [если_пусто])

Аргументы

массиввключитьесли_пусто

Обязательный. Массив или диапазон для фильтрации

Обязательный. Массив логических переменных с аналогичной высотой или шириной, что и массив. Условие записывается с использование функционала формул динамического массива, т.е. массив значений равен значению определенной ячейки.

На рисунке выше видно, что вторым аргументом записано условие: когда значение из диапазона равно Яблоко, последний, не обязательный, аргумент опущен.

Необязательный. Значение, возвращаемое, если все значения во включенном массиве пустые (фильтр не возвращает ничего)

Замечания

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

    На рисунке выше представлен результат фильтрации по продукту Яблоко из региона Восток;

  • Если нужно отфильтровать значение по нескольким условиям, то для логического ИЛИ используется знак суммирования +

    На рисунке выше диапазон отфильтрован по продукту Яблоко или из региона Восток;

  • Если результат вычисления формулы должен заполнить ячейки, которые уже заняты, то будет возвращена ошибка #ПЕРЕНОС!

    После очистки ячейки/ ячеек, которые «стоят на пути» вычисления формулы, формула вернет результат.

Пример

Видео работы функции

Дополнительные материалы

Файл из видео.

Microsoft добавила динамические массивы в Excel и новые функции.

Содержание

  • Функция фильтра Excel — синтаксис
  • Пример 1. Фильтрация данных по одному критерию (регион)
  • Пример 2: Фильтрация данных на основе одного критерия (больше или меньше)
  • Пример 3: Фильтрация данных с использованием нескольких критериев (И)
  • Пример 4: Фильтрация данных с использованием нескольких критериев (ИЛИ)
  • Пример 5: Фильтрация данных для получения записей выше / ниже среднего
  • Пример 6: Фильтрация только записей ЧЕТНЫХ чисел (или записей НЕЧЕТНЫХ чисел)
  • Пример 7: Сортировка отфильтрованных данных с помощью формулы

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

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

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

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

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

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

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

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

= ФИЛЬТР (массив; включить; [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

Понравилась статья? Поделить с друзьями:
  • Формула фильтр в excel 2016
  • Формула физика для word
  • Формула фигуры в excel
  • Формула факториала для excel
  • Формула экспоненциального роста в excel