Note: The other languages of the website are Google-translated. Back to English

Cum se filtrează datele din selectarea listei derulante în Excel?

În Excel, majoritatea dintre noi putem filtra datele utilizând funcția Filtrare. Dar, ați încercat vreodată să filtrați date din lista de selecție derulantă? De exemplu, când selectez un articol din lista derulantă, vreau ca rândurile corespunzătoare să fie filtrate după cum se arată în următoarea captură de ecran. În acest articol, voi vorbi despre cum să filtrați datele utilizând lista derulantă în una sau două foi de lucru.

Filtrați datele din selecția listei derulante într-o singură foaie de lucru cu formule de ajutor

Filtrează datele din selectarea listei derulante în două foi de lucru cu cod VBA


Filtrați datele din selecția listei derulante într-o singură foaie de lucru cu formule de ajutor

Pentru a filtra datele din lista derulantă, puteți crea câteva coloane de formulare de ajutor, vă rugăm să parcurgeți următorii pași unul câte unul:

1. Mai întâi, introduceți lista derulantă. Faceți clic pe o celulă în care doriți să inserați lista derulantă, apoi faceți clic pe Date > Data validarii > Data validarii, vezi captura de ecran:

2. În pop-out Data validarii caseta de dialog, sub setări cont , selectați Listă de la Permite derulează, apoi faceți clic pe butonul pentru a alege lista de date pe care doriți să creați lista derulantă pe baza, vedeți captura de ecran:

3. Apoi faceți clic pe OK butonul, lista derulantă este inserată simultan și alegeți un element din lista derulantă, apoi introduceți această formulă: = RUNURI ($ A $ 2: A2) (A2 este prima celulă din coloană care conține valoarea listei derulante) în celula D2, apoi trageți mânerul de umplere în jos în celule pentru a aplica această formulă, vedeți captura de ecran:

4. Continuați să introduceți această formulă: = IF (A2 = $ H $ 2, D2, "") în celula E2, apoi glisați mânerul de umplere în jos pentru a completa această formulă, vedeți captura de ecran:

notițe: În formula de mai sus :A2 este prima celulă din coloană care conține valoarea listei derulante ,H2 este celula în care a fost plasată lista derulantă, D2 este prima formulă de coloană de ajutor.

5. Și apoi tastați această formulă: = IFERROR (MICĂ ($ E $ 2: $ E $ 17, D2), "") în celula F2, apoi trageți mânerul de umplere în jos în celule pentru a umple această formulă, vedeți captura de ecran:

notițe: În formula de mai sus: E2: E17 este a doua celulă formulă helper, D2 este prima celulă din prima coloană formulă helper.

6. După inserarea coloanelor formulei de ajutor, ar trebui să afișați rezultatul filtrat într-o altă locație, vă rugăm să aplicați această formulă: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") în celula J2, apoi trageți mânerul de umplere de la J2 la L2, iar prima înregistrare a datelor bazată pe lista derulantă a fost extrasă, vedeți captura de ecran:

notițe: În formula de mai sus: A2: C17 sunt datele originale pe care doriți să le filtrați, F2 este a treia coloană de formulă de ajutor, J2 este celula în care doriți să scoateți rezultatul filtrului.

7. Și apoi continuați să trageți mânerul de umplere în jos către celule pentru a afișa toate înregistrările filtrate corespunzătoare, a se vedea captura de ecran:

8. De acum înainte, când selectați un articol din lista derulantă, toate rândurile bazate pe această selecție sunt filtrate simultan, vedeți captura de ecran:


Filtrează datele din selectarea listei derulante în două foi de lucru cu cod VBA

Dacă celula listă derulantă din Foaia1 și datele filtrate în Foaia2, atunci când alegeți un element din lista derulantă, o altă foaie va fi filtrată. Cum ați putea termina această lucrare în Excel?

Următorul cod VBA vă poate face o favoare, vă rugăm să procedați astfel:

1. Faceți clic dreapta pe fila de foaie care conține celula listă derulantă, apoi alegeți Afișați codul din meniul contextual, în meniul deschis Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți următorul cod în modulul gol:

Cod VBA: filtrați datele din selecția listei derulante în două foi:

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

notițe: În codul de mai sus: A2 este celula care conține lista derulantă și Sheet2 este foaia de lucru conține datele pe care doriți să le filtrați. Numarul 1 în scenariu: Filtru automat 1 este numărul coloanei pe care doriți să filtrați pe baza. Le puteți schimba după nevoile dvs.

2. De acum înainte, când selectați un element din lista derulantă din Foaia 1, iar datele corespunzătoare vor fi filtrate în Foaia 2, vedeți captura de ecran:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (3)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum adaug mai multe meniuri înecate? De exemplu,
Dacă aș dori un meniu drop-down pentru Produs și nume?.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hei Kev, te întrebi dacă ai găsit aici un răspuns la întrebarea ta? Am căutat puțin fără niciun rezultat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Pentru mine, Formula =ROWS($A$2:A2) nu a funcționat! Mi-a dat mereu „2” înapoi. A trebuit să pun =ROWS($A2:A2), deci fără al doilea „$”, pentru a reproduce rezultatul.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL