Перейти к содержимому

Как в эксель посчитать возраст по дате рождения

  • автор:

Вычисление возраста

Чтобы использовать эти примеры в Excel, выделите нужные данные в таблице, щелкните их правой кнопкой мыши и выберите пункт Копировать. Откройте новый таблицу, щелкните правой кнопкой мыши ячейку A1 и выберите параметры в > Сохранить форматирование источника.

Результатом является возраст человека — разница между сегодняшним и датами рождения в A2.

В этом примере используются функции ГОДи СЕЙЧАС.

Если в этой ячейке не отображается число, убедитесь, что оно отформатировано как число или общее. Узнайте, как отформатировать ячейку как число или дату.

=ГОД(ТДАТА())-1960

Возраст человека, который родился в 1960 г., без использования ссылок на ячейки.

Если эта ячейка не отображается как число, убедитесь, что она отформатирована как число или общий. Узнайте, как отформатировать ячейку как число или дату.

=ДОЛЯГОДА(A3;A5)

Вычисляет возраст дробной части года между датами в A5 и A3.

Вычисляет возраст между датами в A5 и A6 ( 12,08).

Для учета високосного года, который приходится каждые 4 года, в формуле используется 365,25.

Вычисляет количество дней между двумя датами без использования ссылок на ячейки ( 153).

=ДНИ(СЕГОДНЯ();»15.02.79″)

Количество дней между двумя датами с использованием двух функций даты.

Двумя аргументами функции ДНИ могут быть фактические даты, ссылки на ячейки или другая функция даты и времени, например функция СЕГОДНЯ.

=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3)

Количество месяцев между A3 и текущей датой.

Если эта ячейка не отображается как число, убедитесь, что она отформатирована как число или общий. Узнайте, как отформатировать ячейку как число или дату.

=ЧИСТРАБДНИ(A3;A2;A3:A5)

Количество рабочих дней между двумя датами в A2 и A3 — 107. Рабочими днями не считаются выходные дни и праздники. Последний аргумент (A3:A5) представляет собой количество праздничных дней, которое вычитается из количества рабочих дней.

В этом примере используется функция ЧИСТРАБДНИ.

=ДНИ360(A2;A3;ИСТИНА)

Количество дней между двумя датами в A2 и A3 ( 570). Он основан на 360-дневном году (двенадцать месяцев по 30 дней), типичных для бухгалтерских вычислений.

В этом примере используется функция ДНЕЙ360.

Преобразуем этот формат в формат даты( 02.01.2014, то есть на четыре месяца раньше даты в A3).

В этом примере функция ДАТАМЕС используется для вычисления даты погашения кредитных билетов.

Дополнительные сведения

  • Узнайте обо всех функциях даты и времени.
  • Подробнее об обнаружении ошибок в формулах.
  • Узнайте, как вычислять разницу между датами с использованием функций Google Sheets: DATEDIF, DAYS360 и EDATE.

Как посчитать возраст в Excel по дате рождения: функция РАЗНДАТ (DATEDIF)

возраст в excel

Самый простой способ посчитать возраст в Excel состоит в использовании функции Excel РАЗНДАТ. Эту функцию можно использовать для определение количества лет, месяцев и дней между двумя датами. Поэтому, используя РАЗНДАТ можно посчитать возраст в Excel по дате рождения на сегодняшний день, или на любую другую дату.

Состоит функция РАЗНДАТ из трех аргументов и имеет следующий синтаксис: РАЗНДАТ(нач_дата,кон_дата,единица), где:

  • нач_дата — это дата начала заданного периода;
  • кон_дата — дата окончания периода;
  • единица — тип возвращаемой информации.

Функция РАЗНДАТ (DATEDIF) в Excel: Видео

В качестве единицы может быть:

  • «Y» — Количество полных лет в периоде.
  • «M» — Количество полных месяцев в периоде.
  • «D» — Количество дней в периоде.
  • «MD» — Разница в днях между начальной и конечной датой. Месяцы и годы дат не учитываются. Важно: Не рекомендуется использовать аргумент «MD», так как с ним связаны определенные ограничения.
  • «YM» — Разница в месяцах между начальной и конечной датой. Дни и годы дат не учитываются.
  • «YD» — Разница в днях между начальной и конечной датой. Годы дат не учитываются.

Как посчитать возраст человека в Excel

Как посчитать возраст человека в Excel

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

В рамках этой статьи я покажу, как автоматизировать подсчет возраста человека, имея его дату рождения и сегодняшнее число.

Подготовительные действия

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

Подготовка таблицы для подсчета возраста в Microsoft Excel

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

Поиск ячейки для сегодняшней даты для подсчета возраста в Microsoft Excel

Для этого найдите ту самую пустую ячейку в любом месте таблицы, объявите в ней функцию =СЕГОДНЯ() и нажмите Enter для применения изменений.

Объявление функции сегодняшней даты для подсчета возраста в Microsoft Excel

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

Результат функции сегодняшней даты для подсчета возраста в Microsoft Excel

Если вы желаете узнать о функции СЕГОДНЯ больше, перейдите по ссылке ниже и прочитайте другую мою статью по теме.

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Создание формулы для подсчета возраста в Microsoft Excel

Теперь создадим ту самую формулу, которая и позволит очень быстро посчитать возраст человека, отталкиваясь от двух имеющихся значений (о них шла речь выше). Далее эту формулу можно будет растянуть на всю длину таблицы и добавлять значения, когда это понадобится.

  1. Выберите первую ячейку в столбце «Возраст» и вызовите функцию =ДОЛЯГОДА(. Объявление функции ДОЛЯГОДА для подсчета возраста в Microsoft Excel
  2. Для наглядности перейдем в окно «Аргументы функции», чтобы не возникло проблем с выбором подходящих ячеек. Перегод в аргументы функции ДОЛЯГОДА для подсчета возраста в Microsoft Excel
  3. В качестве начальной даты выступает дата рождения человека, соответственно, нужно кликнуть по ячейке, чтобы она добавилась в аргументы, или можно вписать ее номер в поле вручную. Ввод начальной даты для подсчета возраста в Microsoft Excel
  4. Конечная дата является сегодняшним днем, то есть нужно выбрать значение функции СЕГОДНЯ, которую мы объявили ранее. Ввод конечной даты для подсчета возраста в Microsoft Excel
  5. Базис – это метод вычисления дня, который для возраста должен равняться единице. Ввод базиса функции ДОЛЯГОДА для подсчета возраста в Microsoft Excel
  6. После введения всей информации нажмите Enter и ознакомьтесь с результатом. Результат применения функции ДОЛЯГОДА для подсчета возраста в Microsoft Excel
  7. Вы можете увидеть много цифр после запятой, что для отображения возраста не требуется, поэтому откройте список с инструментами «Число» и нажмите кнопку для удаления знаков после запятой. Удаление лишних знаков после запятой в значении для подсчета возраста в Microsoft Excel
  8. Как видно, все значения в таблице заполнены и отображается правильный возраст. Теперь формулу можно растянуть, но об этом далее. Просмотр итогового результата подсчета возраста в Microsoft Excel

Растягивание формулы для подсчета возраста

Если вы являетесь опытным пользователем Microsoft Excel, растягивание формул с закреплением определенных ячеек не вызовет у вас сложностей. Вы можете пропустить этот этап и выполнить задачу самостоятельно. Тем, кто ранее не выполнял такую операцию, рекомендую ознакомиться со следующей инструкцией. Однако сначала скажу, что вы можете растянуть СЕГОДНЯ на весь столбец, чтобы не закреплять ячейку.

Растягивание функции СЕГОДНЯ для подсчета возраста в Microsoft Excel

Однако отображение одной и той же даты на целый столбец как минимум портит эстетический вид таблицы, а как максимум – не всегда является возможным. Поэтому лучше закрепить ячейку, что осуществляется так:

  1. Выберите поле с формулой расчета возраста и добавьте между буквой и цифрой ячейки конечной даты знаки $, которые обозначают константу. Так вы закрепите всю ячейку, а не только столбец или ряд. В итоге номер будет выглядеть, например, как $A$1. Закрепление ячейки с конечной датой для подсчета возраста в Microsoft Excel
  2. Затем зажмите левую кнопку мыши у правой границы ячейки и потяните ее на всю длину таблицы до конца перечисления людей. Растягивание функции ДОЛЯГОДА для подсчета возраста в Microsoft Excel
  3. Убедитесь в том, что все возрасты отображаются корректно. Если нет, еще раз проверьте то, правильно ли вы закрепили ячейку. Результат растягивания функции ДОЛЯГОДА для подсчета возраста в Microsoft Excel

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

Добавление знака после запятой для подсчета возраста в Microsoft Excel

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

Как вычислить возраст до 01.01.1900 в Excel

Хотя формулы дат Microsoft Excel могут использовать только даты, введенные в период с 1.01.1900 до 31.01.9999, вы можете использовать пользовательскую функцию Microsoft Visual Basic для приложений для расчета возраста (в годах) человека или того, что было впервые создано до 1 января 1900 г.

Использование макроса для вычисления возраста

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

Excel вводит даты до 01.01.1900 в качестве текста. Эта функция работает для дат, введенных в виде текста, начиная с 1/1/0001, обычных дат и может обрабатывать даты, когда начальная дата до 1900 и конечная дата после 1900. Чтобы использовать макрос, выполните следующие действия:

  1. Запустите Excel. Просмотрите лист, на котором вы хотите использовать функцию.
  2. Нажмите клавиши ALT+F11, чтобы перейти в редактор Visual Basic.
  3. В меню Вставка выберите Модуль.
  4. Введите следующий код в модуле:

' This is the initial function. It takes in a start date and an end date. Public Function AgeFunc(stdate As Variant, endate As Variant) ' Dim our variables. Dim stvar As String Dim stmon As String Dim stday As String Dim styr As String Dim endvar As String Dim endmon As String Dim endday As String Dim endyr As String Dim stmonf As Integer Dim stdayf As Integer Dim styrf As Integer Dim endmonf As Integer Dim enddayf As Integer Dim endyrf As Integer Dim years As Integer ' This variable will be used to modify string length. Dim fx As Integer fx = 0 ' Calls custom function sfunc which runs the Search worksheet function ' and returns the results. ' Searches for the first "/" sign in the start date. stvar = sfunc("/", stdate) ' Parse the month and day from the start date. stmon = Left(stdate, sfunc("/", stdate) - 1) stday = Mid(stdate, stvar + 1, sfunc("/", stdate, sfunc("/", stdate) + 1) - stvar - 1) ' Check the length of the day and month strings and modify the string ' length variable. If Len(stday) = 1 Then fx = fx + 1 If Len(stmon) = 2 Then fx = fx + 1 ' Parse the year, using information from the string length variable. styr = Right(stdate, Len(stdate) - (sfunc("/", stdate) + 1) - stvar + fx) ' Change the text values we obtained to integers for calculation ' purposes. stmonf = CInt(stmon) stdayf = CInt(stday) styrf = CInt(styr) ' Check for valid date entries. If stmonf < 1 Or stmonf >12 Or stdayf < 1 Or stdayf >31 Or styrf < 1 Then AgeFunc = "Invalid Date" Exit Function End If ' Reset the string length variable. fx = 0 ' Parse the first "/" sign from the end date. endvar = sfunc("/", endate) ' Parse the month and day from the end date. endmon = Left(endate, sfunc("/", endate) - 1) endday = Mid(endate, endvar + 1, sfunc("/", endate, sfunc("/", endate) + 1) - endvar - 1) ' Check the length of the day and month strings and modify the string ' length variable. If Len(endday) = 1 Then fx = fx + 1 If Len(endmon) = 2 Then fx = fx + 1 ' Parse the year, using information from the string length variable. endyr = Right(endate, Len(endate) - (sfunc("/", endate) + 1) - endvar + fx) ' Change the text values we obtained to integers for calculation ' purposes. endmonf = CInt(endmon) enddayf = CInt(endday) endyrf = CInt(endyr) ' Check for valid date entries. If endmonf < 1 Or endmonf >12 Or enddayf < 1 Or enddayf >31 Or endyrf < 1 Then AgeFunc = "Invalid Date" Exit Function End If ' Determine the initial number of years by subtracting the first and ' second year. years = endyrf - styrf ' Look at the month and day values to make sure a full year has passed. If stmonf >endmonf Then years = years - 1 End If If stmonf = endmonf And stdayf > enddayf Then years = years - 1 End If ' Make sure that we are not returning a negative number and, if not, ' return the years. If years < 0 Then AgeFunc = "Invalid Date" Else AgeFunc = years End If End Function ' This is a second function that the first will call. ' It runs the Search worksheet function with arguments passed from AgeFunc. ' It is used so that the code is easier to read. Public Function sfunc(x As Variant, y As Variant, Optional z As Variant) sfunc = Application.WorksheetFunction.Search(x, y, z) End Function 
 A1 01/01/1887 A2 02/02/1945 

В ячейке A3 введите следующую формулу:

=AgeFunc(startdate,enddate) 

Проверьте допустимость всех дат до 1.01.1900. Даты, введенные как текст, не проверяются в Excel.

Ссылки

Дополнительные сведения об использовании примера кода, приведенного в этой статье, см. в статье о запуске примера кода из статей базы знаний в Office 2010.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *