Как преобразовать дни в месяцы в Excel
Вы можете использовать следующую формулу в Excel для преобразования дней в месяцы:
=( B1 - A1 )/(365/12)
Эта формула вычисляет количество месяцев между ячейкой B1 (дата окончания) и ячейкой A1 (дата начала).
В следующем примере показано, как использовать эту формулу на практике.
Пример: преобразование дней в месяцы в Excel
Предположим, у нас есть следующий список дат начала и окончания в Excel:

Мы могли бы использовать следующую формулу для расчета количества дней между каждой датой начала и окончания:
B2 - A2
Мы можем ввести эту формулу в ячейку C2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце C:

Столбец C показывает разницу (в днях) между каждой датой начала и окончания.
Однако вместо этого мы могли бы использовать следующую формулу для расчета разницы между каждой датой начала и окончания в месяцах:
=( B2 - A2 )/(365/12)
Мы можем ввести эту формулу в ячейку C2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце C:

Столбец C показывает количество месяцев (включая десятичные разряды) между каждой датой начала и окончания.
- Между 01.01.2020 и 18.01.2020 0,5589 месяца.
- Между 01.02.2020 и 05.04.2020 2,1041 месяца.
- Между 01.03.2020 и 06.03.2020 0,1644 месяца.
Обратите внимание, что вместо этого вы можете использовать эту формулу для расчета количества месяцев между двумя датами, если вы хотите предположить, что 30 дней представляют собой средний месяц:
=( B2 - A2 )/30
Однако это не так точно, как использование (365/12) в качестве знаменателя в формуле.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Функция РАЗНДАТ
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 SharePoint Foundation 2010 Excel 2010 SharePoint Server 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Windows SharePoint Services 3.0 Еще. Меньше
Вычисляет количество дней, месяцев или лет между двумя датами.
Предупреждение: Функция РАЗНДАТ предлагается в Excel для поддержки старых книг Lotus 1-2-3. В некоторых ситуациях она может выдавать неправильные результаты. Дополнительные сведения см. в разделе «Известные проблемы» в этой статье.
Синтаксис
РАЗНДАТ(нач_дата,кон_дата,единица)
Дата, которая представляет первую или даты начала заданного периода. Даты можно вводить в виде текстовых строк в кавычках (например, «30.1.2001»), в виде порядковых номеров (например, 36921 представляет 30 января 2001 г., если используется система дат 1900) или как результаты вычисления других формул или функций (например ДАТАЗНАЧ(«30.1.2001»)).
Дата окончания периода.
Тип возвращаемой информации, где:
Возвращаемое значение
Количество полных лет в периоде.
Количество полных месяцев в периоде.
Количество дней в периоде.
Разница в днях между начальной и конечной датой. Месяцы и годы дат не учитываются.
Важно: Не рекомендуется использовать аргумент «MD», так как с ним связаны определенные ограничения. См. раздел «Известные проблемы» ниже.
Разница в месяцах между начальной и конечной датой. Дни и годы дат не учитываются.
Разница в днях между начальной и конечной датой. Годы дат не учитываются.
Замечания
- Даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 447 дней.
- Функция РАЗНДАТ полезна в формулах расчета возраста.
- Если онtart_date больше, чем end_date,результат будет #NUM!.
Примеры
Описание (результат)
Два полных года в периоде (2).
440 дней между 1 июня 2001 г. и 15 августа 2002 г. (440)
75 дней между 1 июня и 15 августа без учета годов дат (75)
Известные проблемы
При использовании аргумента «MD» результатом может быть отрицательное число, нуль или неверное значение. Если вы пытаетесь вычислить оставшиеся дни после последнего полного месяца, вот как можно это сделать:

Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Как перевести количество дней в годы месяцы и дни excel
Здравствуйте!
Есть две даты, между которыми можно определить количество дней. Далее нужно эти дни выразить через полные годы, месяцы и дни с учетом того, что в год может быть високосным, а кол-во дней в месяцах тоже различается.
возможно ли такой перевод выразить через формулу?
Прикрепленные файлы
- post_182571.xls (16.5 КБ)
10.12.2010 10:48:18
Может так попробуете?
Прикрепленные файлы
- post_182594.xls (17 КБ)
10.12.2010 11:00:28
Спасибо, то, что надо!
Пользователь
Сообщений: 64 Регистрация: 01.01.1970
14.07.2011 15:07:13
тоже очень помогло спс
Пользователь
Сообщений: 3906 Регистрация: 22.12.2012
14.07.2011 15:28:16
Не всегда РАЗНДАТ дает достоверный результат
Прикрепленные файлы
- post_241685.xls (23 КБ)
Страницы: 1
Читают тему
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Developing.ru
Универсальная формула перевода дат в годы, месяцы, недели.
Весь MS Office, программирование на Visual Basic for Applications и MS VB
9 сообщений • Страница 1 из 1
Brat2005 Сообщения: 61 Зарегистрирован: 26 сен 2005, 14:33
. дни, часы, минуты секунды.
Возможно ли создать такую формулу?
То есть, например, вводятся 2 значения:
14.01.1946 23:48:51
и
12.12.2005 16:00:02
Можно ли в Экселе написать такую формулу (или несколько), чтобы введя две даты можно было на выходе (в разных ячейках) получить целое число: лет, месяцев, недель, дней, часов, минут, секунд.
Naeel Maqsudov Сообщения: 2551 Зарегистрирован: 20 фев 2004, 19:17 Откуда: Moscow, Russia Контактная информация:
Какое название соответствует DATEDIF в русифицированном офисе не помню.
Найдите у себя файл Funcs.xls и посмотрите там русское название.
Avsha Сообщения: 664 Зарегистрирован: 08 сен 2005, 13:47 Откуда: KZ
Или то же самое, если не хотите скачивать:
$C$6 = 15.12.2005 00:00:00
$C$7 = 15.12.2005 10:15:15
$C$9=$C$7-$C$6
Всего:
Лет $E$9 =ЦЕЛОЕ($C$9/365)
Дней $E$10=ЦЕЛОЕ($C$9)
Часов $E$11=ЦЕЛОЕ($C$9*24)
Минут $E$12=ЦЕЛОЕ($C$9*24*60)
Секунд $E$13=ЦЕЛОЕ($C$9*24*60*60)
В сумме:
Лет $F$9 =ЦЕЛОЕ($C$9/365)
Дней $F$10=$E$10-$F$9*365
Часов $F$11=$E$11-$F$9*365*24-$F$10*24
Минут $F$12=$E$12-$F$9*365*24*60-$F$10*24*60-$F$11*60
Секунд $F$13=$E$13-$F$9*365*24*60*60-$F$10*24*60*60-$F$11*60*60-$F$12*60
Naeel Maqsudov Сообщения: 2551 Зарегистрирован: 20 фев 2004, 19:17 Откуда: Moscow, Russia Контактная информация:
Avsha, зачем, когда есть одна функция которая все это умеет, которая учтывает, что в некоторых годах бывает 366 дней, а также некоторые другие особенности? Например, правильно вычисляет разницу в месяцах.
Avsha Сообщения: 664 Зарегистрирован: 08 сен 2005, 13:47 Откуда: KZ
Функции работы с датой и временем, приведенные в справке —
ВРЕМЗНАЧ
ВРЕМЯ
ГОД
ДАТА
ДАТАЗНАЧ
ДАТАМЕС
ДЕНЬ
ДЕНЬНЕД
ДНЕЙ360
ДОЛЯГОДА
КОНМЕСЯЦА
МЕСЯЦ
МИНУТЫ
РАБДЕНЬ
СЕГОДНЯ
СЕКУНДЫ
ТДАТА
ЧАС
ЧИСТРАБДНИ
Вы наверно имели в виду функцию ДОЛЯГОДА — я у себя ее не нашел в функциях и поэтому привел вариант попроще,
ДОЛЯГОДА
Возвращает долю года, которую составляет количество дней между двумя датами.
Возврат функцией значения ошибки #ИМЯ? свидетельствует о необходимости установить библиотеку msowcf.dll.
ДОЛЯГОДА(нач_дата;кон_дата;базис)
Нач_дата — это дата, соответствующая начальной дате.
Кон_дата — это дата, соответствующая конечной дате.
Базис — это число от 0 до 4, которое определяет используемый способ вычисления дня.
Если необходимо, можно написать еще пользовательсую функцию на VBA с использованием DateDiff.
Naeel Maqsudov Сообщения: 2551 Зарегистрирован: 20 фев 2004, 19:17 Откуда: Moscow, Russia Контактная информация:
В оригинальном релизе есть функция DATEDIF.
Если офис русифицированный (или локализованный для другой страны), то среди его файлов есть Funcs.xls.
Этот файл показывает соответствие оригинальных и локализованных названий функций, а также содержит гиперссылки на соответствующие разделы справочной системы.
Черт. Щас пойду русский офис где нибудь поищу.
Naeel Maqsudov Сообщения: 2551 Зарегистрирован: 20 фев 2004, 19:17 Откуда: Moscow, Russia Контактная информация:
Функция называется РАЗНДАТ
Хм. Прикольно! В русском офисе по ней нет хелпа.
Calculates the number of days, months, or years between two dates. This function is provided for compatibility with Lotus 1-2-3.
Start_date is a date that represents the first, or starting, date of the period. Dates may be entered as text strings within quotation marks (for example, «2001/1/30»), as serial numbers (for example, 36921, which represents January 30, 2001, if you’re using the 1900 date system), or as the results of other formulas or functions (for example, DATEVALUE(«2001/1/30»)). For more information about date serial numbers, see NOW.
End_date is a date that represents the last, or ending, date of the period.
Unit is the type of information you want returned.
Unit Returns
«Y» The number of complete years in the period.
«M» The number of complete months in the period.
«D» The number of days in the period.
«MD» The difference between the days in start_date and end_date. The months and years of the dates are ignored.
«YM» The difference between the months in start_date and end_date. The days and years of the dates are ignored.
«YD» The difference between the days of start_date and end_date. The years of the dates are ignored.
Microsoft Excel stores dates as sequential serial numbers so that it can perform calculations on them. Excel stores January 1, 1900, as serial number 1 if your workbook uses the 1900 date system. If your workbook uses the 1904 date system, Excel stores January 1, 1904, as serial number 0 (January 2, 1904, is serial number 1). For example, in the 1900 date system, Excel stores January 1, 1998, as serial number 35796 because it is 35,795 days after January 1, 1900. Learn more about how Microsoft Excel stores dates and times.
Excel for Windows and Excel for the Macintosh use different date systems as their default. For more information, see NOW.
Examples
DATEDIF(«2001/1/1″,»2003/1/1″,»Y») equals 2, or two complete years in the period.
DATEDIF(«2001/6/1″,»2002/8/15″,»D») equals 440, or 440 days between June 1, 2001, and August 15, 2002.
DATEDIF(«2001/6/1″,»2002/8/15″,»YD») equals 75, or 75 days between June 1 and August 15, ignoring the years of the dates.
DATEDIF(«2001/6/1″,»2002/8/15″,»MD») equals 14, or the difference between 1 and 15 — the day of start_date and the day of end_date — ignoring the months and the years of the dates.
