Clever-Excel-Forum

Normale Version: Mehrere Daten in einer Zelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe in einer Zelle untereinander mehrere Datumsangaben. Sprich die Zelle sieht bspw. folgendermaßen aus:

01.01.2020
02.01.2021
04.07.2022

Ich möchte nun immer das jüngste Datum ausgeben lassen. Mit der normalen MAX-Funktion komme ich natürlich nicht weiter, da die Daten in einer Zelle stehen. 
Hat jemand zufällig eine Idee?

Viele Grüße
Hola,
woher kommen die Daten bzw. warum stehen 3 Datumswerte in einer Zelle? (durch die Zeilenumbrüche ist das nämlich TEXT und keine ZAHL mehr).
Gruß,
steve1da
Danke für die schnelle Antwort.

Ist ein Protokoll mit einer Zeile zu einem Thema. Wenn das Thema wieder angesprochen wird, wird daher ein neues Datum hinzugefügt in der selben Zelle.
Hi

Hier mal für bis zu 10 Daten in einer Zelle.
Code:
=AGGREGAT(15;6;1*TEIL(A1;(ZEILE($A$1:$A$10)-1)*11+1;10);1)
Gruß Elex

Sorry falsche Nummer in Aggregat. Nicht 15 sondern 14.
Sollten die Daten aber aufsteigend sein reicht natürlich die Rechts Funktion. Aber dann wäre die Frage ja überflüssig. Dodgy
Code:
=AGGREGAT(14;6;1*TEIL(A1;(ZEILE($A$1:$A$10)-1)*11+1;10);1)
Hier noch

a) variabel mit 1 bis zu 52 Datümern
b) mit variabler Länge der Einzeldatümer (also auch 5.6.23 statt 05.06.2023 oder 2-22 statt 01.02.2022 möglich)
c) ohne AGGREGAT, also auch für Antikexcel geeignet:

=MAX(--GLÄTTEN(TEIL(WECHSELN(A1&WIEDERHOLEN(ZEICHEN(10)&0;52);ZEICHEN(10);WIEDERHOLEN(" ";299));SPALTE(A:AZ)*299-298;299)))

(mit kleinen möglichen Fehlern)
Vielen Dank für eure Antworten.

Das hat schonmal funktioniert. Kann man das Ganze noch ausweiten, wenn die eine Zelle so ausieht:

10.10.2021: Text ABC
12.11.2021: Text XYZ
01.02.2020: Text MN

Also nach den Datumsangaben noch Text vorhanden ist. Trotzdem soll das neueste Datum aus der Zelle gefiltert werden.

Vielen Dank für eure Hilfe!
Hallo

=AGGREGAT(14;6;1*TEIL(A1;ZEILE($A$1:INDEX($A:$A;LÄNGE(A1)));10);1)

Gruß Elex
Da stimme  ich @Steve1da völlig zu: wer denkt sich so etwas aus ???
Dann sollte man überhaupt kein Excel verwenden.
Hallo Henrik, 19 

ein alternativer Vorschlag: 21
[attachment=43727]
Oder:

Code:
Function F_snb(c00)
  sn = Split(Replace(c00, ".", "-"), vbLf)
 
  y = CDate(Left(sn(0), 10))
  For j = 1 To UBound(sn)
    n = CDate(Left(sn(j), 10))
    If n > y Then y = n
  Next
 
  F_snb = y
End Function
oder
Code:
Function F_snb(c00)
   sn = Split(Replace(c00, ".", "-"), vbLf)
  
   ReDim sp(UBound(sn))
   For j = 0 To UBound(sn)
     sp(j) = --format(Left(sn(j), 10),"0")
   Next
  
   F_snb = Application.Max(sp)
End Function