Fehlersuche – Ungleiche Einträge aufspüren

 

Beim Excel-Stammtisch am 17.11.2016 hatten wir ein spannendes Problem gelöst. Scheinbar identische Einträge hatten doch irgendwo eine Abweichung. Doch diese hatten wir auf den ersten Blick nicht gefunden.

Die Datei steht hier zur Verfügung: excel-777-ungleiche-eintrage-identifizieren

Wir hatten nachfolgende Leerzeichen in Verdacht und haben mit der Funktion LÄNGE(Text) geprüft, ob die Einträge vielleicht ungleich lang sind. Negativ.

Die Funktionen =GLÄTTEN(Text) und =SÄUBERN(Text) konnten auch keine störenden Zeichen eliminieren. Doch letztendlich hatte ergeben, dass durch Prüfung der linken vier Buchstaben mit =LINKS(Text1;4)=LINKS(Text2;4) von beiden Texten eine Ungleichheit besteht. Das Ergebnis lautete FALSCH. =LINKS(Text1;3)=LINKS(Text2;3) lieferte WAHR.

Nun mag man natürlich nicht jeden Buchstaben und bis zu jeder Position testen.

Erst einmal geguckt, was denn an vierter Stelle ist. Mit =CODE(TEIL(Text1;4;1)) gab es das Ergebnis 32 für normale Leerzeichen, mit =CODE(TEIL(Text1;4;1)) gab es das Ergebnis 160. Hierzu sollte man mal den Wikipedia-Eintrag zum Leerzeichen anschauen.

Mit =WECHSELN(Text;Zeichen(160);Zeichen(32)) wurden dann alle 160er-Leerzeichen gegen korrekte 32er-Leerzeichen ausgetauscht.

Als erweiterte Lösung habe ich dann die Quersumme aller Buchstabencodes gebildet, welche zu unterschiedlichen Werten führte:

=SUMMENPRODUKT(CODE(TEIL([@Seminar];ZEILE(INDIREKT(„1:“&LÄNGE([@Seminar])));1)))

777_a.png

Mit AGGREGAT habe ich die Position identifiziert, an welcher Stelle der erste Unterschied in den Texten auftritt. CODE hätte man hier auch weglassen können:

=AGGREGAT(15;6;ZEILE(INDIREKT(„1:“&LÄNGE(H5)))/(CODE(TEIL(H6;ZEILE(INDIREKT(„1:“&LÄNGE(H6)));1))<>CODE(TEIL(H5;ZEILE(INDIREKT(„1:“&LÄNGE(H5)));1)));1)

777_b.png

Ich kann das obere Schema also auch als generelles Muster isoliert kopieren, um ungleiche Werte in Eingaben aufzuspüren.

Wien war klasse!
Komme gerne wieder zum Stammtisch

Beste Grüße
Andreas

 

Hier geht es zum Video:

Videolink: https://youtu.be/WvDwXpAdBDo

3 Kommentare

  1. Daniel

    Vielen Dank für Ihre Videos und Informationen, diese sind sehr Inhaltsreich ohne viel drum rum.
    gut geieignet für Einsteiger und Intensiv-MS-Office
    Nutzer.
    Hatte gerade diese Formel kopiert, wie sie da oben steht:

    =AGGREGAT(15;6;ZEILE(INDIREKT(„1:“&LÄNGE(H5)))/(CODE(TEIL(H6;ZEILE(INDIREKT(„1:“&LÄNGE(H6)));1))CODE(TEIL(H5;ZEILE(INDIREKT(„1:“&LÄNGE(H5)));1)));1)

    Problemdabei die Anführungszeichen wurden hier in einem anderen editor bearbeitet.
    „1:“ hätte so sein sollen „1:“

    und das gleiche mit der anderen Formel oben auch.
    Ich denke die Ursache liegt hier mit WordPress oder Word als Editor der zwischendrinnen genutzt wurde, um den Text zu veröffentlichen.
    vielen Dank

  2. Daniel

    Noch eine Frage wie ist es wenn, ich ungleich Lange Texte habe, naja das bestte wäre wenn mir dann einfach jedes veränderte Zeichen rot markiert werden würde, das wäre ideal 🙂
    Ok dann geht man da normalerweise in VBA rein, aber per array formel wäre es doch möglich alle unterschiedlichen zeichen per Stelle im String per Array z bekommen und dann den Textframe.TextRange2. per Stelle per array mit einer einfachen with anweiseung zu markieren 🙂
    Ok vielen Dank

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s