2017-04-07 2 views
0

Ich bin über meine Bachelor-Arbeit zu schreiben, und ich bin struggeling meine DatenFilterung/Sortierung in Excel aus ausgewählten Namen

Bisher ist die einzige Lösung, die ich im Sinne habe, filtern ist, um manuell die gewünschte IDs auswählen. Aber ich hoffe, dass einige von Ihnen eine intelligentere Lösung haben, da ich mehrere Stunden brauche, um manuell auf den Filter zu klicken.

Mein Datensatz enthält 193,522 Zeilen und 14 Spalten

Snapshot von Daten-Set

enter image description here

und ich habe sorgfältig spezifischen Fonds-Namen zu untersuchen, da sie keine leeren datacells enthalten aufgeführt.

Ausgewählte Fonds-Name

enter image description here

Also meine Frage ist, ist es möglich, die gesamte Spalte (Fondsname) von der Liste im Bild ausgewählter Fondsnamen gegeben zu filtern?

Ich schätze Ihre Hilfe

/JernJens

Antwort

0

den folgenden Code als requierd modifizieren. Achten Sie auf die hinzugefügten Kommentare und stellen Sie sicher, dass alle Blätter in der Arbeitsmappe vorhanden sind und die Blattnamen entsprechend geändert werden.

Sub FilterBachelorThesis() 
Dim arrFilters 
Application.ScreenUpdating = False 
    With Worksheets("Fund Names")  'Sheet with list of Fund Names 
     'Assuming your list of fund names on FundNames Sheet in column A starting from Row2 
     arrFilters = Application.Transpose(.Range("A2", .Range("A" & Rows.Count).End(xlUp))) 
    End With 

    'Assuming you have a Sheet called "Filter Data" to hold the filtered result 
    Worksheets("Filtered Data").UsedRange.ClearContents 

    'Data is the main sheet which contains all your data 
    With Worksheets("Data").Range("A1").CurrentRegion 
     .AutoFilter 5, arrFilters, 7 
     .Copy Worksheets("Filtered Data").Range("A1") 
     .AutoFilter 
    End With 
Application.ScreenUpdating = True 
End Sub 
0

Verwenden match Funktion

Öffnen Sie eine neue Spalte und unten Formel hinzuzufügen. Die Formel zeigt an, ob der relevante Fonds in Ihrer zu filternden Fondsliste vorhanden ist.

=ISERROR(MATCH(E:E,RangeForFundstoFilter,0)) 

filtriere dann mit TRUE oder FALSE

Verwandte Themen