komme mit folgender Problemstellung nicht weiter:
Spalte A1 hat diese Werte:
*1966-01-22
*1998-05-03
geb.Mustermann
09999Musterdorf
*1955-11-12
Ich bräuchte nur die Datumswerte mit dem * davor.
Habe es mit WENN(A1 = "*";"";A1) probiert, geht aber nicht.
Ja; weil "*1998-05-03" halt ungleich "*" ist. Du müsstest schon das
erste Zeichen aus den Strings extrahieren (außerdem hast du die Zweige
DANN und SONST vertauscht):
=WENN(TEIL(A1;1;1)="*";A1;"")
Auch dieser Versuch mit regEx klappt nicht:
=WENN(ZÄHLENWENN(A1;"\[*[0-9]\]");"";A1)
oder so =WENN(ZÄHLENWENN(C1;"\[^*\]");"";C1)
Was willst Du mit ZÄHLENWENN? Und das Regex-Pattern versteh ich auch
nicht (warum willst du die eckigen Klammern maskieren?).
Wenn obige simple Abfrage nicht ausreicht (Möglichkeit von False
Postives oder False Negatives), ist die Aufgabe nur über eine etwas
komplexere Kombination von Funktionen sauber zu lösen:
=WENN(ISTFEHLER(SUCHEN("^\*\d{4}";A1));""; A1)
Gesucht wird hierbei nach dem Stern am Anfang der Zeichenfolge, gefolgt
von 4 Ziffern (bei Bedarf müsstest Du das Pattern noch weiter
spezifizieren). Wird ein Treffer gefunden, liefert die Funktion SUCHEN
dessen Startposition zurück, andernfalls einen Fehler ("#NV"). Letzteres
wird durch die äußere Funktion ISTFEHLER abgefragt. Und erst dessen
Rückgabewert kann (z. B. durch das WENN) ausgewertet werden.
Wolfgang