Ich habe eine Ausgabe, bei der der Betrag absteigend vom höchsten gefiltert wird.
Ich möchte nur wissen, ob es eine Möglichkeit gibt, Zeilen mit Werten von 100.000 und mehr anzuzeigen und dabei die Daten unter 100.000 auszuschließen.
Meine Beispieldaten:
Name | Amount
Person 1 | 500,000
Person 2 | 400,000
Person 3 | 350,000
Person 4 | 200,000
Person 5 | 150,000
Person 6 | 90,000
Person 7 | 80,000
...
Gewünschte Ausgabe:
Name | Amount
Person 1 | 500,000
Person 2 | 400,000
Person 3 | 350,000
Person 4 | 200,000
Person 5 | 150,000
Ich weiß nicht, wie ich dies codieren oder eine Bedingung hinzufügen soll.
Antwort1
Antwort2
Was Sie beschreiben, lässt sich erreichen, indem Sie den Autofilter aktivieren oder die Daten in ein Excel-Tabellenobjekt umwandeln, die entsprechende Filtereinstellung auswählen und dann die Daten sortieren. Wenn der Liste weitere Daten hinzugefügt werden, müssen das Filtern und Sortieren wiederholt werden.
Wenn Sie möchten, dass Filter und Sortierung automatisch angewendet werden, können Sie die Daten mit Power Query laden, Filter und Sortierung in Power Query durchführen und das Ergebnis in ein anderes Blatt laden. Wenn der ursprünglichen Liste weitere Daten hinzugefügt werden, können Sie Power Query einfach aktualisieren. Dafür ist kein VBA erforderlich und die Arbeitsmappe muss nicht makrofähig sein.
Power Query ist als kostenloses Add-In für Excel 2010 und 2013 verfügbar und in späteren Versionen als „Abrufen und Transformieren“ in das Daten-Menüband integriert.
Antwort3
Sub FilterAndCopy()
Dim xStr As String
Dim xAddress As String
Dim xRg As Range
Dim xCRg As Range
Dim xSRg As Range
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select Range To Filter:", "Filter Range", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xCRg = Application.InputBox("Select Criteria range:", "Filter Range", "", , , , , 8)
If xCRg Is Nothing Then Exit Sub
Set xSRg = Application.InputBox("Select Output Range:", "Filter Range", "", , , , , 8)
If xSRg Is Nothing Then Exit Sub
xRg.AdvancedFilter xlFilterCopy, xCRg, xSRg, False
xSRg.Worksheet.Activate
xSRg.Worksheet.Columns.AutoFit
End Sub
Wie es funktioniert:
- KopierenundPastedieser Code als Standardmodul.
- Schreiben Sie Kriterien (zum Filtern von Daten) in eine Zelle (wie im Screenshot gezeigt).
Notiz:
Beim AuswählenKriterienWählen Sie Beides, Spaltenüberschrift (im Screenshot istDaten) und die Zelle darunter (>100000).
- LAUFENdas Makro.
- AntwortenEingabefeldund beenden mitOK.
Antwort4
Ein weiterer einfacher Ansatz, zusätzlich zu den bereits erwähnten, ist die Verwendung einer schnellen Formel in einer Hilfsspalte. Dafür ist kein Code erforderlich und Sie müssen auch keine zusätzlichen Plugins installieren. Geben Sie die folgende Formel in Zelle C2 ein, um die Werte über 100.000 zu isolieren, und doppelklicken Sie dann auf den Ziehpunkt in der unteren rechten Ecke der Zelle, um den Rest der Spalte automatisch auszufüllen.
=IF(B2>100000,"Yes","No")
Sie können dann den Excel-Filter verwenden und in Spalte C das Häkchen bei „Nein“ entfernen, sodass Ihnen nur die gewünschten Daten angezeigt werden!