Per this Microsoft documentation, лучший способ сделать это с EDATE
function.
=EDATE(A5, -12)
(Затем формат ячейки в качестве даты)
Обратите внимание, что существуют некоторые различия между этим подходом и один Scott recommended. В частности, подумайте, что если ваше первоначальное значение является високосным днем (29 февраля), то вычитание 12 месяцев будет падать в год, когда нет високосного дня. Подход Скотта вернется 1 марта, где функция EDATE
приземлится 28 февраля.
То же самое можно увидеть при добавлении/вычитании любого произвольного количества месяцев в конце длинного месяца. Например, добавление одного месяца к 31 марта должно дать 30 апреля с использованием метода EDATE
, но даст 1 мая при добавлении значений на дату.
И это короче. –
Большое спасибо, это лучший способ получить дату, которую я хотел. – TimeToCode
Просто для интереса функция VBA DATEADD также дает 28 февраля для примера Мэтта, так что это непротиворечиво. К сожалению, он недоступен в качестве функции рабочего листа. –