Straße und Hausnummer trennen

Auch hier wurde früher (jetzt im Archiv) diskutiert, wie man Straßennamen und Hausnummern trennt, damit man dann besser nach Hausnummern sortieren kann.
Nachdem ich im Internet keine befriedigende Lösung gefunden hatte, habe ich vergeblich versucht, mit Excel-Formeln auszukommen, und dann VBA-Funktionen geschrieben. Sie zerlegen eine übliche Straße in Straßenname, Hausnummer und evtl. einen Rest (Buchstaben usw. nach der Hausnr.). Nach der numerischen Hausnummer kann man dann leicht sortieren.

Das Coding der Funktionen steht im Web:
www.egier.de/Strasse-Hausnr2.txt

Eine Excelmappe mit etlichen Beispielen ist
www.egier.de/Strasse-Hausnr2.xls

Etwas schneller lassen sich die drei Werte durch eine einzige Matrixfunktion berechnen, da das Programm dann Einfluss auf die Reihenfolge der Berechnungen hat. Wenn Interesse besteht, kann ich auch diese Version ins Netz stellen.

Wenn euch Adressen auffallen, bei denen die Zerlegung falsch läuft, wäre ich euch für ein paar Beispiele dankbar. Ebenso würde ich mich natürlich über Infos zu anderen Lösungen freuen.

Viele Grüße vom Niederrhein
Erich Gier

Hallo Erich!
sieh mal hier http://www.excelformeln.de/formeln.html?welcher=350 nach - das dürfte dein Problem lösen (ganz ohne VBA).

Viele Grüße
Angel

Hallo Angel,
danke für den Link! Ähnliche Formeln hatte ich schon auf etlichen Webseiten gefunden.

Nachteile haben diese Lösungen schon:
Sie extrahieren die Hausnummer nicht als Zahl, sondern als Text. Danach lässt sich nicht gut sortieren („10“ kommmt z. B. vor „3“).

Auf der im Link angegebenen Seite hat der Autor ja schon geschrieben:
„Wenn die Hausnummer beginnt, darf kein Leerzeichen mehr kommen.
12 b oder 4 - 6 funktioniert also nicht.“

Für einen kleinen Adressbestand (mit „ordentlichen“ Adressen) reichen die Excelformeln sicher aus. Wenn man aber ein paar tausend Adressen zu verarbeiten hat, dürfte sich der Einsatz von VBA wohl doch lohnen.

Viele Grüße
Erich