Как пользоваться расширенным. Расширения конфигурации. Полезные советы для разработки. Удобно ли искать в Яндексе

0. Введение

Механизм расширения конфигурации появился в платформе 8.3.6 и соответственно может применяться в конфигурациях с отключенной совместимостью. На текущий момент все типовые конфигурации на управляемых формах поддерживают работу с расширениями. Рассмотрим подробнее, что это за механизм.

Согласно документации:

"Механизм расширения конфигурации - это специальный механизм, предназначенный для доработки расширяемой конфигурации без изменения этой конфигурации (в том числе без снятия с поддержки).

Основное назначение расширения конфигурации - это доработка прикладного решения при внедрении (или в «облаке») под нужды клиента. При этом дорабатываемую конфигурацию не надо снимать с поддержки. В результате сохраняется простота обновления типового прикладного решения, стоящего на поддержке, с необходимостью выполнять доработки. При разработке расширения следует понимать некоторые особенности функционирования расширения конфигурации. Так, расширяемая конфигурация в любой момент может быть изменена, например, в результате обновления. При этом разработчик расширения не может никак повлиять на возможность или невозможность обновления. Также следует учитывать тот факт, что в системе могут функционировать более одного расширения и автор каждого расширения (в общем случае) не знает, как функционирует другое расширение."

Более подробно о расширениях можно почитать и посмотреть здесь:

Заметки в зазеркалье
Курсы Гилёва и Насипова
Расширения в 8.3.9

Ниже я приведу полезные советы для работы с расширениями.

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

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

1. Показать/скрыть неизмененные объекты

При добавлении новых объектов в расширение также автоматически добавляются связанные объекты. В результате в метаданных расширения скапливается много служебных объектов.
Для того, чтобы показать только измененные объекты есть кнопка “Измененные и добавленные в расширении”. При нажатии отображаются только добавленные вручную и измененные объекты расширения.
Принцип её работы показан ниже:

2. Последовательность выполнения обработчиков

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

а) Выполнить сначала типовой код, затем код из расширения:

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ДополнительныеПараметры = Новый Структура; ДополнительныеПараметры.Вставить("Сообщение", "ПослеТиповогоОбработчика!"); УстановитьВыполнениеПослеОбработчиковСобытия("ВыполнитьПослеТиповогоОбработчика", ДополнительныеПараметры); КонецПроцедуры &НаСервере Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры) Сообщить(ДополнительныеПараметры.Сообщение); КонецПроцедуры

б) Выполнить сначала код из расширения, затем типовой код, затем опять код из расширения

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Процедуры до типовых обработчиков Сообщить("До типового обработчика!"); // Устанавливаем обработчик после типового обработчика событий УстановитьВыполнениеПослеОбработчиковСобытия("ВыполнитьПослеТиповогоОбработчика"); // Дальше будет выполнен код из типового обработчика КонецПроцедуры &НаСервере Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры) // Код после типового обработчика из расширения Сообщить("После типового обработчика!"); КонецПроцедуры

в) Выполнить сначала типовой код, затем код из расширения, затем снова типовой код

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

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Процедуры до типовых обработчиков Сообщить("ДоТиповогоОбработчика!"); // Процедуры из типового обработчика Если НЕ ЗначениеЗаполнено(БанковскийСчет.ВалютаДенежныхСредств) Тогда БанковскийСчет.ВалютаДенежныхСредств = ОбщегоНазначенияБПВызовСервераПовтИсп.ПолучитьВалютуРегламентированногоУчета(); КонецЕсли; РазместитьКонтактнуюИнформацию(); Если Параметры.Ключ.Пустая() Тогда ПодготовитьФормуНаСервере(); КонецЕсли; УправлениеФормой(ЭтаФорма); // Процедуры после типовых обработчиков Сообщить("ПослеТиповогоОбработчика!"); // Остановим выполнение типовых обработчиков УстановитьВыполнениеОбработчиковСобытия(Ложь); КонецПроцедуры

г) Отменить типовые обработчики

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Остановим выполнение типовых обработчиков УстановитьВыполнениеОбработчиковСобытия(Ложь); КонецПроцедуры

3. Создание и использование общего модуля, модуля менеджера или модуля объекта

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

&НаСервере Процедура СообщитьДиректораНаСервере() Должность = "Директор"; ФИОРуководителя = "Иванов И.И."; Обработки.Учеб_Обработка.СообщитьДиректора(Должность, ФИОРуководителя); КонецПроцедуры

Модуль менеджера обработки:

Процедура СообщитьДиректора(Знач Должность, Знач ФиоРуководителя) Экспорт ТекстСообщения = СтрШаблон(НСтр("ru="%1 %2""), Должность, ФиоРуководителя); Сообщить(ТекстСообщения); КонецПроцедуры

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

4. Как подключить отладку

В типовых конфигурациях на основе библиотеки стандартных подсистем (БСП) при отладке расширений встречается вот такое страшное сообщение:


Оно возникает если в конфигураторе открыто наше расширение и лечится только закрытием окна расширения.

Для того, чтобы подключить отладку в расширении следует и спользовать ключ командной строки - “РежимОтладки”

Это упрощает отладку кода. В частности:

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

Для того чтобы его установить:

  • Запустить предприятия с ключом командной строки - " /C РежимОтладки "
  • В режиме конфигуратора установить параметр запуска:
    Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска: ввести строку < РежимОтладки >

При первом подключении расширения или при изменении в версии расширения или поставщика, отладка может не подключится с таким же сообщением.

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

1. В конфигураторе закрыть это расширение
2. Запустить конфигурацию в режиме предприятие и открыть форму, связанную с расширением
3. Открыть расширение в конфигураторе
4. Перезапустить отладку.

5. Как писать запросы

Расширение видит и работает только с теми объектами, которые заимствованы из основной конфигурации.
Объекты, которые не заимствованы, в расширении не видны и при попытке обращения к ним, например, в тексте запроса, в режиме “Конфигуратор” вызывают ошибку. Хотя в пользовательском режиме код выполняется без проблем.
Для того чтобы писать или редактировать запросы с большим количеством метаданных лучше воспользоваться любой внешней обработкой. В ней доступны все метаданные из основной конфигурации:


6. Как сохранять данные

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

а) Сохранение данных формы

В редактируемой форме можно установить свойство - “АвтоматическоеСохранениеДанныхВНастройках” в "Использовать" и поставить флаг "Сохранение" над нужными реквизитами. Это позволит сохранять значения реквизитов типовым механизмом платформы:


Такое сохранение данных .

б) Хранилище общих настроек

В этом хранилище можно хранить любые данные. Подробнее можно .
Рассмотрим пример хранения произвольных данных.

Сохранение данных:

&НаСервере Процедура ПередЗакрытиемНаСервере() // Подготовим структуру хранения данных СтруктураНастроек = Новый Структура; СтруктураНастроек.Вставить("Всем", Всем); СтруктураНастроек.Вставить("Близким", Близким); СтруктураНастроек.Вставить("Друзьям", Друзьям); // Сохраним данные в хранилище общих настроек ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("Учеб_СделатьВсёХорошо", "Настройки", СтруктураНастроек); КонецПроцедуры

Восстановление данных:

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Инициализируем структуру СтруктураНастроек = Новый Структура; // Восстановим сохраненные данные СтруктураНастроек = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("Учеб_СделатьВсёХорошо", "Настройки", СтруктураНастроек); // Заполним значения реквизитов формы ЗаполнитьЗначенияСвойств(ЭтаФорма, СтруктураНастроек); КонецПроцедуры

7. Как добавить свой макет

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

8. Как подменить кнопку заполнения табличной части

Иногда может потребоваться и добавить свою кнопку заполнения и оставить типовую кнопку.
Для того, чтобы убрать типовую кнопку подальше, но не удалять её совсем можно установить свойство - “Только во всех действиях” - "Да":

В этом случае кнопка будет доступна из подменю “Еще”. Это позволит в случае непредвиденных ситуаций продолжить работу с типовой функциональностью.

9. Расширение как багфикс

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

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

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

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

10. Как вывести свою обработку в интерфейс

Для того, чтобы вывести свою обработку в интерфейс конфигурации необходимо включить её в состав требуемой подсистемы:

Также можно создать свою подсистему в расширении и складывать нужные объекты в неё.
Например, можно поместить в расширение внешние обработки или отчеты и просто подключать их к любым конфигурациям:

11. Как перевести расширение на 8.3.8

Чтобы перевести расширение на 8.3.8 следует выполнить следующие действия:

1. Снять режим совместимости в расширении.
Установить свойства совместимости такими же как и у основной конфигурации.

2. Устранить проблемы подключения.
Необходимо проверить, что на новой версии расширение подключается. Причину ошибок можно посмотреть в журнале регистрации.

3. Обновить формы в расширении.
Следует обновить формы расширений из основной конфигурации. Чтобы и в расширении и в конфигурации формы были одинаковыми.

4. Привести компоновку формы к новым правилам движка.
С рекомендациями по адаптации форм к новой платформе можно ознакомиться по этой ссылке .

5. Проверить, что расширение выглядит и работает правильно.

Более подробно по каждому пункту описано в . Там же приведены полезные материалы по теме.

12. Как подключить расширение

1. Администрирование - "Печатные формы и обработки"

3. Кнопка "Добавить" - Выбираем файл

4. Кнопка "Перезапустить"

5. Готово!


13. Как обновить расширение

1. Администрирование - "Печатные формы и обработки"

3. Встаем на нужное расширение

4. "Еще" - Команда "Обновить из файла на диске"

5. Кнопка "Перезапустить"

6. Готово!

Пока на этом всё!

Благодарность можно выразить денежно, а то кризис, сами понимаете!

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

Обычный и расширенный фильтр

В Excel представлен простейший фильтр, который запускается с вкладки «Данные» — «Фильтр» (Data — Filter в англоязычной версии программы) или при помощи ярлыка на панели инструментов, похожего на конусообразную воронку для переливания жидкости в ёмкости с узким горлышком.

Для большинства случаев данный фильтр является вполне оптимальным вариантом. Но, если необходимо осуществить отбор по большому количеству условий (да ещё и по нескольким столбцам, строкам и ячейкам), многие задаются вопросом, как сделать расширенный фильтр в Excel. В англоязычной версии называется Advanced filter.

Первое использование расширенного фильтра

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

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

A B C D E F
1 Продукция Наименование Месяц День недели Город Заказчик
2 овощи Краснодар "Ашан"
3
4 Продукция Наименование Месяц День недели Город Заказчик
5 фрукты персик январь понедельник Москва "Пятёрочка"
6 овощи помидор февраль понедельник Краснодар "Ашан"
7 овощи огурец март понедельник Ростов-на-Дону "Магнит"
8 овощи баклажан апрель понедельник Казань "Магнит"
9 овощи свёкла май среда Новороссийск "Магнит"
10 фрукты яблоко июнь четверг Краснодар "Бакаль"
11 зелень укроп июль четверг Краснодар "Пятёрочка"
12 зелень петрушка август пятница Краснодар "Ашан"

Применение фильтра

В приведённой таблице строки 1 и 2 предназначены для диапазона условий, строки с 4 по 7 - для диапазона исходных данных.

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

Запуск фильтра осуществляется с помощью выделения ячеек исходных данных, после чего необходимо выбрать вкладку «Данные» и нажать кнопку «Дополнительно» (Data — Advanced соответственно).

В открывшемся окне отобразится диапазон выделенных ячеек в поле «Исходный диапазон». Согласно приведённому примеру, строка принимает значение «$A$4:$F$12».

Поле «Диапазон условий» должно заполниться значениями «$A$1:$F$2».

Окошко также содержит два условия:

  • фильтровать список на месте;
  • скопировать результат в другое место.

Первое условие позволяет формировать результат на месте, отведённом под ячейки исходного диапазона. Второе условие позволяет сформировать список результатов в отдельном диапазоне, который следует указать в поле «Поместить результат в диапазон». Пользователь выбирает удобный вариант, например, первый, окно «Расширенный фильтр» в Excel закрывается.

Основываясь на введённых данных, фильтр сформирует следующую таблицу.

При использовании условия «Скопировать результат в другое место» значения из 4 и 5 строк отобразятся в заданном пользователем диапазоне. Исходный диапазон же останется без изменений.

Удобство использования

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

Если пользователь обладает знаниями VBA, рекомендуется изучить ряд статей данной тематики и успешно реализовывать задуманное. При изменении значений ячеек строки 2, отведённой под Excel расширенный фильтр, диапазон условий будет меняться, настройки сбрасываться, сразу запускаться заново и в необходимом диапазоне будут формироваться нужные сведения.

Сложные запросы

Помимо работы с точно заданными значениями, расширенный фильтр в Excel способен обрабатывать и сложные запросы. Таковыми являются введённые данные, где часть знаков заменена подстановочными символами.

Таблица символов для сложных запросов приведена ниже.

Пример запроса Результат
1 п*

возвращает все слова, начинающиеся с буквы П:

  • персик, помидор, петрушка (если ввести в ячейку B2);
  • Пятёрочка (если ввести в ячейку F2).
2 = результатом будет выведение всех пустых ячеек, если таковые имеются в рамках заданного диапазона. Бывает весьма полезно прибегать к данной команде с целью редактирования исходных данных, ведь таблицы могут с течением времени меняться, содержимое некоторых ячеек удаляться за ненадобностью или неактуальностью. Применение данной команды позволит выявить пустые ячейки для их последующего заполнения, либо реструктуризации таблицы.
3 <> выведутся все непустые ячейки.
4 *ию* все значения, где имеется буквосочетание «ию»: июнь, июль.
5 =????? все ячейки столбца, имеющие четыре символа. За символы принято считать буквы, цифры и знак пробела.

Стоит знать, что значок * может означать любое количество символов. То есть при введённом значении «п*» будут возвращены все значения, вне зависимости от количества символов после буквы «п».

Знак «?» подразумевает только один символ.

Связки OR и AND

Следует знать, что сведения, заданные одной строкой в «Диапазоне условий», расцениваются записанными в связку логическим оператором (AND). Это означает, что несколько условий выполняются одновременно.

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

Таблица значений примет следующий вид:

A B C D E F
1 Продукция Наименование Месяц День недели Город Заказчик
2 фрукты
3 овощи
4
5 Продукция Наименование Месяц День недели Город Заказчик
6 фрукты персик январь понедельник Москва "Пятёрочка"
7 овощи помидор февраль понедельник Краснодар "Ашан"
8 овощи огурец март понедельник Ростов-на-Дону "Магнит"
9 овощи баклажан апрель понедельник Казань "Магнит"
10 овощи свёкла май среда Новороссийск "Магнит"
11 фрукты яблоко июнь четверг Краснодар "Бакаль"

Сводные таблицы

Ещё один способ осуществляется с помощью команды «Вставка — Таблица — Сводная таблица» (Insert — Table — PivotTable в англоязычной версии).

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

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

Заключение

В заключение следует отметить, что область применения фильтров в Microsoft Excel весьма широка и разнообразна. Достаточно применить фантазию и развивать собственные знания, умения и навыки.

Сам по себе фильтр прост в применении и освоении, несложно разобраться, как пользоваться расширенным фильтром в Excel, но он предназначен для случаев, когда необходимо малое количество раз произвести отсеивание сведений для дальнейшей обработки. Как правило, не предусматривает работу с большими массивами сведений ввиду обычного человеческого фактора. Здесь уже на помощь приходят более продуманные и продвинутые технологии обработки сведений в Microsoft Excel.

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

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

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

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

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

Настройки поиска Яндекс

К подобным возможностям относится следующее:

  • Уточнение поискового запроса.
  • Исправление поискового запроса.
  • Настройка поисковых результатов.
  • Настройка языковых параметров.
  • Устранение из результатов страниц для категории пользователей 18+.
  • Настройка индивидуального поиска.
  • Использование горячих клавиш.

Уточнение поискового запроса

Уточнение может выполняться при помощи специальных инструментов – фильтров либо при помощи языка запросов.

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

Исправление поискового запроса

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

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

Настройка поисковых результатов

Для конфигурирования данного элемента потребуется щелкнуть по опции «Настройки » в конце листа. В данном разделе можно указать следующую информацию :

Настройка языковых параметров

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

Устранение из результатов страниц для категории пользователей 18+

Для устранения подобной информации требуется в пункте «Фильтрация страниц » раздела Настроек найти инструмент соответствующей категории:


Настройка индивидуального поиска

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

Здравствуйте друзья!

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

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

Использовать можно двумя способами:

С помощью диалогового окна «Расширенный фильтр»

Рассмотрим это на примере, нам нужно отобрать страны в мире где есть монархия. Для удобства и наглядной визуализации, скопируйте шапку таблицы немного выше, создайте несколько пустых строк. Обязательно между двумя таблицами должен быть разделитель – пустая строка . Теперь можем применить фильтр, согласно заданных условий.
Для начала выделяем любую из ячеек диапазона хранения ваших данных, на вкладке «Данные» , нужно найти пункт «Дополнительно» и в открывшемся диалоговом окне «Расширенный фильтр» мы видим переключатель «Скопировать результат, в другое место» который позволяет вам перенести полученные данные в указанное место, но нам это пока не нужно. «Исходный диапазон» в диалоговом окне проставляется по умолчанию, а вот «Диапазон условий» вам нужно проставить вручную. Советую не спешить и указывать только заполненные строки с условием, так как пустая строка в диапазоне - это условие — «отобрать всё что есть» . При подтверждении введенных условий в диалоговом окне «Расширенный фильтр» мы получаем указанный результат.

С помощью макроса

Как видите, позволил вам произвести отборку данных по указанным вами критериям, но удобства у такого способа немного, хотя его полезность и важность вы отрицать не будете. Выходом из создавшегося положения можно найти, используя в работе возможности макроса.
Для улучшения эффективности работы вам нужно клацнуть на ярлыке вашего текущего листа правой кнопкой мышки и в контекстном окне выбрать пункт «Исходный текст» и в появившееся диалоговое окно ввести код:

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2:I2")) Is Nothing Then On Error Resume Next ActiveSheet.ShowAllData Range("C5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("C1").CurrentRegion End If End Sub

Private Sub Worksheet_Change (ByVal Target As Range )

If Not Intersect (Target , Range ("C2:I2" ) ) Is Nothing Then

On Error Resume Next

ActiveSheet . ShowAllData

Range ("C5" ) . CurrentRegion . AdvancedFilter Action : = xlFilterInPlace , CriteriaRange : = Range ("C1" ) . CurrentRegion

End If

End Sub

Этот код будет автоматически, применятся при любом изменении полей и накладывать фильтр на ваши данные. Он просматривает диапазон (C2:I2) на наличие введенных данных и мгновенно применяет условия, к диапазону ваших данных, которые начинаются с ячейки (C5).
Кроме точно сформулированных условий, когда используется можно также использовать знаки подстановки и замены, разнообразные математические знаки, которые позволят произвести приблизительный поиск или захватит .

Вот предоставлены варианты:

Условие

Полученный результат

Отбор всех ячеек, где есть пять символов. (Например, Прага)

Отбор текста на 4 знака, который начинается с «в» и заканчивается на «а» (Например, Вена)

Отбор значений с тремя буквами в конце, одна из которых неизвестна (Например, София)

Отбор всех значений, которые начинаются с букв «пр» (Например, Прага)

Отбор значений, которые начинаются с «п», содержат или заканчиваются на «р» (Например, Париж)

Отбор значений, которые заканчиваются на «н» (Например, Берлин)

Отбор точного совпадения (Например, Рим)

<>монарх*

Производится отбор всех пустых ячеек

Производится отбор всех не пустых ячеек

Отбор значений, которые равны или больше 40

Точный отбор значений, которые равны 20.

Отбор всех значений, которые начинаются с «р»

Отбор данных, которые содержат «монарх»

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

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

Если у вас есть дополнения, пишите в комментариях. Был рад вам помочь!

«Иным людям богатство только и приносит, что страх потерять его.»

А. Ривароль

Вывести на экран информацию по одному / нескольким параметрам можно с помощью фильтрации данных в Excel.

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

Автофильтр и расширенный фильтр в Excel

Имеется простая таблица, не отформатированная и не объявленная списком. Включить автоматический фильтр можно через главное меню.


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

Пользоваться автофильтром просто: нужно выделить запись с нужным значением. Например, отобразить поставки в магазин №4. Ставим птичку напротив соответствующего условия фильтрации:

Сразу видим результат:

Особенности работы инструмента:

  1. Автофильтр работает только в неразрывном диапазоне. Разные таблицы на одном листе не фильтруются. Даже если они имеют однотипные данные.
  2. Инструмент воспринимает верхнюю строчку как заголовки столбцов – эти значения в фильтр не включаются.
  3. Допустимо применять сразу несколько условий фильтрации. Но каждый предыдущий результат может скрывать необходимые для следующего фильтра записи.

У расширенного фильтра гораздо больше возможностей:

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


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

Готовый пример – как использовать расширенный фильтр в Excel:



В исходной таблице остались только строки, содержащие значение «Москва». Чтобы отменить фильтрацию, нужно нажать кнопку «Очистить» в разделе «Сортировка и фильтр».

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

Рассмотрим применение расширенного фильтра в Excel с целью отбора строк, содержащих слова «Москва» или «Рязань». Условия для фильтрации должны находиться в одном столбце. В нашем примере – друг под другом.

Заполняем меню расширенного фильтра:

Получаем таблицу с отобранными по заданному критерию строками:


Выполним отбор строк, которые в столбце «Магазин» содержат значение «№1», а в столбце стоимость – «>1 000 000 р.». Критерии для фильтрации должны находиться в соответствующих столбцах таблички для условий. На одной строке.

Заполняем параметры фильтрации. Нажимаем ОК.

Оставим в таблице только те строки, которые в столбце «Регион» содержат слово «Рязань» или в столбце «Стоимость» - значение «>10 000 000 р.». Так как критерии отбора относятся к разным столбцам, размещаем их на разных строках под соответствующими заголовками.

Применим инструмент «Расширенный фильтр»:


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

Основные правила:

  1. Результат формулы – это критерий отбора.
  2. Записанная формула возвращает результат ИСТИНА или ЛОЖЬ.
  3. Исходный диапазон указывается посредством абсолютных ссылок, а критерий отбора (в виде формулы) – с помощью относительных.
  4. Если возвращается значение ИСТИНА, то строка отобразится после применения фильтра. ЛОЖЬ – нет.

Отобразим строки, содержащие количество выше среднего. Для этого в стороне от таблички с критериями (в ячейку I1) введем название «Наибольшее количество». Ниже – формула. Используем функцию СРЗНАЧ.

Выделяем любую ячейку в исходном диапазоне и вызываем «Расширенный фильтр». В качестве критерия для отбора указываем I1:I2 (ссылки относительные!).

В таблице остались только те строки, где значения в столбце «Количество» выше среднего.


Чтобы оставить в таблице лишь неповторяющиеся строки, в окне «Расширенного фильтра» поставьте птичку напротив «Только уникальные записи».

Нажмите ОК. Повторяющиеся строки будут скрыты. На листе останутся только уникальные записи.