Clever-Excel-Forum

Normale Version: Formel für Plz-Separierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi zusammen,

ich habe einen großen Datensatz bei dem in einer Spalte die gesamte Adress-Information gespeichert werden. Die Schreibweise ist hierbei ganz unterschiedlich - leider. Im Anhang ein Beispiel-Datensatz. Ich bräuchte eine Formel - die mir immer die Postleitzahl in die danebenliegende Zelle schreibt. Geht das bei einem derartig unterschiedlichen Aufbau der Adress-Zellen? Die einzige Gemeinsamkeit ist die, dass jede Postleitzahl eine 5-stellige Zahlenabfolge darstellt. In Ostdeutschland beginnnen diese mit 0.

Würde mich über HIlfe sehr freuen.

LG Felix
Hi Felix,

so:

=WENNFEHLER(VERWEIS(9^99;--TEIL(WECHSELN(WECHSELN(A2&"#";" ";"");"-";"");SPALTE(1:1);5));"")

Google hilft! :)
Quelle: http://www.office-loesung.de/ftopic560869_0_0_asc.php

LG
Alexandra
Hallo

Oder ohne Formel mit der Blitzvorschau.
Nimm das:
PHP-Code:
=WENNFEHLER(TEXT(VERWEIS(9^99;--TEIL(WECHSELN(WECHSELN(A2&"#";" ";"");"-";"");SPALTE(2:2);5));"00000");""

Dann klappts auch mit der "Null" für den Osten der Republik.
Lies den Fred im Office Forum weiter, da kommt noch mehr.
Super, danke. Hat funktioniert Smile
Hallo, :19:

als Alternative - RegExp: :21:

Code:
Option Explicit
Function fncZahl(strTMP As String) As String
    Dim objRegEx As Object
    Dim objValue As Object
    Set objRegEx = CreateObject("VbScript.RegExp")
    With objRegEx
        .Pattern = "\d{5}"
        Set objValue = .Execute(strTMP)
        If objValue.Count Then
            fncZahl = objValue(0)
        Else
            fncZahl = "Keine PLZ!"
        End If
    End With
    Set objValue = Nothing
    Set objRegEx = Nothing
End Function

Code in ein Modul und dann in B2 "=fncZahl(A2)" und runterziehen. :21: