Mehrere Daten in einer Zelle
#1
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
Antworten Top
#2
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
Antworten Top
#3
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.
Antworten Top
#4
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)
Antworten Top
#5
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)
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#6
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!
Antworten Top
#7
Hallo

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

Gruß Elex
Antworten Top
#8
Da stimme  ich @Steve1da völlig zu: wer denkt sich so etwas aus ???
Dann sollte man überhaupt kein Excel verwenden.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
Hallo Henrik, 19 

ein alternativer Vorschlag: 21
[attachment=43727]
Antworten Top
#10
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
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste