Hinzufügen / Subtrahieren von Monaten zum angegebenen Datum in Excel


7

Hier ist mein Szenario:

Ich muss die Liste mit Daten und einigen Metadaten der bevorstehenden Ereignisse für das folgende Jahr in meiner Excel-Anwendung füllen. Einige der Ereignisse finden jeden Monat am selben Tag statt, z. B. am 3. Tag des Monats .

Die Frage ist also:

Gibt es eine Funktion, mit der ich dem angegebenen Datum einen Monat hinzufügen kann, wie zum Beispiel:

  • Zelle A1:1/23/2013
  • Zelle A2:2/23/2013
  • Zelle A3:3/23/2013

Was hat nicht funktioniert:

Anscheinend

A3=$A2+30

produziert 3/25/2013was falsch ist.

Antworten:


10

Soweit ich hier im Superuser keine Antwort gefunden habe, poste ich meine eigene Antwort:

Gemäß diesem Link Excel: Hinzufügen / Nehmen von n Monaten zu einem Datum. Fügen Sie einem Excel-Datum Monate hinzu. Sie müssen:

  • Aktivieren Analyse - Funktionen
    • File-> Options-> Add-ins-> Manage: Excel Add-ins->Go

und verwenden Sie die Funktion EDATE(reference_cell, offset_integer), hier ist ein Beispiel:

  • A2 = 2/23/2013
  • A3 = EDATE($A1, 1) -> 3/23/2013

BEARBEITEN:

Wie barry Houdini in Kommentar darauf hingewiesen, Analyse - Funktionen werden nur benötigt , für Excel 2003 und früher, soweit EDATEFunktion Built-in späteren Versionen von Excel.


4
+1 für EDATE - Analysis ToolPak ist nur für Excel 2003 oder frühere Excel-Versionen erforderlich - in späteren Versionen ist EDATE eine integrierte Funktion
Barry Houdini

@barryhoudini Wusste das nicht, da ich Analysis Toolpak (& VBA) ständig für andere statistische Funktionen aktiviert habe.
Laika

@barryhoudini Übrigens, wissen Sie, wie ich an einer Funktion erkennen kann, ob es sich um ein Standard- oder ein bestimmtes Add-In handelt , und wenn ja, zu welchem ​​Add-In gehört es?
Laika

3

Sie haben zwei mögliche Ansätze, die ich mir vorstellen kann. Der erste ist der Füllgriff:

  1. Geben Sie in Zelle A1 den 23.01.2013 ein.
  2. Geben Sie in Zelle A2 den 23.02.2013 ein.
  3. Markieren Sie die Zellen A1 und A2.
  4. Platzieren Sie Ihre Maus auf dem Füllpunkt unten rechts in der Gruppe der hervorgehobenen Zellen und ziehen Sie nach unten, um so viele Werte wie nötig zu erhalten.

Die zweite, wie bereits besprochen, sind Formeln, aber Sie müssen den Monat Dezember berücksichtigen:

=IF(MONTH($A1) = 12, DATE($A1 + 1, 1, DAY($A1)), DATE(YEAR($A1), MONTH($A1) + 1, DAY($A1)))
  1. Wenn der Monat Dezember ist, erstellen Sie ein neues Datum DATE()mit den folgenden Werten:
    1. Das ursprüngliche Jahr wurde um 1 erhöht.
    2. Der Monat Januar.
    3. Der ursprüngliche Tag des Monats.
  2. Andernfalls erstellen Sie ein neues Datum DATE()mit den folgenden Werten:
    1. Das ursprüngliche Jahr.
    2. Der ursprüngliche Monat wurde um 1 erhöht.
    3. Der ursprüngliche Tag des Monats.

Beachten Sie, dass Sie den Tag des Monats noch validieren müssen. Zum Beispiel ist der 31. Januar ein gültiges Datum, der 31. Februar jedoch nicht. Das wäre jedoch etwas komplizierter und hängt davon ab, ob Sie jeden Randfall abdecken möchten.


1
Das ist ein guter Punkt, um den 31. Februar irrelevant zu machen. Außerdem hatte ich nicht bemerkt, dass EDATE()es sich um eine eingebaute Funktion handelt, sodass dies in diesem Fall sicherlich die einfachere Formel wäre.
Nicholas Cole

2
Sie müssen den Dezember nicht separat berücksichtigen - der Vorschlag für pnuts funktioniert für jeden Monat, da Excel beispielsweise = DATE (2010,13,1) als 1. Januar 2011
erkennt

1

Mir wurde klar, dass diese Antwort ein paar Jahre zu spät ist ... aber das funktioniert für jedes Datum, nur für den Fall, dass jemand hierher kommt und so aussieht wie ich :)

A1 = 2017/8/6
A2 = =EOMONTH(A1,0)+DAY(A1)

EOMONTHführt Sie zum Monatsende (in diesem Fall 2017/8/31) und die DAY-Formel gibt die Anzahl der Tage seit Monatsbeginn an (in diesem Fall 6 seit dem 6. August). Addiere sie und du bist fertig.

Der zweite Teil von EOMONTHbestimmt, wie viele Monate Sie vor sich haben, 0ist das Ende des referenzierten Monats, 1ist das Ende des Monats nach dem referenzierten Monat und so weiter ...

Hoffe jemand findet das hilfreich!


1
Dies hat das gleiche Problem wie viele dieser anderen Lösungen im Umgang mit Daten nach dem 28 .. Versuchen Sie es mit 30.01.16.
Bandersnatch

0

Ich denke =DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))(in A2und kopiert) funktioniert auch.

Bearbeiten Aber kann für Daten nach dem 28. fallen.


-1

Ich konnte dem Datum 30 hinzufügen. Zelle A1: 23.01.2013 und B1: = A1 + 30 und produziert 22.02.2013.Excel-Bildschirm

Eine andere Option ist folgende:

=DATE(YEAR(A1),MONTH(A1)+MONTHSTOADD,DAY(A1))

Dabei ist A1 Ihr ursprüngliches Datum und MONTHSTOADD die Anzahl der Monate, die Sie hinzufügen möchten.

((Entschuldigung, die zweite Option, die ich hinzugefügt habe, wurde anscheinend auch von einem anderen Benutzer hinzugefügt.))


1
(1) Das OP berichtete, es habe versucht, die offensichtliche, einfache +30Antwort zu versuchen , und es sei fehlgeschlagen. (2) Es ist auch für Sie gescheitert. Die OP will das Datum 2. Februar / sein  23  /2013 beginnen ; Ihre Formel 2 erzeugt /  22  /2013.
G-Man sagt "Reinstate Monica"
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.