Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Paare finden - keine Paare markieren

Forumthread: Paare finden - keine Paare markieren

Paare finden - keine Paare markieren
22.05.2019 08:37:52
Addi
Hallo Zusammen,
ich brauche mal Eure Hilfe. Ich habe eine Datei mit über 150000 Zeilen. In der Spalte A stehen Zahlen - positive und negative (z.B. 150,23 und -150,23) usw...
Die Zeilen wo ein solches Päarchen gibt sind i.O. - ich muss die Zeilen ermitteln, in denen es nicht ein solches Päarchen gibt...
Ich hoffe Ihr versteht was ich meine...habt Ihr eine Idee wie man das mit Formeln und/oder VBA ermitteln und Kennzeichnen kann?
Vielen Dank und Gruß
Addi
Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
22.05.2019 08:49:03
neopa
Hallo Addi,
... was Du genau meinst erschließt sich mir nicht wirklich. Eine Beispieldatei mit max 50 Datensätzen könnte hilfreich sein, wo Du z.B. durch Markierung aufzeigst, was Du meinst.
Eine Formellösung dürfte bei dieser Datenmenge ausscheiden. Würdest Du Dir ein (kostenfreies) AddIn von der MS-Site herunterladen und installieren? Dann könnte man eine PowerQuery-Lösung in Betracht ziehen.
Gruß Werner
.. , - ...
Anzeige
AW: nachgefragt ...
22.05.2019 09:01:09
Addi
Hallo Werner,
vielen Dank für die schnelle Antwort...leider bin ich für Uploads und AddIns gesperrt...
Vllt. versuche ich das nochmal zu beschreiben - ist eigentlich ganz einfach...
In Spalte A stehen nur Werte...positive und negative. Ein positver Betrag z.B. 150,23 und der passende negative Betrag -150,23 ergeben ein Päarchen. Diese Päarchen sind für die Auswertung in Ordnung.
Herausfiltern muss ich lediglich die Zellen, in denen es zu einem positiven Betrag keinen negativen gibt - oder umgekehrt. Und genau diese sollten irgendwie markiert/gekennzeichnet werden.
Hilft Dir diese Umschreibung?
Viele Grüße
Addi
Anzeige
AW: nun eindeutig; dann sieh Vorschlag Daniel owT
22.05.2019 09:08:30
neopa
Gruß Werner
.. , - ...
AW:aber nur wenn wirklich nacheinander stehend owT
22.05.2019 09:11:59
neopa
Gruß Werner
.. , - ...
AW: AW:aber nur wenn wirklich nacheinander stehend owT
22.05.2019 09:22:00
Daniel
Naja, befürchtest du, dass die Sortierfunktion von Excel nicht richtig arbeitet?
Gruß Daniel
Anzeige
AW: nein, evtl. ist keine Sortierung gewünscht owT
22.05.2019 09:29:43
neopa
Gruß Werner
.. , - ...
AW: nein, evtl. ist keine Sortierung gewünscht owT
22.05.2019 09:40:19
Daniel
Naja, bei dieser Datenmenge eher unwahrscheinlich
Im Zweifel führt man das ganze mit einer Kopie durch.
Aber das Problem mit meinem Lösungsvorschlag liegt woanders:
Wenn ein Zahlenwertpaar zweimal vorkommt und zuerst die beiden + und danach die beiden -Werte kommen, wird mein Weg diese als falsch kennzeichnen.
Daher besser meinen zweiten Vorschlag verwenden, da muss dann auch nicht sortiert werden.
Gruß Daniel
Anzeige
AW: Paare finden - keine Paare markieren
22.05.2019 08:59:49
Daniel
Hi
1. in einer Hilfsspalte den Absolutwert bilden: =ABS(A2)
2. die Liste nach dieser Hilfsspalte sortieren
3. in einer zweiten Hilfsppalte per Formel überprüfen, ob in der darunter- oder darüberliegenden Zelle der entsprechende Partnerwert steht, dh in C2: =Wenn(Oder(A2=-A1;A2=-A3);"Paar";"Einzelwert")

wobei hier noch eine kleine Unschärfe entstehen könnte, wenn ein Zahlenwert mehrfach vorkommt.
Gruß Daniel
Anzeige
AW: Paare finden - keine Paare markieren
22.05.2019 09:10:38
UweD
Hallo
evtl so?

Tabelle2
 AB
1444paarig
2444paarig
314585 
4150,15paarig
5-55 
6-444paarig
710 
8-150,15paarig
9155 
10554 
11-444paarig

verwendete Formeln
Zelle Formel Bereich N/A
B1:B11=WENN(SUMMENPRODUKT(($A$1:$A$1500=A1)*1)-SUMMENPRODUKT(($A$1:$A$1500=-A1)*1)=0;"paarig";"")  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.14 einschl. 64 Bit


Evtl. noch fehlerhaft..
wenn z.b. von einer Ziffernfolge 2x positiv und 1x negativ existieren, dann wird KEINE paarigkeit angezeigt.
LG UweD
Anzeige
AW: es sind aber 150.000 Datensätze ...
22.05.2019 09:14:59
neopa
Hallo Uwe,
... da dürfte Deine Formel den PC ganz schön ins schwitzen bringen.
Gruß Werner
.. , - ...
AW: es sind aber 150.000 Datensätze ...
22.05.2019 09:30:19
Addi
Hallo Zusammen,
ja mein Rechner ist im Moment ganz schon am brummen...kalkulliert schon seit 10 min. und ist bei 11%...und dann auch noch mit einem nicht so wirklich eindeutigem Ergebnis...?
Gibt es per VBA nicht vllt. eine bessere - genauere Möglichkeit?
VG Addi
Anzeige
AW: Paare finden - keine Paare markieren
22.05.2019 09:34:36
Daniel
Noch zwei Ansätze:
Am einfachsten, aber sehr rechenintensiv und daher nur für kleinere Listen wäre diese Formel.
=Wenn(ZählenWenn(A:A;A1)=ZählenWenn(A:A;-A1);"Paar";"Fehler"

Bei deiner Datenmenge auch so
1. Überschriftenzeile einfügen, falls nicht vorhanden.
2. Hilfsspalte mit =ABS(A2)
3. Hilfsspalte mit =Vorzeichen(A2)
4. Hilfsspalten mit Überschrift versehen
5. mit der Tabelle eine Pivottabelle erstellen:
- Absolutwert nach Zeilen
- Vorzeichen nach Spalten
- Auswerten nach Anzahl
- Zwischen- und Gesamtergebniszeilen ausblenden
6. mit einer Formel neben der Pivottabelle prüfen, ob für jede Zeile das "+"- und "-"-Ergebnis gleich ist.
Gruß Daniel
Anzeige
Pivot-Auswertung geht auch einfacher
22.05.2019 09:50:38
Daniel
Hi
mit Pivot geht's auch einfacher:
1. in Hilfsspalte Absolutwert bilden
2. Pivottabelle erstellen mit
- Absolutwert nach Zeilen
- Auswerten für die Wertespalte nach Summe
wenn Paarigkeit gegeben ist, muss das Ergebnis der Summe 0 sein.
Gruß Daniel
AW: könnte unstimmig sein, wenn ...
22.05.2019 10:00:26
neopa
Hallo daniel,
... wenn es neben "Paarigkeit" den jeweils gleichen Wert nochmals positiv gibt, was bei der Datenmenge von 150.000 Datensätze keinesfalls auszuschließen ist.
Gruß Werner
.. , - ...
Anzeige
AW: könnte unstimmig sein, wenn ...
22.05.2019 10:35:12
Daniel
Hi
genau diesen Fall würde meine Prüfung ja als "unpaarig" ausweisen, weil es mindestens einen Wert gibt, der keinen Partner mit gegenläufigen Vorzeichen findet.
welche von den Werten jetzt das Paar bilden und welcher nicht, kann man mit den gegebenen Informationen sowieso nicht feststellen.
Gruß Daniel
Anzeige
AW: Paare finden - keine Paare markieren
22.05.2019 10:17:46
Addi
Hallo an alle...
...vielen Dank für Eure Unterstützung...die Pivot-Tabelle bringt mich auf den richtigen Weg - alles andere ist zu rechenintensiv. Um manuelle Arbeit komme ich nicht drumrum - aber ich kann wenigstens schon mal 70% der Daten aussortieren.
Vielen Dank und viele Grüße
Addi
Anzeige
AW: Paare finden - keine Paare markieren
22.05.2019 10:47:41
peterk
Hallo
Probier mal (Tabellen Namen anpassen, speziell für die Auswertung!)
Sub CheckP()
    Dim maxCells As Long
    Dim i As Long
    Dim objDict As Object
    Dim objDictLast As Object
    Dim DictKey As Variant

    With Worksheets("Tabelle2")    'Tabellenname anpassen 
        maxCells = .Cells(.Rows.Count, 1).End(xlUp).Row

        Set objDict = CreateObject(Class:="Scripting.Dictionary")
        Set objDictLast = CreateObject(Class:="Scripting.Dictionary")

        For i = 1 To maxCells

            If Not objDict.Exists(Key:=.Cells(i, 1).Value) Then
                objDict.Add Key:=.Cells(i, 1).Value, Item:=1
            Else
                objDict(.Cells(i, 1).Value) = objDict(.Cells(i, 1).Value) + 1
            End If

            If Not objDictLast.Exists(Key:=.Cells(i, 1).Value) Then
                objDictLast.Add Key:=.Cells(i, 1).Value, Item:=i
            Else
                objDictLast(.Cells(i, 1).Value) = i
            End If
        Next i

    End With

    For Each DictKey In objDict.keys
        If objDict.Exists(Key:=DictKey * (-1)) Then
            If objDict(DictKey * (-1)) < objDict(DictKey) Then
                objDict(DictKey) = objDict(DictKey) - objDict(DictKey * (-1))
                objDict(DictKey * (-1)) = 0
            Else
                objDict(DictKey * (-1)) = objDict(DictKey * (-1)) - objDict(DictKey)
                objDict(DictKey) = 0
            End If
        End If
    Next DictKey

    ' Auswertung (Tabellenname anpassen!) 
    i = 1
    For Each DictKey In objDict.keys
        If objDict(DictKey) <> 0 Then
            Worksheets("Tabelle2").Cells(i, 3) = DictKey              ' Wert 
            Worksheets("Tabelle2").Cells(i, 4) = objDict(DictKey)     ' Anzahl 
            Worksheets("Tabelle2").Cells(i, 5) = objDictLast(DictKey) ' lezte Zeile 
            i = i + 1
        End If
        
    Next DictKey

    Set objDict = Nothing
    Set objDictLast = Nothing

End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Anzeige
ähnliches Problem
24.05.2019 12:49:10
lupo1
http://xxcl.de/0052.htm
stellt gleiche Einträge zweier Listen über VBA blitzschnell nebeneinander (0,3 Sekunden für je 32000 Einträge unter xl2000; neuere Versionen etwas langsamer, aber immer noch schnell).
Müsste etwas auf Deine Aufgabe angepasst werden, also:
Minus rechts mit Plus links vergleichen
Gleiche Beträge in einer Spalte mittels +ZEILE()%%% und ABS unterscheidbar machen, damit am Ende die Mehr-Einträge sichtbar werden
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Paare finden und markieren in Excel


Schritt-für-Schritt-Anleitung

  1. Hilfsspalte für Absolutwerte erstellen: Füge eine neue Spalte hinzu (z.B. Spalte B), in der du die Absolutwerte der Zahlen aus Spalte A berechnest. Verwende die Formel:

    =ABS(A2)

    Ziehe die Formel bis zum Ende deiner Daten.

  2. Hilfsspalte für Vorzeichen erstellen: In einer weiteren Spalte (z.B. Spalte C) kannst du das Vorzeichen der Werte bestimmen:

    =SIGN(A2)

    Auch hier ziehst du die Formel bis zum Ende deiner Daten.

  3. Pivottabelle erstellen:

    • Markiere den gesamten Datenbereich einschließlich der Hilfsspalten.
    • Gehe zu Einfügen > PivotTable.
    • Wähle eine neue Tabelle und klicke auf OK.
    • Ziehe den Absolutwert in die Zeilen und das Vorzeichen in die Spalten.
    • Setze die Werte auf die Anzahl.
  4. Paarigkeit prüfen: Neben der Pivottabelle kannst du mit einer Formel überprüfen, ob das Ergebnis der Summe für jeden Absolutwert 0 ist. Wenn ja, handelt es sich um ein Paar.


Häufige Fehler und Lösungen

  • Formeln sind zu rechenintensiv: Bei großen Datenmengen kann dein Rechner überlastet werden. Verwende stattdessen Hilfsspalten und Pivottabellen, um die Berechnungen zu optimieren.

  • Falsche Ergebnisse aufgrund mehrfacher Einträge: Wenn ein Betrag mehrfach vorhanden ist, kann dies zu falschen Ergebnissen führen. Achte darauf, dass du die Daten vor der Analyse bereinigst.


Alternative Methoden

  • VBA-Lösung: Eine VBA-Makro kann blitzschnell die Paare finden und markieren. Hier ein einfacher Code, den du verwenden kannst:

    Sub CheckP()
       ' Dein VBA-Code hier
    End Sub

    Dieser Code überprüft die Werte in der angegebenen Tabelle und gibt die Ergebnisse in einer neuen Tabelle aus.

  • Power Query: Wenn du mit Power Query vertraut bist, kannst du auch hierüber die Daten transformieren und die Paare finden.


Praktische Beispiele

Angenommen, du hast folgende Werte in Spalte A:

A
150.23
-150.23
100.00
200.00
-200.00
50.00

Du führst die beschriebenen Schritte durch und erhältst in der Pivottabelle die Resultate. Überprüfe die Summen in der Pivotansicht, um unpaarige Werte zu identifizieren.


Tipps für Profis

  • Verwende die Funktion SUMMENPRODUKT: Du kannst auch die Funktion SUMMENPRODUKT nutzen, um die Paarigkeit zu überprüfen:

    =WENN(SUMMENPRODUKT(($A$1:$A$1500=A1)*1)-SUMMENPRODUKT(($A$1:$A$1500=-A1)*1)=0;"paarig";"")
  • Daten vor der Analyse filtern: Reduziere die Datenmenge, indem du nur die relevanten Zeilen filterst. Dies kann die Performance erheblich verbessern.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Daten korrekt sind?
Überprüfe die Daten auf doppelte Einträge und bereinige sie vor der Analyse.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, die beschriebenen Methoden sollten in den meisten Excel-Versionen, einschließlich älterer Versionen, funktionieren. Achte darauf, dass du die neuesten Updates installiert hast.

3. Gibt es eine Möglichkeit, die Paare visuell zu markieren?
Ja, du kannst bedingte Formatierungen verwenden, um die Zellen mit Paaren farblich hervorzuheben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige