Clever-Excel-Forum

Normale Version: Zahlen sortieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo und guten Tag,

ich bin es mal wieder und ich hoffe, Ihr könnt mir helfen.

Ich habe in einer Spalte von Excel z. B. solche Zahlen:
-100,00
26,99
300,00
-92,00
-14,99
-152,24
-26,99
-32,41
-2,00
700
-4,95

Wie kann ich die Zahlen in 2 Spalten bekommen, dass es dann so aussieht:
In einer Spalte alle Zahlen die ein Minuszeichen haben und in der anderen Spalte alle Zahlen die kein Minuszeichen haben.

Ich bin jetzt sehr gespannt und freue mich auf eine tolle Lösung, da ich in dieser Richtung über 1.000 Zahlen habe.

Mit ganz lieben Grüßen für ein sonniges Wochenende!
Hallo,

eine Möglichkeit:

Daten, Text in Spalten, Trennzeichen -

in eine Leerzelle -1 schreiben, diese Zelle kopieren, Spalte mit den negativen Zahlen, denen ja das Minuszeichen fehlt, markieren, Inhalte einfügen, multiplizieren.
Danke, Edgar, ich werde das probieren.   Heart
Hat super funktioniert!
Moin!
Oder per Simpelst-Formel?
HIJ
2-100-100
326,9926,99
4300300
5-92-92
6-14,99-14,99
7-152,24-152,24
8-26,99-26,99
9-32,41-32,41
10-2-2
11700700
12-4,95-4,95

ZelleFormel
I2=WENN(H2>0;H2;"")
J2=WENN(H2<0;H2;"")

Gruß Ralf
Hallo.

interessant wäre noch, ob die Zahlen in der jeweiligen Ursprungs-Zeile stehen bleiben sollen oder untereinander ohne Leerzeile geschrieben werden sollen.
Vllt noch ein Vorschlag mit VBA:

Kopiert die Zahlen in die gleiche Zeile der Ursprungs-Zeile:
Code:
Sub Aufteilung_Positiv_Negativ()
    Dim Bereich As Range
    Dim Zelle As Range
    Dim Zeile As Long
   
    ' Bereich in dem positive und negative Zahlen stehen ggf. anpassen
    Set Bereich = Range("A2:A2000")
   
    For Each Zelle In Bereich
        ' Auf positiv prüfen
        If Zelle.Value > 0 Then
            ' Positive kopieren
            Zeile = Zelle.Row
            Zelle.Copy Destination:=Range("B" & Zeile)
        ElseIf Zelle.Value < 0 Then
            ' Negative kopieren
            Zeile = Zelle.Row
            Zelle.Copy Destination:=Range("C" & Zeile)
        End If
    Next Zelle
   
    ' MSGBOX
    MsgBox "Prozedur durchgeführt."
   
End Sub

Schreibt die Zahlen untereinander ohne Leerzeilen:
Code:
Sub Aufteilung_Positive_Negative()
    Dim Bereich As Range
    Dim Zelle As Range
    Dim Positive As Range
    Dim Negative As Range
    Dim ZeileB As Integer
    Dim ZeileC As Integer
   
    ' Bereich in dem positive und negative Zahlen stehen ggf. anpassen
    Set Bereich = Range("A2:A2000")
   
    ' Definiere die Startzeilen für die positive und negative Liste
    ZeileB = 2 ' Startzeile für positive Zahlen in Spalte ggf. anpassen
    ZeileC = 2 ' Startzeile für negative Zahlen in Spalte C ggf. anpassen
   
    For Each Zelle In Bereich
        ' Auf positiv prüfen
        If Zelle.Value > 0 Then
            ' Positive kopieren
            If Positive Is Nothing Then
                Set Positive = Zelle
            Else
                Set Positive = Union(Positive, Zelle)
            End If
        ElseIf Zelle.Value < 0 Then
            ' Negative kopieren
            If Negative Is Nothing Then
                Set Negative = Zelle
            Else
                Set Negative = Union(Negative, Zelle)
            End If
        End If
    Next Zelle
   
    ' Kopiere die positiven Zahlen in Spalte B ab Zelle B2 und formatiere sie als Zahlen
    If Not Positive Is Nothing Then
        Positive.Copy Destination:=Range("B" & ZeileB)
        Range("B2:B" & ZeileB + Positive.Rows.Count - 1).NumberFormat = "0.00"
    End If
   
    ' Kopiere die negativen Zahlen in Spalte C ab Zelle C2 und formatiere sie als Zahlen
    If Not Negative Is Nothing Then
        Negative.Copy Destination:=Range("C" & ZeileC)
        Range("C2:C" & ZeileC + Negative.Rows.Count - 1).NumberFormat = "0.00"
    End If
   
    ' MSGBOX
    MsgBox "Prozedur durchgeführt."
   
End Sub
à la RPP63: =LET(x;A1:INDEX(A:A;ANZAHL2(A:A));HSTAPELN(x*(x<0);x*(x>0)))
andere Interpretation: =LET(x;A1:INDEX(A:A;ANZAHL2(A:A));WENNFEHLER(HSTAPELN(FILTER(x;x<0);FILTER(x;x>0));))

gilt nur für XL365 und XLOnline

EDIT: el-rettev hatte die gleiche Idee.