Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1524to1528
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Faxnummern bereinigen

Faxnummern bereinigen
18.11.2016 16:07:28
nihil
Hallo zusammen,
leider sind in unserem System die Stammdaten teilweise uneinheitlich erfasst worden und das gibt z.B. regelmässig Probleme mit unserem Faxdienstleister, dessen Software die Daten nicht korrekt verarbeitet kann.
Folgende Vorgaben wären einzuhalten, damit das reibungslos klappt:
•Alle Faxnummer müssen mit der Landesvorwahl und zwei vorangehenden Nullen beginnen, also z.B. 00049 oder 00041.
•Auf die Länderkennung folgende Nullen vor der örtlichen Durchwahl sind zu entfernen, z.B. soll aus 00490402030 dann 0049402030 werden.
•Alle Sonderzeichen, wie beispielsweise /() sind zu entfernen. Selbiges gilt für Leerstellen.
•+ vor der Landeskennung soll durch 00 ersetzt werden.
•Sind die Nummern ohne Länderkennung hinterlegt, dann ist standardmässig 0049 zu ergänzen. Aus 0721 - 955 02 59 würde dann also 00497219550259.
Nachfolgende Datei beinhaltet exemplarische Nummern, die entsprechend zu bearbeiten wären:
https://www.herber.de/bbs/user/109539.xlsx
Ist diese Anforderung durch ein Makro lösbar, oder bleibt die manuelle Bearbeitung nicht erspart?
Danke vorab und viele Grüße
Nils

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: machbar, aber
18.11.2016 16:48:05
Fennek
Hallo,
technisch ist das mit vba machbar, aber für alle Varianten recht mühsam. Wieviel Budget ist denn eingeplant?
mfg
AW: machbar, aber
18.11.2016 17:38:50
Nils
Hallo Fennek,
wenn sich das nicht ohne nennenswerten Aufwand für einen versierten Anwender machen lässt, werden wir das extern in Auftrag geben, ein Budget wurde für hierfür bislang nicht definiert.
Da ich in diesem Forum schon einige Male binnen kürzester Zeit Hilfestellungen für (aus meiner Perspektive) sehr komplexe Anforderungen bekommen habe, wollte ich es auch in diesem Fall nicht unversucht lassen.
Offenbar sind die erfordlichen "Sonderlocken" aber nicht ohne größeren Programmieraufwand umsetzbar oder aus vergleichbaren Anfragen übertragbar - vielen Dank jedenfalls für das Feedback dazu!
Beste Grüße und ein schönes Wochenende
Anzeige
So nicht lösbar
18.11.2016 22:09:18
Zwenn
Hallo,
mit Beispieldaten hast Du ja nicht gegeizt ;-) So sieht man, dass es Fälle gibt, die nicht eindeutig lösbar sind.
Z.B.:
20417755112
Wird daraus:
004920417755112
Oder wird daraus:
0020417755112
Soweit ich im Moment denke, müsste es lösbar werden, wenn Du Deine Liste um die Länder ergänzen könntest, zu denen die FaxNrn. gehören. Ob als ausgeschriebenes Land oder als ISO Kürzel ist egal, da beide Formen sich leicht ineinander überführen lassen. Aber einheitlich sollte es sein.
Zusätzlich ist Deine Erklärung nicht eindeutig. Sollen vorne nun immer 3 Nullen stehen oder 2? Deine erste Forderung sind 3 Nullen. Danach verwendest Du für die Beispiele aber immer nur 2 Nullen.
Erst dachte ich, dass sich das Problem sogar über eine Formel lösen lässt. Weil ich mal eine entwickelt habe, die beliebige Datumsschreibweisen auf US Format oder Deutschland Format prüft und immer ein deutsches Datum daraus machte. Eine Formel scheitert bei Deinem Problem aber daran, dass es Sonderzeichen an belibigen Stellen in den Nummern gibt. Ich zumindest kann das Löschen dieser Zeichen nicht in einer Formel abbilden.
In VBA müssten es etwa 5 Funktionen werden. Genau für die Fälle, die Du zur "Behandlung" der Nummern schon beschrieben hast. Vielleicht muss man auch das ein oder andere noch in weitere Funktionen aufsplitten. Am aufwändigsten dabei wird vermutlich der Länderabgleich, für den die Länderdaten noch fehlen.
Interessante Aufgabe jedenfalls.
Viele Grüße,
Zwenn
Anzeige
Ich folge Zwenn insofern, ...
19.11.2016 03:49:12
Luc:-?
…Nils,
als unbedingt eine Länderliste benötigt wird, wenn man alles automatisch machen will. Stimmt die einem Land zugeordnete Ken­nung mit dem Anfang der Nr (auch ohne Vornullen) überein, könnte in den Zweifelsfällen davon ausgegangen wdn, dass diese Nr schon (teilweise) enthalten ist, anderen­falls aber komplett hinzugefügt wdn müsste, wobei eine führende 0 zu löschen wäre.
Den größten Teil der Liste kann man aber bereits mit folgd Fml, die im blauen Teil (Matrix­Konstante!) durch weitere Landes-2-Steller ergänzt wdn kann, erfolgreich bearbeiten:
=WECHSELN(MaskOn(WECHSELN(WECHSELN(WENN(ODER(LINKS(A2;2) =""&{35.41.43.49});"00"&A2;A2);"(0)";"");"+";"00");"num");" ";"")
MaskOn ist eine im Archiv enthaltene UDF:
https://www.herber.de/cgi-bin/callthread.pl?index=1344962#1345181
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Ich folge Zwenn insofern, ...
19.11.2016 14:25:05
David
Hallo und guten morgen. Wie schone erwähnt, müsstest du erstmal Nummern ausfiltern.
Deutsche Nummern
Auslänische Nummern
Manche Logiken ohne vorher zu wissen zu welchem Land die Nummer gehört so nicht automatisch lösbar.
Beispiel:
20417755112 (Zelle) 947
Könnte 0241 für Botrob sein.
Könnte 02 Vorwahl von Ägypten sein.
Daher würde ich mir aus eurer Datenbank alle Telefonnummern Exportieren und zusätzlich aus dem Adressfeld die Landesbezeichnung oder den Städtenamen.
Beispeiel:
20417755112 ; Deuscthland (DE)
oder
20417755112 ; Botrop ; Deutschland (DE)
So würde ich nun erst nach deutschen und nach ausländischen Nummer unterscheiden und beides seperat bearbeien.
Die anschliessende Bearbeitung könnte eigentlich ziemlich schnell und sicher erfolgen.
Ich würde es Händisch machen. Beispiel: (0) ersetze durch 0; + ersetzen duch (nichts), - erstzen durch (nichs); leerzeichen ersetzen durch (nichts) ect. usw....
So hast du evtl. 5 Sonderzeichen die du entfernen musst. Anschliessend könntest du nochmal filtern /sortieren, mit 00 verketten. BEid en ersten 1000 Zellen war das auch fast ohne Probleme lösbar.
Noch ein Tipp. Wenn du die Nummer exportierst, exportiere bitte auch die Kundennummer oder Id etc. der Einträge mit, sonst kanst du sie später nicht wieder passend Importieren.
LG David
Anzeige
Warum schreibst du MIR das, David...? :-> owT
19.11.2016 21:05:38
Luc:-?
:-?
AW: Ich folge Zwenn insofern, ...
20.11.2016 13:28:35
Nils
Hallo zusammen,
zunächst einmal vielen lieben Dank für die hilfreichen Tipps und Anmerkungen zu meiner Anfrage!
Die Matrixformel ist auf jeden Fall bereits sehr hilfreich und ermöglicht eine weitestgehende Automatisierung.
Mir ist nun auch klar, dass wohl kein VBA-Code eine umfassende Lösung bieten kann, da die Erfassungsfehler bei den Stammdaten viel zu uneinheitlich sind.
Da ist auf jeden Fall erstmal manuelle Vorarbeit erforderlich, ein Split bzgl. der Länderselektion steht an erster Stelle.
Allen einen schönen Sonntag, viele Grüße,
Nils
AW: RegEx?
21.11.2016 08:21:42
Fennek
Hallo,
so aus Interesse habe ich alle Varianten mit Sonderzeichen mit RegEx untersucht. Mit 4 Fallunterscheidungen war es möglich (bis auf einen kleinen Rest Sonderfälle) die gesuchten Umformungen vorzunhmen.
mfg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige