Как преобразовать месяцы в годы и месяцы в Excel?

Работая с листом Excel, пробовали ли вы когда-нибудь преобразовать значение в месяцах в формат «годы и месяцы»? Например, 56 месяцев можно представить как «4 года и 8 месяцев», как показано на изображении слева. Такое преобразование делает данные гораздо понятнее — особенно при подготовке отчётов о длительности проектов или трудовом стаже. В этой статье мы рассмотрим практичные способы выполнения этой задачи в Excel и разберём, в каких ситуациях каждый из них окажется наиболее полезным.
Преобразование месяцев в годы и месяцы с помощью формулы
Преобразование месяцев в годы и месяцы с помощью макроса VBA
Преобразование месяцев в годы и месяцы с помощью формулы
Когда вы хотите преобразовать числовое значение, представляющее месяцы, в более понятный период, выраженный в годах и месяцах, формулы Excel позволяют эффективно решить эту задачу. Этот метод особенно удобен для повседневных задач, небольших наборов данных или когда вы хотите избежать использования кода. Формулы динамичны: результат автоматически обновляется при изменении входных данных.
Чтобы напрямую преобразовать месяцы в годы и месяцы с помощью формулы, воспользуйтесь следующим подходом: полные годы получаются делением общего количества месяцев на 12, а остаток от деления покажет оставшиеся месяцы.
Скопируйте и вставьте следующую формулу в пустую ячейку:
После ввода формулы нажмите Enter, чтобы увидеть результат в годах и месяцах. Чтобы применить формулу к дополнительным строкам, просто протяните маркер заполнения вниз по списку — и каждое значение мгновенно преобразуется. Массовая обработка никогда не была такой лёгкой!

Советы и меры предосторожности:
- Если количество месяцев меньше 12, формула отобразит «0 лет и X месяцев».
- Отрицательные и нецелые значения могут привести к непредвиденным результатам — убедитесь, что исходные данные корректны и отформатированы как числа.
- Чтобы при отсутствии ввода отображалась пустая ячейка, используйте функцию ЕСЛИ и избегайте появления надписи «0 лет и 0 месяцев».
Типичные проблемы и их решение:
- Если вы видите ошибку #ЗНАЧ!, убедитесь, что указанная ячейка содержит корректное числовое значение.
- Если вы хотите настроить формат вывода, измените текст внутри кавычек в формуле так, как вам нужно.
Этот метод с использованием формулы идеально подходит для динамического преобразования, когда значения могут изменяться, а также для пользователей, не имеющих опыта работы с программированием или макросами. Однако для очень больших наборов данных или при частых повторяющихся преобразованиях более эффективным окажется автоматизированный подход. Ниже представлено решение на основе макроса.
Преобразование месяцев в годы и месяцы с помощью макроса VBA
Если вам регулярно приходится преобразовывать списки месяцев в формат «годы и месяцы» или вы работаете с объёмными наборами данных, макрос на VBA в Excel поможет автоматизировать эту задачу — экономя время и минимизируя риск ошибок. Особенно ценным такое решение становится при обработке нескольких столбцов или применении логики к новым данным в рамках повторяющегося рабочего процесса.
1. Откройте редактор VBA, щёлкнув Разработчик > Visual Basic. Если вкладка «Разработчик» не отображается, её можно включить через «Параметры Excel» > «Настроить ленту». После открытия редактора нажмите Вставка > Модуль. В появившемся окне модуля скопируйте и вставьте следующий код:
Sub ConvertMonthsToYearsMonths()
Dim rng As Range
Dim cell As Range
Dim years As Integer
Dim months As Integer
Dim outputCol As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.InputBox("Select the range of months to convert", xTitleId, Selection.Address, Type:=8)
If rng Is Nothing Then Exit Sub
outputCol = rng.Columns(rng.Columns.Count).Column + 1
For Each cell In rng
If IsNumeric(cell.Value) And cell.Value >= 0 Then
years = Int(cell.Value / 12)
months = cell.Value Mod 12
cell.Offset(0, rng.Columns.Count).Value = years & " years and " & months & " months"
Else
cell.Offset(0, rng.Columns.Count).Value = ""
End If
Next
End Sub 2. Чтобы запустить макрос, нажмите кнопку
или клавишу F5. Появится диалоговое окно с запросом на выбор диапазона месяцев для преобразования (например, A2:A20). Выделите нужный диапазон и нажмите «ОК».
Макрос автоматически запишет результат в формате «X лет и Y месяцев» в столбец сразу справа от выделенного диапазона. Например, если вы выбрали диапазон A2:A20, результаты появятся в B2:B20.
Примечания и советы по использованию:
- Убедитесь, что выделенный диапазон содержит корректные положительные числа, соответствующие месяцам. Пустая ячейка будет воспринята как ноль, и результатом станет «0 лет и 0 месяцев». Нечисловые или отрицательные значения могут привести к пустому результату или ошибке.
- Макрос выводит результаты в столбец сразу справа от выбранного диапазона. Перед запуском макроса убедитесь, что этот столбец пуст, чтобы избежать перезаписи данных.
- Этот макрос можно запускать многократно — идеально для пакетной обработки или при поступлении новых данных.
- Отмена (Ctrl+Z) не работает для действий, выполненных с помощью VBA, поэтому всегда создавайте резервные копии важных данных перед запуском макросов.
- Если ваши данные содержат отрицательные или дробные значения месяцев, они будут обработаны как пустые (см. условия в коде VBA; при необходимости измените их).
Этот подход с использованием VBA удобен для пользователей, которым необходимо выполнять повторяющиеся преобразования, обрабатывать сразу множество строк или автоматизировать задачи повышения продуктивности. Одним щелчком мыши вы можете преобразовать целые наборы данных и оптимизировать свой рабочий процесс. Однако, если вы новичок в VBA, убедитесь, что макросы включены, и проконсультируйтесь с администратором ИТ, если в вашей среде действуют ограничения на использование макросов.
Устранение неполадок:
- Если при запуске макроса возникает ошибка, убедитесь, что вкладка «Разработчик» включена и макросы разрешены в настройках Excel.
- Если результаты будут перезаписывать существующие данные, убедитесь, что столбец рядом с вашими данными пуст перед запуском макроса.
- Если вы случайно выбрали не тот диапазон, просто запустите макрос ещё раз и укажите нужный диапазон заново.
В заключение, оба метода — с использованием формулы и макроса VBA — позволяют легко и эффективно преобразовывать месяцы в удобочитаемый формат «годы и месяцы». Выберите тот, который лучше всего соответствует объёму ваших данных и особенностям рабочего процесса. Для расширенной автоматизации вы можете дополнительно адаптировать код VBA под свои специфические требования к форматированию или выводу.
Другие связанные статьи:
- Сравнение двух дат только по месяцу и году в Excel
- Как в Excel сравнивать даты только по месяцу и году, игнорируя день, чтобы результат отображался как ИСТИНА при совпадении месяца и года и ЛОЖЬ — в противном случае, как показано на следующем снимке экрана?
- Суммирование значений на основе месяца и года в Excel
- Если у вас есть диапазон данных, где в столбце A указаны даты, а в столбце B — количество заказов, и вам нужно просуммировать значения по заданному месяцу и году (например, рассчитать общее число заказов за январь 2016 года, как показано ниже), в этой статье я покажу несколько эффективных приёмов для решения такой задачи в Excel.
- Преобразование чисел от 1 до 12 в названия месяцев в Excel
- Например, вы получили таблицу продаж, в которой месяцы отображаются цифрами, и вам нужно преобразовать эти цифры в обычные названия месяцев, как показано на снимке экрана ниже. Есть идеи? В этой статье мы предложим два решения.
- Расчёт оставшихся дней в месяце или году в Excel
- В некоторых случаях вам может понадобиться узнать, сколько дней осталось до конца месяца или года. Допустим, сегодня 12 октября 2014 года: до конца октября остаётся 19 дней, а до конца 2014 года — 80 дней. Подробнее об этом читайте в статье ниже.
- Добавление количества лет, месяцев и дней к дате в таблицах Google
- В этой статье я покажу, как легко добавить нужное количество лет, месяцев или дней к любой дате в Таблицах Google.
Лучшие инструменты для повышения продуктивности в офисе
Kutools для Excel решает большинство ваших задач и повышает продуктивность на 80 %
- Супер строка формул (удобное редактирование многострочного текста и формул); Режим чтения (удобный просмотр и редактирование большого количества ячеек); Вставка в диапазон фильтрации…
- Объединение ячеек, строк или столбцов с сохранением данных; разделение содержимого ячеек;Объединение дублирующихся строк с суммированием или усреднением… предотвращение дублирования записей в ячейках;Сравнение диапазонов…
- Выбор дубликатов или уникальных строк; выбор пустых строк (все ячейки пустые); улучшенный и нечёткий поиск по множеству книг; случайный выбор…
- Точная копия нескольких ячеек без изменения ссылок в формулах; автоматическое создание ссылок на несколько листов; вставка маркеров, флажков и многое другое…
- Избранные и быстрая вставка формул, диапазонов, диаграмм и изображений; Защита ячеек паролем; Создание списка рассылкии отправка электронных писем…
- Извлечение текста, добавление текста, удаление символов в определённой позиции, удаление пробелов; создание и печать статистики по странице данных; преобразование между содержимым ячеек и примечаниями…
- Суперфильтр (сохранение и применение схем фильтрации к другим листам); расширенная сортировка по месяцам, неделям, дням, частоте и другим параметрам; специальный фильтр по полужирному, курсиву…
- Объединение книг и листов; объединение таблиц на основе ключевого столбца; разделение данных на несколько листов; пакетное преобразование XLS, XLSX и PDF…
- Сводная таблица: группировка по номеру недели, дню недели и многому другому… Показ разблокированных и заблокированных ячеек разными цветами; Выделение ячеек, содержащих формулы или имена…

- Включите вкладки для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — это удобнее, чем использовать отдельные окна.
- Повышает продуктивность на 50 % и экономит сотни кликов мышью каждый день!
