Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Alternative zu Datedif

Forumthread: Alternative zu Datedif

Alternative zu Datedif
18.03.2023 08:49:08
Christian

Hallo,

ich benutze Excel 2021, kein 365.

Gibt es eine Alternative zu den Formeln =DATEDIF(C2;F2;"Y") und =DATEDIF(C2;F2;"YD")

Hintergrund der Frage ist, ich will die Formeln per Makro berechnen lassen. Formulalocal und Datedif vertragen sich nicht und in R1C1 umwandeln finde ich irgendwie lästig, da ichs wenn dann lieber einheitlich haben will und das dann bedeutet, ich müsste alle Formeln in R1C1 umwandeln um es einheitlich zu haben.

Ich habe zwar durch googlen dieFormel Breitljahre gefunden, aber die gibt ne Gleitkommazahl aus, nicht wie Datedif in Jahre und Tage getrennt.

Hat da jemand eine Idee?

Danke
Christian

Ach ja und weshalb überhaupt VBA, weil es die Möglichkeit bietet dieses und vieles anderes gleichzeitig auf einen Knopfdruck ausführen zu lassen.

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alternative zu Datedif
18.03.2023 09:16:09
ralf_b
ich vermute das du nur nicht weist wie man die Formel in VBA anwendet.
Von datedif gibt es zwei Varianten. Was genau funktioniert nicht, bzw. wie hast du versucht das umzusetzen?

Alternativ könntest du auch PowerQuery nutzen.


AW: Alternative zu Datedif
18.03.2023 09:32:28
Christian
Hallo Ralf,

es funktioniert. Ich tue mich halt total schwer, wenn ich an Formeln z.b. einen Zellbezug ändern möchte wenn sie dann im R1C1 Formet da steht, wenn da was von C[-13] steht, wer weiß schon, welcher Buchstabe 13 Buchstaben vorher ist.

Ich habe das Makro nicht ohne Grund gewählt, weil keine Frage, alles was das Makro macht, kann man auch ohne Makro machen, keine Frage, aber das ist so vielfältig, was das Makro alles übernimmt, das geht von Dateien löschen und neue runterladen, alle PQ Abfragen aktualisieren, alle Formeln neu berechnen, einige Tabellen neu sortieren, in vielen Tabellen Schriftart, Größe und Spaltenbreite anpassen, solche Sachen halt, das geht zweifelsohne auch ohne Makro, aber man hat den Vorteil bei VBA, man muss nur einmal auf nen Knopf drücken und alles andere läuft automatisch.

Wenn du jetzt noch fragst, warum überhaupt noch Formeln das geht doch sicher auch mit PQ. Auch da stimme ich dir zu, das geht, aber mir fehlen die Kenntnisse in PQ dann mal Änderungen vorzunehmen, während ich alle meine Formeln kenne und sie problemlos ändern kann.

Zu deiner Frage mit der Umsetzung, mit .FormulR1C1 "=DATEDIF(....

das funktoniert auch, ich suche nur eine Alternative die mit .FormulaLocal funktioniert.

Gruß
Christian

Gruß
Christian


Anzeige
aber um es kurz zu fassen
18.03.2023 09:40:37
Christian
Das ist eine riesige Mappe, da zu versuchen die Strukturen an PQ anzupassen würde sehr aufwendig.

Ich bitte dich, dich auf die eine Frage die ich gestellt habe zu konzentrieren, kann mann Datedif durch eine Formel ersetzen, die mit .FormulaLocal funktioniert. Falls nicht, nehme ich dann doch FormulaR1C1 und fertig.


Anzeige
Wo siehst Du ein Problem?
18.03.2023 10:19:42
RPP63
Gerade getestet:
ActiveCell.Formula2Local = "=DATEDIF(DATUM(2017;01;5);HEUTE();""y"")"
Funktioniert einwandfrei!


AW: Wo siehst Du ein Problem?
18.03.2023 10:20:50
RPP63
Die 2 aus Formula2Local kann natürlich weg, muss aber nicht.


AW: Wo siehst Du ein Problem?
18.03.2023 10:26:48
Christian
Ich verstehe jetzt die Excel Welt selber nicht mehr

.FormulaLocal = "=DATEDIF(F2;C2;""Y"")"

.FormulaLocal = "=DATEDIF(F2;C2;""YD"")"

funktionieren beide, ich habe seit Jahren (10 Jahre bestimmt) an dieser Stelle R1C1 genutzt weil ich der Meinung war damals ging es nicht mit FormulaLocal und habe es zugegebenermaßen erst gar nicht mehr probiert ob es jetzt doch geht. Aber ich muss dir recht geben

Gruß
Christian


Anzeige
Prima!
18.03.2023 10:29:23
RPP63
Danke fürs Feedback!


AW: Prima!
18.03.2023 10:30:49
Christian
sorry dass ich das nicht vorher getestet habe und du dir hast die Mühe machen müssen, tut mir leid. Wünsche dir trotzdem noch ein schönes Wochenende

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Alternative zu Datedif in Excel


Schritt-für-Schritt-Anleitung

  1. Formel für Jahre und Tage erstellen: Anstelle von DATEDIF kannst du die folgende Formel verwenden, um die Jahre und Tage zwischen zwei Daten zu berechnen:

    =DATEDIF(A2;B2;"Y") & " Jahre und " & DATEDIF(A2;B2;"YD") & " Tage"

    Diese Formel gibt dir die Anzahl der ganzen Jahre und die verbleibenden Tage zwischen den Datumsangaben in Zelle A2 und B2.

  2. VBA-Anpassung: Wenn du VBA verwendest und die .FormulaLocal Methode nutzen möchtest, kannst du die Formel zum Beispiel so gestalten:

    ActiveCell.FormulaLocal = "=DATEDIF(A2;B2;""Y"")"
  3. Alternative Berechnungsmethoden: Du kannst auch DATEDIF in einer VBA-Umgebung wie folgt verwenden:

    ActiveCell.FormulaR1C1 = "=DATEDIF(RC[-1];RC[0];""Y"")"

Häufige Fehler und Lösungen

  • Fehler: DATEDIF funktioniert nicht: Wenn DATEDIF nicht erkannt wird, stelle sicher, dass du die richtige Schreibweise und Syntax verwendest. Manchmal kann es auch an fehlenden Argumenten liegen.

  • Problem mit R1C1: Wenn du Schwierigkeiten mit der R1C1-Notation hast (z.B. C[-13]), solltest du dich an die A1-Notation halten, um die Lesbarkeit deiner Formeln zu erhöhen.

  • Excel kennt DATEDIF nicht: Dies kann vorkommen, wenn du eine alte Excel-Version verwendest. Stelle sicher, dass du eine Version verwendest, die diese Funktion unterstützt, wie Excel 2021 oder Excel 365.


Alternative Methoden

  • Power Query: Eine weitere Möglichkeit, um Datumsdifferenzen zu berechnen, ist die Verwendung von Power Query. Mit Power Query kannst du Daten transformieren und berechnen, ohne auf Formeln angewiesen zu sein.

  • Alternative DATEDIF Excel: Berechne die Differenz zwischen zwei Datumswerten über die normale Subtraktion und formatiere das Ergebnis:

    =B2-A2

    Dies gibt dir die Gesamtzahl der Tage, die dann in Jahre und Tage umgerechnet werden können.


Praktische Beispiele

  • Beispiel für Jahre und Tage: Um die Anzahl der Jahre und Tage zwischen dem 1. Januar 2000 und dem 1. Januar 2022 zu berechnen:

    =DATEDIF("2000-01-01";"2022-01-01";"Y") & " Jahre und " & DATEDIF("2000-01-01";"2022-01-01";"YD") & " Tage"
  • VBA Beispiel: Um dies in einem Makro zu implementieren:

    Sub BerechneDatumsDifferenz()
       Dim startDatum As Date
       Dim endDatum As Date
       startDatum = DateValue("2000-01-01")
       endDatum = DateValue("2022-01-01")
       MsgBox "Differenz: " & Application.WorksheetFunction.Datedif(startDatum, endDatum, "Y") & " Jahre und " & Application.WorksheetFunction.Datedif(startDatum, endDatum, "YD") & " Tage"
    End Sub

Tipps für Profis

  • Makros effektiv nutzen: Wenn du häufig mit Datumsberechnungen arbeitest, erstelle ein Makro, das die Berechnungen automatisiert, um Zeit zu sparen.

  • Verwendung von Named Ranges: Nutze benannte Bereiche, um die Lesbarkeit deiner Formeln zu erhöhen und Fehlerquellen zu minimieren.

  • VBA Debugging: Wenn du mit VBA arbeitest, benutze Debug.Print, um Werte während der Ausführung zu überprüfen und Probleme schneller zu identifizieren.


FAQ: Häufige Fragen

1. Was ist die DATEDIF-Funktion?
DATEDIF ist eine Excel-Funktion, die die Differenz zwischen zwei Datumsangaben berechnet.

2. Welche Alternativen gibt es zu DATEDIF?
Du kannst Power Query verwenden oder einfache Subtraktionen durchführen, um die Differenz zwischen Datumswerten zu berechnen.

3. Funktioniert DATEDIF auch in Excel 365?
Ja, DATEDIF ist in Excel 365 verfügbar und funktioniert ebenso wie in anderen Versionen.

4. Was mache ich, wenn DATEDIF nicht erkannt wird?
Überprüfe deine Excel-Version und die Schreibweise der Funktion. In einigen Fällen kann es an der Spracheinstellung liegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige