Hallo zusammen!
wie kann ich doppelte Werte aus mehreren Spalten herausfiltern?
Beispiel:
1.) A=1000 B=2000
2.) A=2000 B=4000
3.) A=1000 B=2000
4.) A=9000 B=5000
5.) A=8000 B=7000
6.) A=9000 B=5000
7.) A=6000 B=9000
8.) A=9000 B=5000
Es sollen hier beispielsweise jeweils die Werte der Spalten 3 und 6+8 herausgefiltert werden (nur in Kombination). Nehme ich hierzu den Spezialfilter?
Gut wäre auch zu wissen, welche Zeilen gelöscht wurden, da ich über 30.000 Zeilen habe…
Danke!
Hi B,
wie kann ich doppelte Werte aus mehreren Spalten
herausfiltern?
ja, mit dem Spezialfilter:
http://www.hostarea.de/server-02/Februar-560c53b500.jpg
Gut wäre auch zu wissen, welche Zeilen gelöscht wurden, da ich
über 30.000 Zeilen habe…
Warum?
Gruß
Reinhard
just kidding… 
in SQL very easy:
SELECT a, b FROM Tabelle1 GROUP BY a, b HAVING ((Count(a))=1);
…
aber bevor wieder gemeckert wird:
ich erklär kurz wie das in Excel2007 mit Boardmitteln geht,
also ohne Access etc. Sollte in anderen Excel-Versionen
ähnlich gehen, da MSquery soweit ich weiß schon ewig beiliegt
(ist ja auch n bisschen angestaubt)
Gegeben:
Deine zwei Zahlenspalten liegen in einer Excel Tabelle
Spalten A+B in Tabelle1 direkt von A1+B1 beginnend
- ganz oben eine neue Zeile einfügen
- in A1 ein A und in B1 ein B schreiben
- die Spalten A+B markieren und den Bereich Tabelle1 nennen
- auf Tabelle2 wechseln + A1 selektieren
- unter (Daten)/(aus anderen Quellen)/(Von MS Query) anklicken
- Excel-Files auswählen + OK
- Deine aktuell geöffnete Excel-Datei auswählen
- im Query-Assistent Tabelle1 erweitern (+ drücken)
- Felder A + B mit > nach rechts verschieben
- 3x WEITER
- den unteren Punkt (Daten in MSquery bearbeiten) + Fertigstellen
- in der Tool-Leiste 5tes Symbol von links SQL anklicken
- den Text darin ersetzen durch
SELECT a, b FROM Tabelle1 GROUP BY a, b HAVING ((Count(a))=1); - OK drücken und in der Messagebox nochmal OK
- bisschen warten*
- Datei -> unterster Punkt (Daten an Excel zurückgeben) + OK
das wars…
habs kurz getestet. 30000 Zeilen mit Zufallszahlen erzeugt
(ganzzahlig). 15000 davon nochmal unten drangehängt, damit
er doppelte finden kann. SQL-Abfrage hat 13s gedauert. Mit
den Schritten 1-16 dauert das keine 3min.
LG Alex
ups, noch was vergessen…
Gut wäre auch zu wissen, welche Zeilen gelöscht wurden,
da ich über 30.000 Zeilen habe…
SELECT a, b, Count(a) AS wieoft FROM Tabelle1 GROUP BY a,b HAVING ((Count(a))>1);
LG Alex
Erstmal vielen Dank!
Ich habe natürlich nicht nur 2 Spalten (A-M), sondern wollte ein anschauliches Beispiel bringen. Da ich mit SQL nicht umgehen kann: Gibt es eine relativ einfache Möglichkeit diese redundanten Datensätze (aus je 2 Zellen in einer Zeile) mit dem Spezialfilter oder einer PIVOT-Tabelle herauszufiltern?
Erstmal Danke!
„Warum?“ - na ich möchte wissen, welcher Datensatz redundant war - damit dies nicht wieder passiert…
Hi,
nene, geht doch mit dem Spezialfilter und ‚Keine Duplikate‘
wie Rheinhard schon gesagt hat.
Meine Version killt die mehrfach vorkommenden komplett.
Was ja auch meine Absicht war, hab nämlich wohl Deine
Frage zu schnell gelesen. Deshalb war ich der Meinung,
Du willst die ganz weg haben, was ja nicht der Fall ist.
Naja, zumindest ne schöne Anleitung wie man SQL Strings
auf Excel anwendet…
LG Alex
„Warum?“ - na ich möchte wissen, welcher Datensatz redundant
war - damit dies nicht wieder passiert…
Hi B,
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │ C │ D │ E │
──┼──────┼──────┼──────────┼───────────┼───────────┤
1 │ A │ B │ Hilfsp │ Variante1 │ Variante2 │
──┼──────┼──────┼──────────┼───────────┼───────────┤
2 │ 1000 │ 2000 │ 10002000 │ │ │
──┼──────┼──────┼──────────┼───────────┼───────────┤
3 │ 2000 │ 4000 │ 20004000 │ │ │
──┼──────┼──────┼──────────┼───────────┼───────────┤
4 │ 1000 │ 2000 │ 10002000 │ 2 │ mehrfach │
──┼──────┼──────┼──────────┼───────────┼───────────┤
5 │ 9000 │ 5000 │ 90005000 │ │ │
──┼──────┼──────┼──────────┼───────────┼───────────┤
6 │ 8000 │ 7000 │ 80007000 │ │ │
──┼──────┼──────┼──────────┼───────────┼───────────┤
7 │ 9000 │ 5000 │ 90005000 │ 2 │ mehrfach │
──┼──────┼──────┼──────────┼───────────┼───────────┤
8 │ 6000 │ 9000 │ 60009000 │ │ │
──┼──────┼──────┼──────────┼───────────┼───────────┤
9 │ 9000 │ 5000 │ 90005000 │ 3 │ mehrfach │
──┴──────┴──────┴──────────┴───────────┴───────────┘
Benutzte Formeln:
C2: =A2&B2
C3: =A3&B3
C4: =A4&B4
C5: =A5&B5
C6: =A6&B6
C7: =A7&B7
C8: =A8&B8
C9: =A9&B9
D2: =WENN(ZÄHLENWENN($C$2:C2;C2)=1;"";ZÄHLENWENN($C$2:C2;C2))
D3: =WENN(ZÄHLENWENN($C$2:C3;C3)=1;"";ZÄHLENWENN($C$2:C3;C3))
D4: =WENN(ZÄHLENWENN($C$2:C4;C4)=1;"";ZÄHLENWENN($C$2:C4;C4))
D5: =WENN(ZÄHLENWENN($C$2:C5;C5)=1;"";ZÄHLENWENN($C$2:C5;C5))
D6: =WENN(ZÄHLENWENN($C$2:C6;C6)=1;"";ZÄHLENWENN($C$2:C6;C6))
D7: =WENN(ZÄHLENWENN($C$2:C7;C7)=1;"";ZÄHLENWENN($C$2:C7;C7))
D8: =WENN(ZÄHLENWENN($C$2:C8;C8)=1;"";ZÄHLENWENN($C$2:C8;C8))
D9: =WENN(ZÄHLENWENN($C$2:C9;C9)=1;"";ZÄHLENWENN($C$2:C9;C9))
E2: =WENN(ZÄHLENWENN($C$2:C2;C2)=1;"";"mehrfach")
E3: =WENN(ZÄHLENWENN($C$2:C3;C3)=1;"";"mehrfach")
E4: =WENN(ZÄHLENWENN($C$2:C4;C4)=1;"";"mehrfach")
E5: =WENN(ZÄHLENWENN($C$2:C5;C5)=1;"";"mehrfach")
E6: =WENN(ZÄHLENWENN($C$2:C6;C6)=1;"";"mehrfach")
E7: =WENN(ZÄHLENWENN($C$2:C7;C7)=1;"";"mehrfach")
E8: =WENN(ZÄHLENWENN($C$2:C8;C8)=1;"";"mehrfach")
E9: =WENN(ZÄHLENWENN($C$2:C9;C9)=1;"";"mehrfach")
A1:E9
haben das Zahlenformat: Standard
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard
Vielen Dank Reinhard!
Funktioniert so, wie ich es geplant hatte.
Nur der Rechner geht etwas in die Knie…