Extrahieren von Zahlen innerhalb eines Bereichs (Microsoft Excel)
Robert hat eine Reihe von Zahlen in Spalte A, die von 1 bis 100 reichen. Er möchte nur die Werte zwischen 65 und 100 einschließlich extrahieren und sie in Spalte B einfügen. Er fragt sich, ob es eine Möglichkeit gibt, dies einfach zu tun.
Die kurze Antwort lautet, dass es einen sehr einfachen Weg gibt, vorausgesetzt, es macht Ihnen nichts aus, die Liste der Zahlen zu sortieren. Befolgen Sie diese Schritte:
-
Wählen Sie eine Zelle in Spalte A aus. (Es spielt keine Rolle, welche Zelle Sie auswählen, solange es sich um eine der Zellen handelt, die eine Nummer enthält.)
-
Zeigen Sie die Registerkarte Daten des Menübands an.
-
Klicken Sie in der Gruppe Sortieren & Filtern auf das Werkzeug Kleinste bis Größte sortieren.
Excel sortiert alle Zahlen in der Spalte.
-
Wählen Sie die Zahlen aus, die Sie in Spalte B einfügen möchten.
-
Drücken Sie Strg + X, um die Zellen in die Zwischenablage zu schneiden.
-
Wählen Sie Zelle B1 (oder die erste Zelle in Spalte B, in der die Werte angezeigt werden sollen).
-
Drücken Sie Strg + V, um die Zellen in die Spalte einzufügen.
Das ist es; Sie haben jetzt die gewünschten Zellen in Spalte B. Wenn Sie die Zellen einfach kopieren möchten, können Sie in Schritt 5 stattdessen Strg + C drücken.
Wenn Sie die Werte in Spalte A in ihrer ursprünglichen Reihenfolge beibehalten müssen (abzüglich der Werte, die Sie verschieben möchten), können Sie dies tun, indem Sie Spalte B als Spalte „Platzhalter“ verwenden. Stellen Sie rechts vom ersten Wert in Spalte A die vaue 1 ein. Geben Sie dann unterhalb der in Spalte B eine 2, dann eine 3 usw. ein, bis jeder Wert in Spalte A einen entsprechenden Wert in Spalte B hat, der angibt die Nummern Position. Führen Sie dann die folgenden Schritte aus:
-
Wählen Sie eine Zelle in Spalte A aus. (Es spielt keine Rolle, welche Zelle Sie auswählen, solange es sich um eine der Zellen handelt, die eine Nummer enthält.)
-
Zeigen Sie die Registerkarte Daten des Menübands an.
-
Klicken Sie in der Gruppe Sortieren & Filtern auf das Werkzeug Kleinste bis Größte sortieren.
Excel sortiert alle Zahlen in der Spalte.
-
Wählen Sie die Spalten in Spalte A aus, die Sie verschieben möchten, sowie die Zahlen rechts davon in Spalte B.
-
Drücken Sie Strg + X, um die Zellen in die Zwischenablage zu schneiden.
-
Wählen Sie Zelle D1 aus. (Es ist wichtig, Zelle D1 auszuwählen, da Sie Spalte C leer lassen müssen.)
-
Drücken Sie Strg + V, um die Zellen in die Spalten D und E einzufügen.
-
Wählen Sie eine Zelle in Spalte B aus.
-
Zeigen Sie die Registerkarte Daten des Menübands an.
-
Klicken Sie in der Gruppe Sortieren & Filtern auf das Werkzeug Kleinste bis Größte sortieren.
Excel sortiert alle Zahlen in der Spalte basierend auf den Werten in Spalte B.
-
Wählen Sie eine Zelle in Spalte E aus.
-
Die Registerkarte Daten des Menübands sollte weiterhin angezeigt werden.
-
Klicken Sie in der Gruppe Sortieren & Filtern auf das Werkzeug Kleinste bis Größte sortieren.
Excel sortiert alle Zahlen in der Spalte basierend auf den Werten in Spalte E.
-
Löschen Sie die Spalten B, C und E.
Zu diesem Zeitpunkt spiegeln die Werte in den Spalten A und B ihre ursprüngliche Reihenfolge wider, als sie sich alle in Spalte A befanden.
Eine andere Möglichkeit, die Zellen zu verschieben, besteht darin, die Filterfunktionen von Excel zu verwenden. Befolgen Sie diese Schritte:
-
Wählen Sie eine Zelle in Spalte A aus. (Es spielt keine Rolle, welche Zelle Sie auswählen, solange es sich um eine der Zellen handelt, die eine Nummer enthält.)
-
Zeigen Sie die Registerkarte Daten des Menübands an.
-
Klicken Sie auf das Filterwerkzeug. Excel fügt einen Filter-Dropdown-Pfeil auf der rechten Seite der Kopfzeile der Spalte A hinzu.
-
Klicken Sie auf den Abwärtspfeil und wählen Sie Zahlenfilter | Zwischen. Excel zeigt das Dialogfeld Benutzerdefinierter AutoFilter an. (Siehe Abbildung 1.)
-
Geben Sie im Feld Größer als oder gleich 6 ein.
-
Geben Sie im Feld Weniger als oder gleich 100 ein.
-
OK klicken. Excel beschränkt die Anzeige nur auf die Zeilen, die die in den Schritten 4 bis 6 angegebenen Kriterien erfüllen.
-
Wählen Sie die angezeigten Zellen aus.
-
Drücken Sie Strg + C, um die Zellen in die Zwischenablage zu kopieren.
-
Wählen Sie Zelle B1 (oder die erste Zelle in Spalte B, in der die Werte angezeigt werden sollen).
-
Drücken Sie Strg + V, um die Zellen in die Spalte einzufügen.
-
Wählen Sie eine der Zellen in Spalte A aus.
-
Klicken Sie erneut auf das Filterwerkzeug. (Die Registerkarte Daten des Menübands sollte weiterhin angezeigt werden.) Excel entfernt den zuvor angewendeten Filter.
Sie können auch Formeln in Spalte B verwenden, um die Werte herauszuholen, die innerhalb des gewünschten Bereichs liegen. Eine einfache Möglichkeit, dies zu tun, besteht darin, diese Formel in Zelle B1 zu platzieren:
=IF(AND(A1>=65, A1<=100),A1,"")
Kopieren Sie die Formel so weit wie nötig in Spalte B nach unten, und Sie erhalten Werte im Bereich von 65 bis einschließlich 100, die „kopiert“ werden
in Spalte B. Wenn der Wert außerhalb dieses Bereichs liegt, bleibt die Zelle in Spalte B leer.
Angenommen, Sie möchten keine leeren Zellen in Spalte B, können Sie eine Array-Formel verwenden, um die Werte abzurufen. Wenn Ihre Werte im Bereich A1: A500 liegen, platzieren Sie Folgendes in Zelle B1:
=IFERROR(INDEX(A$1:A$500,SMALL(IF(A$1:A$500>=65,ROW($1:$500)),ROW())),"")
Geben Sie es mit Strg + Umschalt + Eingabetaste ein und kopieren Sie die Formel so weit nach unten, wie Sie möchten.
Es gibt natürlich makrobasierte Lösungen, die Sie verwenden können. Diese sind hilfreich, wenn Sie diese Aufgabe häufig mit Daten ausführen müssen, die Sie von einer externen Quelle abrufen. Das Folgende ist ein einfaches Beispiel für ein Makro, das Sie verwenden können:
Sub ExtractValues1() Dim x As Integer x = 1 For Each cell In Selection If cell.Value >= 65 And cell.Value <= 100 Then Cells(x, 2) = cell.Value x = x + 1 End If Next cell End Sub
Sie verwenden das Makro, indem Sie die Zellen auswählen, die in Spalte A ausgewertet werden sollen, und sie dann ausführen. Es betrachtet jede Zelle und kopiert den Wert in Spalte B. Der ursprüngliche Wert in Spalte A bleibt unverändert.
Für mehr Flexibilität können Sie den Benutzer nach den unteren und oberen Werten fragen, wie in diesem Makro gezeigt:
Sub ExtractValues2() Dim iLowVal As Integer Dim iHighVal As Integer iLowVal = InputBox("Lowest value wanted?") iHighVal = InputBox("Highest value wanted?") For Each cell In Range("A:A") If cell.Value <= iHighVal And cell.Value >= iLowVal Then ActiveCell.Value = cell.Value ActiveCell.Offset(1, 0).Activate End If Next End Sub
Bevor Sie das Makro ausführen, wählen Sie die Zelle am oberen Rand des Bereichs aus, in dem die extrahierten Werte platziert werden sollen. Nichts in Spalte A ist betroffen. Nur die Werte zwischen dem unteren und oberen Bereich werden an die neue Position kopiert.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (13397) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.