2

В Excel 2010 я использую формулу =(TODAY() - 05/31/1996) / 365.25 для вычисления возраста в годах между сегодняшней датой, 30 мая 2013 г. и 31 мая 1996 г. Я ожидаю, что некоторое число близко к 17.00, но я получаю 113.41. Как использовать одну формулу для расчета разницы в годах между годами? Я отформатировал свою ячейку как число с точностью до 2 десятичных знаков.

Я использую формулу, основанную на этом похожем вопросе.

4 ответа4

6

«Как использовать одну формулу для расчета разницы в годах между годами?"

Из-за того, как вы сформулировали свой вопрос, я думаю, что формула DATEDIF подойдет вам лучше. Попробуйте использовать приведенную ниже формулу. Это просто! Надеюсь это поможет. :)

=DATEDIF("05/31/1996",TODAY(),"Y") Или =DATEDIF(A1,TODAY(),"Y")

"Y" заставляет формулу считать разницу в годах.

5

Это будет работать: =(TODAY()-DATEVALUE("5/31/1996"))/365.25

Как будет это: =(TODAY()-A1)/365.25 где A1 содержит значение даты Excel.

3

Вы должны привести дату в соответствие с реальной датой. Есть несколько подходов. Использование функции DateValue() было обрисовано в общих чертах. Другой способ заключается в следующем:

=(TODAY()-("31/5/1996"+0))/365.25

Эта формула работает для региональных настроек с датами, представленными в DMY. Если ваши региональные настройки используют MDY, попробуйте

=(TODAY()-("5/31/1996"+0))/365.25

Текст даты будет приведен к числу путем добавления нуля, а затем будет обработан дальше.

Конечно, вы можете избавить себя от многих проблем, если введете дату в другую ячейку, а затем просто перенесете формулу в эту ячейку.

Если значение A1 равно 31 мая 1996 г. (в каком бы формате ни использовались ваши региональные настройки), вы можете использовать

=(TODAY()-A1)/365.25
0

Ответы Чаффа и Тейлина отлично подходят для научных расчетов; например, нормальный рост и вес человека данного возраста, или сколько времени выдержала бутылка вина.  Это может быть достаточно для вас.  Но они не идеальны для юридических целей; например, 31.05.2013, их формула вычислена 16.99931554.  Предположительно, это будет отображаться как 17.00 если отображаются две десятичные цифры, но будет проверяться как 17.  Не очень хорошо, если вы пытаетесь вычислить чей-то возраст в обычном социальном / юридическом смысле, который мы использовали бы, например, чтобы определить, достаточно ли он взрослый, чтобы купить эту бутылку вина.

Для краткости я воспользуюсь альтернативным предположением, что древняя дата - в A1 , а сегодняшняя - в T1 .  Я предлагаю вам использовать эту формулу:

=(YEAR(T1)-YEAR(A1)) + (DATE(YEAR(A1),MONTH(T1),DAY(T1))-A1)/365.25

Это вычисляет разницу между двумя годами, а затем вычисляет разницу в дробном году между датой начала и текущей датой, отраженной в древнем году.  Например, я пишу это 12 июня 2013 года.  Первая часть вышеприведенной формулы, YEAR(T1)-YEAR(A1) (окружающие скобки не нужны) - это 2013-1996 что, конечно, равно 17 .  Второй срок,

                       (DATE(YEAR(A1),MONTH(T1),DAY(T1))-A1)/365.25

становится (DATE(1996,6,12)-A1)/365.25 )/365,25 или ("6/12/1996"-"5/31/1996")/365.25 или 12/365.25 , что составляет 0.03012 , поэтому сумма равна 17.03012 .  Но если T1 - 5/31/2013 , формула оценивается в 17.00000 .

О, моя формула имеет небольшой глюк.  Если древняя дата не в високосном году (например, 31.05.1995), а текущий год является високосным (например, 2012), то T1 = 2/29/2012 и T1 = 3/1/2012 даст тот же результат, потому что, хотя Excel выдает ошибку для 2/29/1995 , он обрабатывает DATE(1995,2,29) как 3/1/1995 .

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