Оглавление
В этом учебном пособии объясняется синтаксис и применение функции Excel ГОД и приводятся примеры формул для извлечения года из даты, преобразования даты в месяц и год, вычисления возраста по дате рождения и определять високосные годы.
В нескольких недавних постах мы рассмотрели различные способы вычисления дат и времени в Excel и изучили множество полезных функций, таких как WEEKDAY, WEEKNUM, MONTH и DAY. Сегодня мы сосредоточимся на более крупной единице времени и поговорим о вычислении лет в ваших рабочих листах Excel.
В этом учебнике вы узнаете:
Функция ГОД в Excel
Функция ГОД в Excel возвращает четырехзначный год, соответствующий заданной дате, в виде целого числа от 1900 до 9999.
Синтаксис функции ГОД в Excel настолько прост, насколько это вообще возможно:
ГОД(серийный_номер)Где serial_number - любая действительная дата года, которую вы хотите найти.
Формула ГОД в Excel
Чтобы сделать формулу ГОД в Excel, исходную дату можно предоставить несколькими способами.
Использование функции ДАТА
Самым надежным способом ввода даты в Excel является использование функции DATE.
Например, следующая формула возвращает год для 28 апреля 2015 года:
=YEAR(DATE(2015, 4, 28))
В качестве серийного номера, представляющего собой дату
Во внутренней системе Excel даты хранятся в виде порядковых номеров, начиная с 1 января 1900 года, который хранится под номером 1. Более подробную информацию о том, как даты хранятся в Excel, см. в разделе Формат даты Excel.
28 день апреля 2015 года хранится в памяти как 42122, поэтому вы можете ввести это число непосредственно в формулу:
= ГОД(42122)
Хотя этот метод и приемлем, он не рекомендуется, поскольку нумерация дат может отличаться в разных системах.
В качестве ссылки на ячейку
Если в какой-то ячейке есть действительная дата, то можно просто сослаться на эту ячейку. Например:
= ГОД(A1)
В результате другой формулы
Например, вы можете использовать функцию TODAY() для извлечения года из текущей даты:
= ГОД(СЕГОДНЯ())
Как текст
В простом случае формула YEAR может даже понимать даты, введенные в виде текста, например, так:
= ГОД("28-апр-2015")
При использовании этого метода, пожалуйста, дважды проверьте, что вы вводите дату в формате, который понимает Excel. Также помните, что Microsoft не гарантирует правильность результатов, когда дата предоставляется в виде текстового значения.
Следующий скриншот демонстрирует все вышеперечисленные формулы ГОДА в действии, и все они возвращают 2015 год, как вы и ожидали :)
Как преобразовать дату в год в Excel
Когда вы работаете с информацией о датах в Excel, на рабочих листах обычно отображаются полные даты, включая месяц, день и год. Однако для основных вех и важных событий, таких как запуск продукта или приобретение активов, вы можете захотеть просмотреть только год без повторного ввода или изменения исходных данных. Ниже вы найдете 3 быстрых способа сделать это.
Пример 1. Извлечение года из даты с помощью функции YEAR
На самом деле, вы уже знаете, как использовать функцию ГОД в Excel для преобразования даты в год. На скриншоте выше показана куча формул, а еще несколько примеров вы можете увидеть на скриншоте ниже. Обратите внимание, что функция ГОД прекрасно понимает даты во всех возможных форматах:
Пример 2. Преобразование даты в месяц и год в Excel
Чтобы преобразовать заданную дату в год и месяц, можно использовать функцию TEXT для извлечения каждой единицы по отдельности, а затем объединить эти функции в одной формуле.
В функции ТЕКСТ можно использовать различные коды для месяцев и лет, например:
- "mmm" - сокращенные названия месяцев, как Jan - Dec.
- "мммм" - полные названия месяцев, как январь - декабрь.
- "yy" - двузначные годы
- "yyyy" - 4-значные годы
Чтобы сделать вывод более читабельным, вы можете разделить коды запятой, дефисом или любым другим символом, как показано ниже Дата - месяц и год формулы:
=TEXT(B2, "mmmm") & ", " & TEXT(B2, "yyyy")
Или
=TEXT(B2, "mmm") & "-" & TEXT(B2, "yy")
Где B2 - ячейка, содержащая дату.
Пример 3. Отображение даты в виде года
Если не имеет значения, как хранятся даты в рабочей книге, можно заставить Excel показывать только годы, не изменяя исходные даты. Другими словами, можно хранить в ячейках полные даты, а отображать только годы.
В этом случае формула не нужна. Вы просто открываете Форматирование ячеек диалоговое окно, нажав Ctrl + 1, выберите Пользовательский категория на Номер вкладку, и введите один из приведенных ниже кодов в поле Тип коробка:
- yy - для отображения двузначных годов, как 00 - 99.
- yyyy - для отображения 4-значных годов, например, 1900 - 9999.
Пожалуйста, помните, что этот метод не изменяет первоначальную дату Если вы ссылаетесь на такие ячейки в своих формулах, Microsoft Excel будет выполнять вычисления даты, а не года.
Более подробную информацию об изменении формата даты можно найти в этом руководстве: Как изменить формат даты в Excel.
Как рассчитать возраст по дате рождения в Excel
Существует несколько способов вычисления возраста по дате рождения в Excel - использование функций DATEDIF, YEARFRAC или INT в сочетании с TODAY(). Функция TODAY предоставляет дату для вычисления возраста, гарантируя, что ваша формула всегда будет возвращать правильный возраст.
Рассчитайте возраст по дате рождения в годах
Традиционный способ вычисления возраста человека в годах заключается в вычитании даты рождения из текущей даты. Этот подход отлично работает в повседневной жизни, но аналогичная формула расчета возраста в Excel не совсем верна:
INT((TODAY()- DOB )/365)Где DOB - дата рождения.
Первая часть формулы (TODAY()-B2) вычисляет разницу в днях, и вы делите ее на 365, чтобы получить количество лет. В большинстве случаев результат этого уравнения - десятичное число, и функция INT округляет его до ближайшего целого числа.
Если предположить, что дата рождения находится в ячейке B2, то полная формула будет выглядеть следующим образом:
=INT((TODAY()-B2)/365)
Как уже упоминалось выше, эта формула расчета возраста не всегда безупречна, и вот почему. Каждый 4-й год - високосный, в нем 366 дней, а формула делит количество дней на 365. Таким образом, если кто-то родился 29 февраля, а сегодня 28 февраля, эта формула возраста сделает человека на один день старше.
Деление на 365,25 вместо 365 также не является безупречным, например, при вычислении возраста ребенка, который еще не пережил високосный год.
Учитывая вышесказанное, вам лучше сохранить этот способ расчета возраста для обычной жизни и использовать одну из следующих формул для расчета возраста по дате рождения в Excel.
DATEDIF( DOB , TODAY(), "y") ROUNDDOWN(YEARFRAC( DOB , TODAY(), 1), 0)Подробное объяснение приведенных выше формул представлено в статье Как рассчитать возраст в Excel. А на следующем снимке экрана показана реальная формула расчета возраста в действии:
=DATEDIF(B2, TODAY(), "y")
Вычисление точного возраста по дате рождения (в годах, месяцах и днях)
Чтобы вычислить точный возраст в годах, месяцах и днях, напишите три функции DATEDIF со следующими единицами измерения в последнем аргументе:
- Y - для расчета количества полных лет.
- YM - для получения разницы между месяцами, игнорируя годы.
- MD - для получения разницы между днями, игнорируя годы и месяцы.
А затем объедините 3 функции DATEDIF в одну формулу, разделите числа, возвращаемые каждой функцией, запятыми и определите, что означает каждое число.
Если предположить, что дата рождения находится в ячейке B2, то полная формула будет выглядеть следующим образом:
=DATEDIF(B2,TODAY(), "Y") & " Годы, " & DATEDIF(B2,TODAY(), "YM") & " Месяцы, " & DATEDIF(B2,TODAY(), "MD") & " Дни"
Эта формула возраста может очень пригодиться, скажем, врачу для отображения точного возраста пациентов или кадровику для точного определения возраста всех сотрудников:
Для получения дополнительных примеров формул, таких как расчет возраста на определенную дату или в определенном году, ознакомьтесь со следующим руководством: Как рассчитать возраст в Excel.
Как получить номер дня в году (1-365)
Этот пример демонстрирует, как можно получить номер определенного дня в году, от 1 до 365 (1-366 в високосные годы), причем 1 января считается днем 1.
Для этого используйте функцию YEAR вместе с DATE таким образом:
=A2-ДАТА(ГОД(A2), 1, 0)
Где A2 - ячейка, содержащая дату.
А теперь давайте посмотрим, что на самом деле делает формула. The ГОД Функция извлекает год даты в ячейке A2 и передает его в функцию DATE(год, месяц, день) функция, которая возвращает последовательный номер, представляющий определенную дату.
Итак, в нашей формуле, год
извлекается из исходной даты (A2), месяц
равен 1 (январь) и день
равен 0. На самом деле, нулевой день заставляет Excel вернуть 31 декабря предыдущего года, потому что мы хотим, чтобы 1 января рассматривалось как первый день. Затем, вы вычитаете порядковый номер, возвращенный формулой DATE, из исходной даты (которая также хранится в Excel как порядковый номер), и разница является искомым днем года. Например, 5 января 2015 года хранится как 42009 и31 декабря 2014 года - 42004, поэтому 42009 - 42004 = 5.
Если понятие "день 0" кажется вам неправильным, вместо него можно использовать следующую формулу:
=A2-ДАТА(ГОД(A2), 1, 1)+1
Как рассчитать количество оставшихся дней в году
Для вычисления количества дней, оставшихся в году, мы снова воспользуемся функциями DATE и YEAR. Формула основана на том же подходе, что и пример 3 выше, поэтому у вас вряд ли возникнут трудности с пониманием ее логики:
=DATE(YEAR(A2),12,31)-A2
Если вы хотите узнать, сколько дней осталось до конца года, исходя из текущей даты, вы используете функцию Excel TODAY(), как показано ниже:
=DATE(2015, 12, 31)-TODAY()
Где 2015 - текущий год.
Вычисление високосных годов в Excel
Как известно, почти каждый 4-й год имеет дополнительный день 29 февраля и называется високосным. В листах Microsoft Excel можно определить, относится ли определенная дата к високосному или обычному году, различными способами. Я продемонстрирую лишь пару формул, которые, на мой взгляд, наиболее просты для понимания.
Формула 1. Проверьте, есть ли в феврале 29 дней
Это очень очевидный тест. Поскольку в феврале 29 дней в високосные годы, мы вычисляем количество дней в месяце 2 данного года и сравниваем его с числом 29. Например:
=DAY(DATE(2015,3,1)-1)=29
В этой формуле функция DATE(2015,3,1) возвращает 1-й день марта 2015 года, из которого мы вычитаем 1. Функция DAY извлекает номер дня из этой даты, и мы сравниваем это число с 29. Если числа совпадают, формула возвращает TRUE, в противном случае - FALSE.
Если у вас уже есть список дат в рабочем листе Excel и вы хотите узнать, какие из них являются високосными, то включите функцию ГОД в формулу для извлечения года из даты:
=DAY(DATE(YEAR(A2),3,1)-1)=29
Где A2 - ячейка, содержащая дату.
Результаты, возвращаемые формулой, следующие:
В качестве альтернативы можно использовать функцию EOMONTH, чтобы вернуть последний день февраля и сравнить это число с 29:
=DAY(EOMONTH(DATE(YEAR(A2),2,1),0))=29
Чтобы сделать формулу более удобной для пользователя, используйте функцию IF, чтобы она возвращала, скажем, "Високосный год" и "Обычный год" вместо TRUE и FALSE:
=IF(DAY(DATE(YEAR(A2),3,1)-1)=29, "Високосный год", "Обычный год")
=IF(DAY(EOMONTH(DATE(YEAR(A2),2,1),0))=29, "Високосный год", "Обычный год")
Формула 2. Проверьте, имеет ли год 366 дней
Это еще один очевидный тест, который вряд ли требует объяснений. Мы используем одну функцию DATE для возврата 1 января следующего года, другую функцию DATE для получения 1 января текущего года, вычитаем последнее из первого и проверяем, равна ли разница 366:
=ДАТА(2016,1,1) - ДАТА(2015,1,1)=366
Чтобы вычислить год на основе даты, введенной в некоторую ячейку, вы используете функцию Excel ГОД точно так же, как мы делали это в предыдущем примере:
=ДАТА(ГОД(A2)+1,1,1) - ДАТА(ГОД(A2),1,1)=366
Где A2 - ячейка, содержащая дату.
И естественно, вы можете заключить приведенную выше формулу ДАТА / ГОД в функцию ЕСЛИ, чтобы она возвращала что-то более значимое, чем булевы значения TRUE и FALSE:
=IF(DATE(YEAR(A2)+1,1,1) - DATE(YEAR(A2),1,1)=366, "Високосный год", "Невисокосный год")
Как уже упоминалось, это не единственные возможные способы вычисления високосного года в Excel. Если вам интересно узнать другие решения, вы можете проверить метод, предложенный Microsoft. Как обычно, ребята из Microsoft не ищут легких путей, не так ли?
Надеюсь, эта статья помогла вам разобраться с расчетами года в Excel. Я благодарю вас за прочтение и с нетерпением жду встречи с вами на следующей неделе.