Zeilen mit fast gleichem Textinhalt finden

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

thunderdan
Beiträge: 4
Registriert: Di, 05.02.2013 16:19

Zeilen mit fast gleichem Textinhalt finden

Beitrag von thunderdan »

Hallo,
nach längerem eigenen Ausprobieren und Forumssuche muss ich jetzt doch eine Frage an das fachkundigere Forum stellen.

Ich habe mir ein Wörterbuch erstellt mit zwei Wortlisten in zwei Spalten mit jeweils ungefähr 15.000 Zeilen. Die erste Spalte ist alphabetisch sortiert und enthält das Fremdwort. Die zweite Spalte enthält das deutsche Wort.

Nun möchte ich Zeilen mit "Doppelt-doppelt" Einträge finden und löschen. Damit meine ich nur Einträge, bei denen sowohl das Fremdwort, wie auch das deutsche Wort gleich sind. Gleichzeitig sollen aber bei der Suche die Vokale mit ´,`,^ als identisch erkannt werden.

Bsp.:
Soll gefunden werden:
umalis gehen
umális gehen

Soll nicht gefunden werden:
abalâ beschäftigt
abala Störung

Ich habe mir folgende Funktion in einer 3. Spalte geschrieben
=UND((IDENTISCH(A1;A2));(IDENTISCH(B1;B2)))

Danach sortiere ich alles nach den 3. Spalte und ich kann die "Doppelt-doppelten"-Zeilen löschen.

Meine Frage ist, ob und wie es möglich ist, das die Funktion IDENTISCH mir ein WAHR liefert, egal ob in der Zelle Wörter mit á,a oder â stehen.

Oder gibt es einen ganz anderen, sinnvolleren Weg?
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von lorbass »

Wenn es sich um eine einmalige Angelegenheit handelt, würde ich die Spalte mit den Fremdwörtern duplizieren, und die Duplikate „von Hand“ mit mehrfachem Suchen&Ersetzen á → a, à → a, â → a, … quasi „normieren". Mit einem Regulären Ausdruck kannst du alle „a“, „e“, … in je einem Durchlauf erledigen, also z.B.

Duplizierte Spalte selektieren ← wichtig!,
dann im Suchen & Ersetzen-Dialog
  • Suchen nach: [áàâã…]
  • Ersetzen durch: a
  • [Mehr Optionen]
  • [] Nur in Selektion← wichtig!
  • [] Regulärer Ausdruck
  • [Ersetze alle]
Wenn es keine einmalige Angelegenheit ist, wärst du in der Kategorie OOo Basic und Java besser aufgehoben. ;)

Gruß
lorbass
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von Stephan »

Die vorstehende LÖsung von Lorbass ist fast die Gleiche, da dort aber (ichh sehe es zumindest nicht) der Hinweis auf das einfache LÖschen aller Duplikatszeilen gleichzeitig fehl, hier nochmals entwand anders beschrieben:
Meine Frage ist, ob und wie es möglich ist, das die Funktion IDENTISCH mir ein WAHR liefert, egal ob in der Zelle Wörter mit á,a oder â stehen.
z.B. indem Du in der Formel die 'Sonderbuchstaben' zunächst durch normale a ersetzt, was wohl nicht so sehr praktikabel ist da es niucht nur um a geht
Oder gibt es einen ganz anderen, sinnvolleren Weg?
Zumindest einen pragmatisch schnelleren Weg.

Angenommen alle Wörter Stünden in Spalten A und B, beginnend von A1 und B1, der Tabelle1, dann

-kopiere die Spalteninhalte zusätzlich in Spale C und D
-markiere die Spalten C und D und suche und ersetze, schrittweise, 'Sonderbuchstaben' durch die jeweils normalen buchstaben, achte darauf das im Suchdialog immer 'nur in Selektion' aktiv ist, damit nur in Spalten C und D ersetzt wird
-schreibe in Zelle E2 die Formel: =WENN(UND(C1=C2;D1=D2); "###"; "")
-'ziehe' diese Formel in Spalte E bis nach unten
-suche jetzt mit Suchen-ERsetzen alle ### mit dem Befehl suche Alle (im Suchdialog), so das alle ZEllen mit INhalt ### markiert sind
klicke mit der rechten Maustaste links am Bildschirmrand auf eine der ZEilen, die in Spalte E den Eintrag ### enthält und wähle Zeilen löschen
-lösche Spalten C bis E

In Spalten A und B steht nun das prinzipiell gewünschte ERgebnis, wobei Deine Ausgansangaben unvollständig sind, da nicht klart gesagt ist WAS konkret gelöscht werden soll wenn die genannten Doppel auftreten, denn es ist natürlich zu unterschjeiden das wenn:

umalis gehen
umális gehen

doppelt sind ob hierbei die erste odeer zweite Zeile gelöscht werden soll, da ja die bleibenden Einträge unterschiedlich sind, je nachdem was man konkret löscht, denn entweder bleibt übrig:

umalis gehen

oder es bleibt übrig:

umális gehen

Mein obiger LÖsungsvorschlag geht dabei davon aus das es beliebig ist welche Einträge, quasi bevorzugt zu löschen sind.



Gruß
Stephan
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von lorbass »

Stephan hat geschrieben:ich sehe es zumindest nicht
Hab ich auch nicht beschrieben :wink:
Stephan hat geschrieben:-'ziehe' diese Formel in Spalte E bis nach unten
Bei 15000 Zeilen eher unpraktisch. Selektiere stattdessen E2:E15000, indem du dies so (mit passender Obergrenze) in das Namenfeld (links neben »f(x)« in der Rechenleiste) schreibst, nachdem du E1 in die Zwischenablage kopiert hast, und schließe mit Strg+V ab.

Gruß
lorbass
thunderdan
Beiträge: 4
Registriert: Di, 05.02.2013 16:19

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von thunderdan »

Vielen Dank für die schnellen Antworten. Das Ersetzen der Sonderzeichen ist die Ultima Ratio, die ich vermeiden will.

Natürlich habe ich bei meinen Angaben etwas vergessen
wobei Deine Ausgansangaben unvollständig sind, da nicht klart gesagt ist WAS konkret gelöscht werden soll
Ich will die Zeilen erhalten, in denen die Sonderzeichen enthalten sind. Ursprünglich wollte ich ein Makro schreiben, dass das alles automatisch macht, aber mittlerweile wäre ich glücklich, wenn ich die Tabelle sortieren könnte, so dass die "Doppelt-doppelten" Zeile am Anfang sind.

Mit einigem Gewurschtel und Zusatzspalten klappt das auch, aber ich erwische die Zeilendoppel wie im Beispiel oben nicht.
Bsp.:
Soll gefunden werden:
umalis gehen
umális gehen
Das Löschen würde ich dann händisch erledigen. Ich will nur nicht 15.000 Zeilen durchsuchen.
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von lorbass »

thunderdan hat geschrieben:Das Ersetzen der Sonderzeichen ist die Ultima Ratio, die ich vermeiden will.
Mir ist nicht klar, wie du deine Daten (sinnvoll) sortieren oder auch nur auf „Fast-Gleichheit“ vergleichen willst, ohne aus der „Fast-Gleichheit“ hilfsweise und temporär eine „Ganz-Gleichheit“ zu machen.
thunderdan hat geschrieben:Das Löschen würde ich dann händisch erledigen. Ich will nur nicht 15.000 Zeilen durchsuchen.
Nachvollziehbar. Das Ermitteln mehrfach enthaltener „ganz-gleicher“ Werte ist hier im Forum schon vielfach behandelt worden. Lösung: =ZÄHLENWENN($C$1:$C$15000;C1) in einer weiteren Spalte ermittelt – bis ans Tabellenende kopiert – die Anzahl jedes „ganz-gleichen“ Wertes in Spalte C. Die stehen bei einer Sortierung nach Spalte C direkt untereinander. Du kannst sie leicht erkennen und die unerwünschten Duplikate manuell löschen, wenn du sie z.B. farblich hervorhebst oder nur Werte >1 anzeigen lässt.

Gruß
lorbass
thunderdan
Beiträge: 4
Registriert: Di, 05.02.2013 16:19

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von thunderdan »

In deiner Antwort steht meine Lösung versteckt
ohne aus der „Fast-Gleichheit“ hilfsweise und temporär eine „Ganz-Gleichheit“ zu machen.
Habe meine Tabelle kopiert. In neuer Tablle die Sonderzeichen ersetzt. Die ZÄHLENWENN-Funktion benutzt.
Dann nur die erhaltenen Zahlen an die Tabelle mit Sonderzeichen angefügt.
Sortiert nach der Zahlenspalte und dann händisch die Doppelzeilen ohne Sonderzeichen gelöscht.

Etwas unelegant, aber es hat funktioniert. Dankeschön für die Hilfe.

P.S. Was mir eigentlich vorschwebte, war eine modifizierte "IDENTISCH-Funktion", die WAHR ausgibt, egal ob die Vokale mit oder ohne ´`^ sind.
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von lorbass »

thunderdan hat geschrieben:Was mir eigentlich vorschwebte, war eine modifizierte "IDENTISCH-Funktion", die WAHR ausgibt, egal ob die Vokale mit oder ohne ´`^ sind.
Ist schon klar. Nur wäre das auch nix anderes gewesen, als das manuelle Suchen&Ersetzen, nur eben transient in einer „Unter-Putz-Version“ 8) nur, dafür schien mir bei einmaliger Anwendung der Aufwand zu groß.

Gruß
lorbass
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von Stephan »

Das Löschen würde ich dann händisch erledigen. Ich will nur nicht 15.000 Zeilen durchsuchen.
Das ist auch völlig unnötig da ich ja bereits beschrieben hatte wie Du alle Doppel gleichzeitig mit 2 Mausklicks löscht:

-suche jetzt mit Suchen-ERsetzen alle ### mit dem Befehl suche Alle (im Suchdialog), so das alle ZEllen mit INhalt ### markiert sind
klicke mit der rechten Maustaste links am Bildschirmrand auf eine der ZEilen, die in Spalte E den Eintrag ### enthält und wähle Zeilen löschen


Lediglich kommt, aufgrund DEiner nachgeschobenen INformation, nun noch am Ende des von mir beschriebenen Verfahrens hinzu dass Du mögliche bestehende 'Sonderbuchstaben' am Ende mit Suchen-ERsetzen durch Normalbuchstaben ersetzt.


Gruß
Stephan
thunderdan
Beiträge: 4
Registriert: Di, 05.02.2013 16:19

Re: Zeilen mit fast gleichem Textinhalt finden

Beitrag von thunderdan »

Ich habe beide Verfahren verwendet. Hat mir wahrscheinlich drei Stunden Arbeit erspart.

gruß
Antworten