У меня есть две даты в Excel 01-11-2008 и 28-02-2017. Я хочу рассчитать разницу между этими двумя датами, чтобы, если разница в месяцах превышала 6 месяцев, она равнялась 1 году и добавляла ее к годам. Прямо сейчас я вставил следующую формулу

=ROUNDUP((YEAR(E245)-YEAR(D245))+(IF(MONTH(E245)-MONTH(D245)>6,1,0))/12,0)

(E245 и D245) являются ссылками на ячейки в Excel)

Приведенная выше формула дает результат в девять лет, тогда как, если я вычислю вручную, я получу 8 лет. Может ли любое тело дать исправление для этого. Буду благодарен за любую помощь.

1 ответ1

0

Ваш метод не учитывает, когда месяц с более высокой датой меньше месяца с более низкой датой. Преобразуйте каждую дату в число месяцев, вычтите, разделите на двенадцать, затем округлите «округление» для получения результата.

=ROUND(((YEAR(E245)*12+MONTH(E245))-(YEAR(D245)*12+MONTH(D245)))/12,0)

Не уверен, что если дороже, ROUND или INT , так что вы также можете сделать

=INT(((YEAR(E245)*12+MONTH(E245))-(YEAR(D245)*12+MONTH(D245)))/12+0.5)

Добавление 0.5 к частному будет округлять, и INT будет усекаться до целого числа. Тот же эффект, что и в ROUND с другой функцией.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .