Прескочи на основното съдържание

Как да филтрирате данни от избор на падащ списък в Excel?

Автор: Xiaoyang Последна промяна: 2020-04-21

В Excel повечето от нас могат да филтрират данни с помощта на функцията за филтриране. Но опитвали ли сте някога да филтрирате данни от избрания падащ списък? Например, когато избера един елемент от падащия списък, искам съответните му редове да бъдат филтрирани, както е показано на следната екранна снимка. В тази статия ще говоря за това как да филтрирате данни с помощта на падащ списък в един или два работни листа.

Филтриране на данни от избор от падащ списък в един работен лист с помощни формули

Филтриране на данни от избор на падащ списък в два работни листа с VBA код


Филтриране на данни от избор от падащ списък в един работен лист с помощни формули

За да филтрирате данни от падащия списък, можете да създадете няколко помощни колони с формули, моля, изпълнете следните стъпки една по една:

1. Първо вмъкнете падащия списък. Щракнете върху клетка, където искате да вмъкнете падащия списък, след което щракнете Дата > Потвърждаване на данните > Потвърждаване на данните, вижте екранна снимка:

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

3, И после щракнете върху OK бутон, падащият списък се вмъква наведнъж и изберете един елемент от падащия списък, след което въведете тази формула: =РЕДОВЕ($A$2:A2) (A2 е първата клетка в колоната, която съдържа стойността на падащия списък) в клетка D2 и след това плъзнете манипулатора за попълване надолу към клетките, за да приложите тази формула, вижте екранната снимка:

4. Продължете да въвеждате тази формула: =АКО(A2=$H$2,D2,"") в клетка E2 и след това плъзнете манипулатора за запълване надолу, за да попълните тази формула, вижте екранната снимка:

Забележка: В горната формула:A2 е първата клетка в колоната, която съдържа стойността на падащия списък,H2 е клетката, в която е поставен падащият списък, D2 е формулата на първата помощна колона.

5. И след това въведете тази формула: =АКОГРЕШКА(МАЛКА($E$2:$E$17,D2),"") в клетка F2, след това плъзнете манипулатора за запълване надолу към клетките, за да попълните тази формула, вижте екранната снимка:

Забележка: В горната формула: E2: E17 е втората помощна формула клетки, D2 е първата клетка в първата колона с помощна формула.

6. След като вмъкнете колоните с помощна формула, трябва да изведете филтрирания резултат на друго място, моля, приложете тази формула: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") в клетка J2 и след това плъзнете манипулатора за попълване от J2 към L2 и първият запис на данните въз основа на падащия списък е извлечен, вижте екранната снимка:

Забележка: В горната формула: A2:C17 са оригиналните данни, които искате да филтрирате, F2 е третата колона с помощна формула, J2 е клетката, в която искате да изведете резултата от филтъра.

7. И след това продължете да плъзгате манипулатора за попълване надолу към клетките, за да покажете всички съответни филтрирани записи, вижте екранната снимка:

8. Отсега нататък, когато изберете един елемент от падащия списък, всички редове въз основа на този избор се филтрират наведнъж, вижте екранната снимка:


Филтриране на данни от избор на падащ списък в два работни листа с VBA код

Ако вашата клетка от падащ списък в Sheet1 и филтрираните данни в Sheet2, когато изберете един елемент от падащия списък, друг лист ще бъде филтриран. Как можахте да завършите тази работа в Excel?

Следният VBA код може да ви направи услуга, моля, направете следното:

1. Щракнете с десния бутон върху раздела на листа, който съдържа клетката с падащ списък, и след това изберете Преглед на кода от контекстното меню, в отворения Microsoft Visual Basic за приложения прозорец, копирайте и поставете следния код в празния модул:

VBA код: Филтриране на данни от избор на падащ списък в два листа:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Not Intersect(Range("A2"), Target) Is Nothing Then
        Application.EnableEvents = False
        If Range("A2").Value = "" Then
            Worksheets("Sheet2").ShowAllData
        Else
            Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
        End If
        Application.EnableEvents = True
    End If
End Sub

Забележка: В горния код: A2 е клетката, която съдържа падащия списък и Sheet2 дали работният лист съдържа данните, които искате да филтрирате. Броя 1 в сценария: Автофилтър 1 е номерът на колоната, въз основа на който искате да филтрирате. Можете да ги промените според вашите нужди.

2. От сега нататък, когато изберете един елемент от падащия списък в Sheet1 и съответните данни ще бъдат филтрирани в Sheet2, вижте екранната снимка:

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
For me, the Formula =ROWS($A$2:A2) didn't workend! It always gave me "2" back. I had to put =ROWS($A2:A2), so without the second "$", in order to reproduce your result.
This comment was minimized by the moderator on the site
How do I add multiple drown down menus? For example,
If i wanted a drop down menu for Product and name?.
This comment was minimized by the moderator on the site
Hey Kev, wondering if you found an answer to your question here? I have been looking for a bit to no avail.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations