Есть некая поддержка оборудования. Поддержка дается на 12 месяцев. Необходимо получить число, которое отображает сколько месяцев прошло с момента даты окончания поддержки + 12 месяцев вперед.
1. Есть следующая формула
Код
=ROUNDUP(DATEDIF(F4;TODAY();"m")/12;0)*12
где F4 = фиксированная дата например 01.09.2013 дата окончание поддержки
Today()- текущая дата например 14.11.2014
Получаем
Код
=DATEDIF(F4;TODAY();"m")
разницу между текущей даты и фиксированной даты 14 месяцев.
Код
=ROUNDUP(DATEDIF(F4;TODAY();"m")/12;0)
полученные 14 месяцев мы делим на 12 месяцев и округляем в большую часть получив 2 года
Код
=ROUNDUP(DATEDIF(F4;TODAY();"m")/12;0)*12)
2 года умножаем на 12 получаем 24 месяца то есть 2 года.
То есть 12 месяцев прошло с момента окончания поддержки + 12 месяцев вперед.
Клиенту необходимо выкупить год просрочки + год вперед.
Теперь проблема!
Если дата окончание поддержки 09.11.2014 или 25.10.2015 он выдает число 0 или #NUM!.
Все верно так как в первом случае месяц у нас месяц совпадает и он говорит, что все норм покупать ничего не надо.
Во втором случае он сравнивает с будущем числом фактически происходит деление на 0.
Есть ли возможность дописать существующую формулу чтобы в первом и во втором случае он присваивал 12 месяцев. [moder]Файл с примером приложите[/moder]
Возникла проблема следующего характера
Есть некая поддержка оборудования. Поддержка дается на 12 месяцев. Необходимо получить число, которое отображает сколько месяцев прошло с момента даты окончания поддержки + 12 месяцев вперед.
1. Есть следующая формула
Код
=ROUNDUP(DATEDIF(F4;TODAY();"m")/12;0)*12
где F4 = фиксированная дата например 01.09.2013 дата окончание поддержки
Today()- текущая дата например 14.11.2014
Получаем
Код
=DATEDIF(F4;TODAY();"m")
разницу между текущей даты и фиксированной даты 14 месяцев.
Код
=ROUNDUP(DATEDIF(F4;TODAY();"m")/12;0)
полученные 14 месяцев мы делим на 12 месяцев и округляем в большую часть получив 2 года
Код
=ROUNDUP(DATEDIF(F4;TODAY();"m")/12;0)*12)
2 года умножаем на 12 получаем 24 месяца то есть 2 года.
То есть 12 месяцев прошло с момента окончания поддержки + 12 месяцев вперед.
Клиенту необходимо выкупить год просрочки + год вперед.
Теперь проблема!
Если дата окончание поддержки 09.11.2014 или 25.10.2015 он выдает число 0 или #NUM!.
Все верно так как в первом случае месяц у нас месяц совпадает и он говорит, что все норм покупать ничего не надо.
Во втором случае он сравнивает с будущем числом фактически происходит деление на 0.
Есть ли возможность дописать существующую формулу чтобы в первом и во втором случае он присваивал 12 месяцев. [moder]Файл с примером приложите[/moder]Sebastian_Pereiro
Sebastian_Pereiro, часть строки =МИН(F4;СЕГОДНЯ()-31) сравнивает дату в Ф4 с датой месяц назад и берет минимальную из них. Это нужно, чтобы в РАЗНДАТ(МИН(F4;СЕГОДНЯ()-31);СЕГОДНЯ();"m") получилось как минимум 1.
Sebastian_Pereiro, часть строки =МИН(F4;СЕГОДНЯ()-31) сравнивает дату в Ф4 с датой месяц назад и берет минимальную из них. Это нужно, чтобы в РАЗНДАТ(МИН(F4;СЕГОДНЯ()-31);СЕГОДНЯ();"m") получилось как минимум 1.Russel