Как рассчитать возраст до 1/1/1900 в Excel?
В Excel даты до 1/1/1900 не могут быть правильно введены и рассчитаны. Если вы хотите рассчитать возраст человека, который родился и умер до 1/1/1900, то в Excel это обычно не даст правильного результата. Однако в этой статье описана хитрость, которая поможет вам рассчитать возраст до 1/1/1900 в Excel.
Расчет возраста до 1/1/1900 с помощью VBA
Расчет возраста по дню рождения с помощью Kutools для Excel
Расчет возраста до 1/1/1900 с помощью VBA
Вот код VBA, который поможет вам быстро рассчитать возраст до 1/1/1900.
1. Выберите пустую ячейку и введите день рождения человека, затем выберите другую ячейку, чтобы ввести сегодняшнюю дату или дату смерти человека, если это необходимо. Смотрите скриншот:
2. Затем нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
3. Нажмите Вставить > Модуль, вставьте следующий код VBA в новое окно Модуля.
VBA: Расчет возраста до 1/1/1900
Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice20160429
Dim xSMonth As Integer
Dim xSDay As Integer
Dim xSYear As Integer
Dim xEMonth As Integer
Dim xEDay As Integer
Dim xEYear As Integer
Dim xAge As Integer
If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
xAge = xEYear - xSYear
If xSMonth > xEMonth Then
xAge = xAge - 1
ElseIf xSMonth = xEMonth Then
If xSDay > xEDay Then xAge = xAge - 1
End If
If xAge < 0 Then
AgeFunc = "Invalid Date"
Else
AgeFunc = xAge
End If
End Function
Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
Dim I As Long
Dim K As Long
Y = 0
M = 0
D = 0
GetDate = True
On Error Resume Next
I = InStr(1, DateStr, "/")
M = CLng(Left(DateStr, I - 1))
D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
GetDate = False
End If
End Function
4. Выберите пустую ячейку, здесь это C2, и введите эту формулу =AgeFunc(A2,B2) (A2 — это день рождения, а B2 — конечная дата), и нажмите Enter , чтобы получить возраст, и перетащите маркер автозаполнения на нужные ячейки. Смотрите скриншот:
Примечание: Этот VBA может рассчитывать возраст только для дат в формате мм/дд/гггг, например, 23/6/1845.
Расчет возраста по дню рождения с помощью Kutools для Excel
Если даты дней рождения находятся после 1/1/1900, вы можете применить утилиту Помощник даты и времени из Kutools для Excel, которая может быстро рассчитать возраст по заданным дням рождения.
После бесплатной установки Kutools для Excel выполните следующие действия:
1. Выберите пустую ячейку, куда вы хотите вывести возраст, и нажмите Kutools > Помощник формул > Помощник даты и времени. Смотрите скриншот:
2. Затем в диалоговом окне Помощник даты и времени поставьте галочку напротив опции Возраст, выберите день рождения, на основе которого нужно рассчитать возраст, и введите его в текстовое поле Дата рождения По умолчанию ячейка будет выбрана как абсолютная ссылка, но вы можете изменить её на относительную ссылку, затем отметьте опцию Сегодня и выберите тип результата, который вы хотите показать, из раскрывающегося списка Тип вывода результата. Смотрите скриншот:
3. Нажмите Ok , чтобы применить эту формулу, и теперь вы можете видеть, что возраст отображен. При необходимости вы можете перетащить маркер автозаполнения на другие ячейки, где требуется эта формула. Смотрите скриншот:
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек