Excel Formel anpassen
#1
Hallo liebes Forum,

bräuchte mal wieder Euren kompetenten Rat.

In einer Tabelle stehen in Spalte "A" ab "A2" Datumswerte, im Moment steht das letzte Datum in "A948".
Ich müsste aber für die Berechnung eines Zeitraumes in Jahren, Monaten und Tagen eine flexible Formel dafür haben wenn weitere Datumseinträge (Zeilen) hinzugefügt werden.

Diese Formel steht jetzt in "A1000"
=DATEDIF(A2;A948;"y")& " Jahr(e), "& DATEDIF(A3;A948;"ym")& " Monat(e), "& DATEDIF(A2;A948;"MD") & " Tag(e)"

Wie müsste die Formel aussehen damit sie sich flexibel an hinzugefügte Zeilen mit neuen Datumseinträgen anpasst, ohne dass ich immer händisch den Zellbezug in der Formel ändern müsste?

Danke schon mal für eine Rückmeldung.
Top
#2
Hi Erich,

formatiere deine Tabelle in eine intelligente Tabelle um (SGTRG-L oder -T); dann erweitern sich deine Formeln automatisch.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallo Günter,

danke für die Antwort.
Wenn ich das mache verliere ich alle meine Farbformate die ich für diverse Auswertungen benötige.

Gruß Erich
Top
#4
Hallo,


Zitat:Diese Formel steht jetzt in "A1000"
=DATEDIF(A2;A948;"y")& " Jahr(e), "& DATEDIF(A3;A948;"ym")& " Monat(e), "& DATEDIF(A2;A948;"MD") & " Tag(e)"

Wie müsste die Formel aussehen damit sie sich flexibel an hinzugefügte Zeilen mit neuen Datumseinträgen anpasst, ohne dass ich immer händisch den Zellbezug in der Formel ändern müsste?

Würde mir eine Spalte mit folgendem Code erstellen und dann entsprechend nur noch runterziehen wenn ein neues Datum dazu kommt.
Code:
=DATEDIF($A2$;A948;"y")& " Jahr(e), "& DATEDIF($A3$;A948;"ym")& " Monat(e), "& DATEDIF($A2$;A948;"MD") & " Tag(e)"
Gruß

Stoffo
Top
#5
Hallo Stoffo,

danke für den Vorschlag.
Ich möchte aber nur "eine" Ergebnis-(stelle) -zeile in der die Berechnung steht und zwar immer unter dem letzten Datumseintrag.
Top
#6
Hm. Dann ggf. eine Range definieren die über die aktuelle Zelle hinausgeht und das Ergebnis an anderer Stelle auswerfen. 
Oder du lässt dir den letzten Eintrag deiner Liste gesondert auswerfen und machst dann eine Berechnung, Beispiel findest du hier:
Finde den letzten Eintrag einer Excel-Liste
Gruß

Stoffo
Top
#7
Hi Erich,

wäre das noch eine Möglichkeit?

Arbeitsblatt mit dem Namen 'Tabelle2'
ABCDE
1DatumText1Text219.05.20190 Jahr(e), 0 Monat(e), 18 Tag(e)
201.05.2019blabbblabla
302.05.2019blebbbleble
403.05.2019blibbblibli
504.05.2019blobbbloblo
605.05.2019bluppbluplu
706.05.2019blabbblabla
807.05.2019blebbbleble
908.05.2019blibbblibli
1009.05.2019blobbbloblo
1110.05.2019bluppbluplu
1211.05.2019blabbblabla
1312.05.2019blebbbleble
1413.05.2019blibbblibli
1514.05.2019blobbbloblo
1615.05.2019bluppbluplu
1716.05.2019blabbblabla
1817.05.2019blebbbleble
1918.05.2019blibbblibli
2019.05.2019blobbbloblo

ZelleFormel
D1=VERWEIS(2;1/($A$2:$A$1500<>"");$A$2:$A$1500)
E1=DATEDIF(A2;$D$1;"y")& " Jahr(e), "& DATEDIF(A3;$D$1;"ym")& " Monat(e), "& DATEDIF(A2;$D$1;"MD") & " Tag(e)"
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#8
Danke Euch Beiden,

ich habe es jetzt mit einem Makro versucht.

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim sAdr As String

'Das ist der Bereich wo ich die ausgewerteten Daten ausgebe
sAdr = Range("Zeitspanne").Address

If Target.Column = 1 And Not Target.Address = sAdr Then
loDat = Target
'Hier steht das zuletzt eingegebene Datum
Range("V1") = Target
End If
End Sub
Top


Gehe zu:


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