Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Duplikate aus Matrix entfernen

Duplikate aus Matrix entfernen
13.04.2016 16:18:06
Heike
Hallo,
ich habe folgendes Problem. Ich habe eine Matrix, in der doppelte Zahlen vorkommen. Jetzt möchte ich aber, dass die Duplikate entfernt werden und zwar so, dass der Wert immer an der Stelle erhalten bleibt, wo er als erstes auftaucht.
Mit Duplikate entfernen und dem Kopieren ohne Duplikate mittels Spezialfilter bin ich leider nicht erfolgreich gewesen (das funktioniert gar nicht, er findet keine doppelten Werte).
Hat jemand eine Idee, wie das funktioniert? Anbei die Datei
https://www.herber.de/bbs/user/104938.xlsx

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nicht eindeutig ...
13.04.2016 17:00:14
...
Hallo Heike,
... sollen die "Duplikate" je Spalte, je Zeile oder in Bezug auf das gesamte Listing gesucht werden?
Sollen die Duplikate nur gelöscht werden oder die nachfolgenden Zahlen aufrücken? Letzteres dann doch sicherlich nur Spalten (Jahres-)weise. Oder?
Gruß Werner
.. , - ...

Anzeige
AW: Duplikate aus Matrix entfernen
13.04.2016 22:33:15
Fennek
Hallo Heikw,
ein Vorschlag, soweit ich deine Anfrage verstanden habe.
Der Code löscht nicht, sondernmarkiert. Wenn es passt, kann die Färbung durch .clear erstzt werden.
Der Code ist am minimal möglichsten Nachbau deiner Tabelle ausprobiert.

Sub Heike()
Dim rng as range
With activesheet.usedrange
R = .address
lr = split(R, "$")(4) 'lastrow
ls = cells(1, split(R, "$")(3)).column , letzte Spalte
For i = 2 to lr
For j = 1 to ls
St = cells(i, j).address
If cells(i, j)  0 then
Set rng = .find(cells(i, j), after:=cells(i,j))
If not rng is nothing or rng.address = St then
Do until rng.address = St
Rng.interior.color = vbyellow 'hier .clear
Set rng = .findnext(rng)
Loop
End if
End if
Next j
Next i
End with
End sub
Mfg

Anzeige
AW: Duplikate aus Matrix entfernen
15.04.2016 10:17:32
Heike
Super, vielen Dank, der Code hat funktioniert!

AW: Duplikate markieren mit bed. Formatierung ...
14.04.2016 18:09:21
...
Hallo Heike,
... dies hätte ich mit bedingter Formatierung getätigt. Markiere Bereich A2:N199 und gib _ folgende einfache bedingte Formatierungsformel ein:

=ZÄHLENWENN($A$1:A2;A2)>1
und weise dieser eine Hintergrundfarbe zu.
Gruß Werner
.. , - ...
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Duplikate aus einer Matrix entfernen in Excel


Schritt-für-Schritt-Anleitung

Um Duplikate aus einer Matrix in Excel zu entfernen, kannst Du die folgende Methode nutzen:

  1. Markiere den Bereich: Wähle die Matrix aus, in der Duplikate entfernt werden sollen.
  2. Bedingte Formatierung: Gehe zu "Start" > "Bedingte Formatierung" > "Neue Regel".
  3. Formel zur Identifikation von Duplikaten: Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden" und gebe die folgende Formel ein:
    =ZÄHLENWENN($A$1:A1;A1)>1

    (Passe den Bereich entsprechend an, wenn Deine Matrix in einer anderen Spalte beginnt.)

  4. Format festlegen: Wähle ein Format aus (z.B. eine Hintergrundfarbe) und klicke auf "OK".
  5. Duplikate manuell entfernen: Jetzt kannst Du die markierten Zellen überprüfen und die Duplikate manuell löschen.

Wenn die Methode nicht funktioniert, kann es daran liegen, dass die duplikaten Werte möglicherweise nicht exakt übereinstimmen (z.B. aufgrund von Leerzeichen oder unterschiedlichen Formaten).


Häufige Fehler und Lösungen

  • Duplikate entfernen funktioniert nicht: Wenn die Option "Duplikate entfernen" in Excel nicht die gewünschten Ergebnisse liefert, überprüfe, ob die Werte in der Matrix korrekt formatiert sind. Manchmal können unsichtbare Zeichen (wie Leerzeichen) dazu führen, dass Excel die Werte als unterschiedlich betrachtet.

  • Matrix löschen: Stelle sicher, dass Du die richtige Matrix ausgewählt hast. Wenn Du eine ganze Matrix löschen möchtest, gehe zu "Start" > "Löschen" > "Inhalte löschen".


Alternative Methoden

Wenn die oben genannten Methoden nicht den gewünschten Erfolg bringen, kannst Du auch VBA (Visual Basic for Applications) nutzen. Hier ist ein einfacher VBA-Code, um Duplikate zu markieren:

Sub DuplikateMarkieren()
    Dim rng As Range
    With ActiveSheet.UsedRange
        Dim lr As Long, ls As Long
        lr = .Rows.Count
        ls = .Columns.Count
        For i = 1 To lr
            For j = 1 To ls
                If Application.WorksheetFunction.CountIf(.Cells, .Cells(i, j).Value) > 1 Then
                    .Cells(i, j).Interior.Color = vbYellow
                End If
            Next j
        Next i
    End With
End Sub

Dieser Code sucht nach Duplikaten und färbt diese gelb. Du kannst die Färbung anpassen, indem Du .Interior.Color änderst.


Praktische Beispiele

Hier ist ein Beispiel für eine Matrix, die Duplikate enthält:

A B C
1 2 3
2 3 4
3 4 5
1 2 6

Nach der Anwendung der oben beschriebenen Schritte solltest Du in der Lage sein, die Duplikate zu identifizieren und zu entfernen, sodass die Matrix wie folgt aussieht:

A B C
1 2 3
4
5
6

Tipps für Profis

  • Matrixformeln nutzen: Wenn Du häufig mit Matrizen arbeitest, könnten Matrixformeln eine nützliche Möglichkeit sein, um Berechnungen effizient durchzuführen. Achte darauf, dass Du die Matrixformel korrekt abschließt, indem Du STRG + SHIFT + ENTER drückst.

  • Daten sortieren: Bevor Du Duplikate entfernst, kann es hilfreich sein, die Daten zu sortieren. So kannst Du sicherstellen, dass die ersten Vorkommen der Werte an der gewünschten Stelle bleiben.


FAQ: Häufige Fragen

1. Was kann ich tun, wenn die Funktion "Duplikate entfernen" nicht funktioniert?
Überprüfe die Formate und Leerzeichen der Werte in der Matrix. Manchmal kann es hilfreich sein, die Daten zu bereinigen.

2. Wie kann ich eine gesamte Matrix in Excel löschen?
Wähle die gesamte Matrix aus (z.B. durch Klicken und Ziehen) und gehe zu "Start" > "Löschen" > "Inhalte löschen". Alternativ kannst Du auch die Entf-Taste verwenden, um die Inhalte zu löschen.

3. Gibt es eine Möglichkeit, Duplikate automatisch zu entfernen?
Ja, Du kannst VBA verwenden, um Duplikate automatisch zu erkennen und zu entfernen. Der bereitgestellte VBA-Code kann dafür modifiziert werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige