Быстрое определение примененных автофильтров (Microsoft Excel)
Джиму нужен способ быстро определить, какие критерии фильтрации были применены в автофильтре. Ему трудно сказать, к каким столбцам применена фильтрация (небольшое изменение цвета стрелки раскрывающегося списка с черного на синий почти не заметно), поэтому было бы неплохо использовать другой метод определения места применения фильтра.
Отсутствие контраста между черными и синими стрелками раскрывающегося списка в столбце с фильтрами — не редкость. Фактически, именно эта проблема была рассмотрена в другом выпуске ExcelTips. (Вы можете поискать на веб-сайте ExcelTips фразу «цвета стрелок раскрывающегося списка», чтобы получить полезный совет в этом отношении.)
Если вы действительно хотите знать, какие критерии применяются к столбцу, вас заинтересует небольшой макрос, который поместит критерии в другую ячейку:
Function DispCriteria(Rng As Range) As String Dim Filter As String Filter = "" On Error GoTo Done With Rng.Parent.AutoFilter If Intersect(Rng, .Range) Is Nothing Then GoTo Done With .Filters(Rng.Column - .Range.Column + 1) If Not .On Then GoTo Done Filter = .Criteria1 Select Case .Operator Case xlAnd Filter = Filter & " AND " & .Criteria2 Case xlOr Filter = Filter & " OR " & .Criteria2 End Select End With End With Done: DispCriteria = Filter End Function
На самом деле это пользовательская функция, которую вы можете использовать на своем листе. Например, если вы хотите узнать критерии фильтрации, примененные к столбцу C, вы можете использовать в ячейке следующее:
=DispCriteria(C:C)
Если хотите, вы можете просто сослаться на ячейку заголовка для фильтруемого столбца. Например, если заголовок (тот, к которому Автофильтр добавляет стрелку раскрывающегося списка) является ячейкой C3, вы можете использовать следующее:
=DispCriteria(C3)
Критерии, отображаемые функцией, фактически используются Автофильтром. Например, если вы используете критерий фильтрации, который гласит «Топ-10», тогда Excel преобразует это во время применения во что-то вроде «> = 214.3281932» (значение будет варьироваться в зависимости от ваших данных). Это формульный фильтр, который возвращается функцией DispCriteria, а не формулировка «Топ-10».
Функция основана на функции, созданной Microsoft MVP Стивеном Булленом.
Макрос был опубликован в разных местах, и вы можете найти его на веб-сайте Джона Уокенбаха здесь:
http://www.j-walk.com/ss/excel/usertips/tip044.htm
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2891) применим к Microsoft Excel 97, 2000, 2002 и 2003.