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

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как рассчитать возраст до 1/1/1900 в Excel?

Author Sun Last modified

В Excel даты до 1/1/1900 не могут быть правильно введены и рассчитаны. Если вы хотите рассчитать возраст человека, который родился и умер до 1/1/1900, то в Excel это обычно не даст правильного результата. Однако в этой статье описана хитрость, которая поможет вам рассчитать возраст до 1/1/1900 в Excel.

Расчет возраста до 1/1/1900 с помощью VBA

Расчет возраста по дню рождения с помощью Kutools для Excel good idea3


arrow blue right bubble Расчет возраста до 1/1/1900 с помощью VBA

Вот код VBA, который поможет вам быстро рассчитать возраст до 1/1/1900.

1. Выберите пустую ячейку и введите день рождения человека, затем выберите другую ячейку, чтобы ввести сегодняшнюю дату или дату смерти человека, если это необходимо. Смотрите скриншот:
sample data

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 , чтобы получить возраст, и перетащите маркер автозаполнения на нужные ячейки. Смотрите скриншот:
apply user defined function to get the result

Примечание: Этот VBA может рассчитывать возраст только для дат в формате мм/дд/гггг, например, 23/6/1845.


arrow blue right bubble Расчет возраста по дню рождения с помощью Kutools для Excel

Если даты дней рождения находятся после 1/1/1900, вы можете применить утилиту Помощник даты и времени из Kutools для Excel, которая может быстро рассчитать возраст по заданным дням рождения.

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

После бесплатной установки Kutools для Excel выполните следующие действия:

1. Выберите пустую ячейку, куда вы хотите вывести возраст, и нажмите Kutools > Помощник формул > Помощник даты и времени. Смотрите скриншот:
 click Date & Time helper feature of kutools

2. Затем в диалоговом окне Помощник даты и времени поставьте галочку напротив опции Возраст, выберите день рождения, на основе которого нужно рассчитать возраст, и введите его в текстовое поле Дата рождения По умолчанию ячейка будет выбрана как абсолютная ссылка, но вы можете изменить её на относительную ссылку, затем отметьте опцию Сегодня и выберите тип результата, который вы хотите показать, из раскрывающегося списка Тип вывода результата. Смотрите скриншот:
specify options in the dialog box

3. Нажмите Ok , чтобы применить эту формулу, и теперь вы можете видеть, что возраст отображен. При необходимости вы можете перетащить маркер автозаполнения на другие ячейки, где требуется эта формула. Смотрите скриншот:
the age has been calculated

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

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