Когда вы работаете с таблицей, содержащей даты, которые нужно не пропустить при их наступлении, неизбежно возникает вопрос о том, как это гарантированно сделать. В Excel можно использовать различные средства для создания «напоминалки». Прочитав эту статью, вы узнаете о них.
Для наглядности возьмем совсем несложный пример. Предположим, в некоторой таблице отмечается дата регистрации заказа и дата, когда он должен быть выполнен. За сутки до даты выполнения необходимо перезвонить клиенту. Какие варианты «напоминалок» можно использовать?
Во-первых, можно таблицу раскрасить. Например, строки, относящиеся к заказу, по поводу которого пора звонить, должны окрашиваться красным. Строки заказов, срок исполнения которых отстоит от сегодняшней даты более чем на 1 день, должны быть окрашены голубым. Строки заказов, срок исполнения которых уже прошел, вообще не окрашиваются. Последовательность действий для реализации этой «задумки»:
- выделите столбцы таблицы (можно целиком, чтобы не ограничивать количество строк с данными);
- в меню команды Условное форматирование (вкладка Главная) выберите строку Управление правилами;
- создайте правило в виде формул: «=$C2-СЕГОДНЯ()>1» (формат: заливка голубым) и «=$C2-СЕГОДНЯ()=1» (формат: заливка красным);
- примените созданные правила.
Во-вторых, можно создать дополнительный столбец для выдачи сообщений о необходимости звонить клиенту (конечно, если разрешается менять структуру таблицы). Плюс этого решения будет в том, что можно включить фильтр по дополнительному столбцу и просмотреть только строки с напоминанием. Последовательность действий в этом случае:
- вставьте дополнительный столбец, например, перед таблицей;
- в первую ячейку столбца проверки вставьте формулу: «=ЕСЛИ(D2-СЕГОДНЯ()=1;»Позвонить»;» «)«;
- скопируйте ее в остальные ячейки столбца;
- установите фильтр (вкладка Данные, кнопка Фильтр);
- используйте фильтр для столбца Напоминание.
После того, как всем позвонили, снимите фильтр со столбца Напоминание и продолжайте ввод данных о новых заказах.
В-третьих, можно формировать список звонков с помощью расширенного фильтра.
Плюсом этого решения является создание отдельного списка напоминаний. Минусом — необходимость удаления сформированного списка перед формированием нового на следующий день. Но эту проблему можно решить, создав макрос.
В статье было предложено три варианта создания «напоминалки». Конечно, возможны и другие, более сложные варианты. Но даже рассмотренные приемы существенно облегчат вашу ежедневную работу.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Чтобы преобразовать даты в текстовом формате дд мм гг в истинную дату в формате мм дд гг, вы можете использовать формулу, основанную на функции ДАТА. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Есть несколько вариантов. Дата в этом формате может включать в себя 4-значный год (гггг) или год с двумя цифрами (гг), а номер дня может быть заполнен нулями или может быть не дополнен тремя цифрами. Например, на дату 21 января 2017 года вы можете увидеть:
Функции дата и время Excel
- выделите диапазон, в который пользователь будет вводить данные;
- вызовите инструмент Условное форматирование ( Главная/ Стили/ Условное форматирование/ Управление правилами ). Откроется окно Диспетчер правил условного форматирования ;
- нажмите Создать правило ;
- выберите Форматировать только ячейки, которые содержат ;
- в выпадающем списке выберите Равно ;
- введите формулу =СЕГОДНЯ() ;
- нажав кнопку Формат выберите, например, красный шрифт;
Вы можете использовать TEКСТ для преобразования дат или любого числового значения в фиксированном формате. Вы можете просмотреть доступные форматы, перейдя в меню «Формат ячеек» (Win: Ctrl + 1, Mac: Cmd + 1) и выбрав различные категории в списке слева.
Вам также могут быть интересны следующие статьи
Можно ли сздать формулу дата не используя в ней информацию из других ячеек (=ДАТА(A2;B2;C2)), а используя в ней числа которые не ссылаються на другие ячейки (=ДАТА(2014;08;26))?
Не обязательно использовать ссылки на другие ячейки, абсолютные значения тоже подойдут
А как преобразовать в формат гггг-мм-дд уже внесенные даты рождения (20 тыс шт) в формате дд.мм.гггг ? На установку формата ячеек, в т.ч. и с установкой фолрмата системного времени через часы) не реагирует. Информация нужна срочно.
28/05/2015
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Если порядковое число, находящееся за пределами доступных для даты числовых значений, попытаться привести к формату даты, вместо значения будет отображаться ряд знаков решетки. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Порядковое число одной минуты эквивалентно приблизительно 0,00069444. Формула, приведенная ниже, вычисляет этот номер следующим образом: 24 часа умножается на 60 минут, а затем 1 делится на полученный результат. Таким образом, в знаменателе получается количество минут в одном дне (1440).
Функция ДАТА в Excel
Пример использования:
=СЕКУНДЫ(«07:23:32») – функция вернет значение 32.
=СЕКУНДЫ(0,999988425925926) – возвращает значение 59, так как 0,999988425925926 является числовым представлением времени 23:59:59.
DAYS 360
Функция DAYS 360 возвращает количество дней между двумя датами на основе 360-дневного искусственного года (двенадцать 30-дневных месяцев). Синтаксис этой функции следующий:
Американский метод (NASD). Если начальная дата является 31-м числом месяца, то она полагается равной 30-ому числу того же месяца. Если конечная дата является 31-м числом месяца и начальная дата меньше, чем 30-ое число, то конечная дата полагается равной 1-ому числу следующего месяца, в противном случае конечная дата полагается равной 30-ому числу того же месяца.
Европейский метод. Начальная и конечная даты, которые приходятся на 31-ое число месяца, полагаются равными 30-ому числу того же месяца.
Укажите в ячейке A 1 дату 30.07.09. В ячейке A 2 укажите дату 01.08.09. Тип будет 1, то есть Европейский.
Несмотря на то, что фактически в июле 31 день, функция возвратит значение 1 день.
В Microsoft Excel аналог этой функции называется ДНЕЙ360.
Как в excel сделать напоминание по дате из таблицы
Может быть, на вашем предприятии тысячи сотрудников, и в день их рождения вы захотите отправить им поздравительную открытку со своими пожеланиями. Их имя, рождение и другие данные занесены в список на листе. Как узнать, чей день рождения сегодня? А как в Excel сделать напоминание о дне рождения?
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Пожалуйста, введите или скопируйте эту формулу ЕСЛИ МЕСЯЦ B2 МЕСЯЦ СЕГОДНЯ , , ЕСЛИ ДЕНЬ B2 ДЕНЬ СЕГОДНЯ , , С Днем Рождения B2 это ячейка, которая содержит дату рождения, вы можете изменить ее по своему усмотрению , например, в пустую ячейку C2. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
В зависимости от установленных региональных параметров операционной системы, дата, введенная в формате 3 июнь, 2010, может интерпретироваться как текстовая строка. В таком случае нужно ввести дату, как определено в окне региональных параметров Windows.
Функция ДАТА — как использовать формулу ДАТА в Excel | Exceltip
Самая маленькая единица измерения времени в приложении Excel – одна тысячная доля секунды (миллисекунда). Порядковое число приведенного ниже значения представляет время 23:59:59,999, или без одной тысячной секунды полночь.
Начинающие пользователи Excel при использовании данных даты и времени часто сталкиваются с различными проблемами. Чаще всего это связано с непониманием того, каким образом Excel обрабатывает данный тип информации. В настоящем разделе содержатся сведения, необходимые для создания “жизнеспособных” формул, оперирующих датами и временем.
Примеры, которые будут использоваться здесь, соответствуют формату даты, принятому в русифицированном приложении Excel: дд.мм.гггг или дд/мм/гггг. Например, дата 1.03.1952 или 01/03/1952 означает 1 марта 1952 года. Имейте в виду, что это не 3 января 1952 года, как принято в региональном формате США.
В этом разделе мы кратко рассмотрим принципы управления информацией, представляющей собой дату и время, в приложении Excel. В разделе содержится обзор основных принципов работы с порядковыми значениями даты и времени и предлагаются рекомендации по вводу и приведению к соответствующему формату этого типа информации.
Представление даты как порядкового числа
Для Excel дата – это порядковое число, которое представляет собой количество дней, прошедших с 0 января 1900 года. Это означает, что порядковое число 1 соответствует дате 1 января 1900 года; число 2 – дате 2 января 1900 года и т.д. Существование такой системы позволяет использовать формулы при работе с датами. Например, она позволяет создать формулу, которая будет вычислять количество дней между двумя датами.
Безусловно, виртуальная дата 0 января 1900 года может вызвать недоумение. Конечно, она не является датой сотворения мира, а просто означает определенное мировое время. Далее мы рассмотрим это понятие более подробно.
Чтобы представить числовое значение в виде даты, к ячейке, содержащей этот номер, необходимо применить формат Дата. Для этого откройте диалоговое окно Формат ячеек и щелкните на вкладке Число, а затем выберите необходимый формат.
Примечание
Excel 2000 и более поздние версии этого приложения поддерживают даты в диапазоне от 1 января 1900 года до 31 декабря 9999 года (порядковое число этой даты 2958465). Диапазон дат, доступный в более ранних версиях приложения, значительно меньше. Здесь используются даты с 1 января 1900 года и до 31 декабря 2078 года (порядковое число 65380).
Выберите систему дат: 1900 или 1904
Excel поддерживает две системы дат: система дат, начиная с 1900 или 1904 года. Какую из них предпочесть в рабочей книге, вы определяете самостоятельно, в зависимости от того, какая дата служит основанием для других дат. В системе дат, начинающейся с 1900 года, день 1 января 1900 года имеет порядковое число 1. В системе дат 1904 года начало отсчета – 1 января 1904 года. По умолчанию для систем Windows приложение Excel использует систему дат, начинающую отсчет с 1 января 1900 года, а для систем Macintosh – дату, начиная с 1904 года. Тем не менее в Excel для Windows с целью обеспечения совместимости с файлами Macintosh тоже поддерживается система дат 1904. Систему дат можно изменить, используя диалоговое окно параметров программы. Чтобы открыть его, выберите команду Файл→Параметры Excel, а затем щелкните на вкладке Дополнительно. В зависимости от своих намерений установите или снимите в разделе При пересчете этой книги флажок Использовать систему дат 1904. Имейте в виду, что система дат не может изменяться, если в компьютере используется версия Excel для Macintosh.
Рекомендуем использовать систему дат, установленную по умолчанию (начиная с 1900 года). Будьте особенно осторожны, когда применяете две различные системы дат в связанных рабочих книгах. Предположим, что Книга1 использует систему дат, начиная с 1904 года, и содержит в ячейке А1 дату 15/1/1999, а Книга2, наоборот, использует систему дат с 1900 года и содержит ссылку на ячейку A1 книги Книга1. В книге Книга2 эта дата будет отображаться как 14/1/1995. Таким образом, обе рабочие книги используют один и тот же порядковое число дня (34 713), но в разных книгах оно интерпретируется по-разному.
Существует одно преимущество использования системы дат 1904. Эта система позволяет отображать отрицательные значения времени. Другими словами, при использовании системы дат 1900 результат вычитания 4:00-5:30, не может быть отображен. При использовании системы дат 1904 результат отображается как отрицательное время -1:30 (т.е. разница составляет один час и 30 минут).
Ввод даты
Конечно, можно вводить дату как порядковое число, но, как правило, дата вводится с использованием одного из нескольких поддерживаемых в Excel форматов даты. После ввода даты Excel автоматически преобразует ее в соответствующее порядковое число, которое в дальнейшем будет использоваться для вычислений. Затем к ячейке применяется заданный по умолчанию формат даты, и на экране отображается более привычный формат даты, нежели загадочное порядковое число.
Например, если необходимо ввести дату 3 июня 2010 года, то это можно сделать весьма просто – 3 Июнь, 2010, используя данный формат или любой другой из имеющихся форматов даты. Excel преобразует введенную информацию и сохранит ее как числовое значение 39 251 – порядковое число, соответствующее этой дате. После этого Excel применит формат даты, заданный по умолчанию, поэтому содержимое ячейки может быть отображено в представлении, несколько отличном от введенного.
Примечание
В зависимости от установленных региональных параметров операционной системы, дата, введенная в формате 3 июнь, 2010, может интерпретироваться как текстовая строка. В таком случае нужно ввести дату, как определено в окне региональных параметров Windows.
Обратите внимание, что при активизации ячейки, содержащей дату, в строке формул отображается ее содержимое. Оно будет представлено в заданном по умолчанию формате, который соответствует сокращенному виду даты, принятому в системе. Имейте в виду, что строка формул не отображает порядковое число даты. Чтобы отобразить порядковое число даты, примените к ячейке числовой формат.
Чтобы изменить заданный по умолчанию формат даты, необходимо изменить региональные параметры операционной системы. Для этого в системном меню Пуск операционной системы Windows 7 выберите команду Панель управления→Язык и региональные стандарты и выберите в соответствующих раскрывающихся списках краткий и полный форматы дат. В Excel по умолчанию применяется краткий формат даты.
Excel обладает достаточно широкими возможностями преобразования введенных дат, однако они не вполне совершенны. Например, программа не признает в качестве даты следующую введенную информацию:
• 1 июня 2010;
• Июн-1 2010;
• Июн-1/2010.
Эту информацию Excel воспримет как текст. Поэтому прежде чем использовать даты в формулах, убедитесь, что Excel поддерживает тот формат даты, который собираетесь ввести. В противном случае формулы, которые обращаются к этим датам, будут работать некорректно.
Существует еще один недостаток. Если введенная дата находится вне поддерживаемого диапазона дат, Excel также интерпретирует ее как текст. Если порядковое число, находящееся за пределами доступных для даты числовых значений, попытаться привести к формату даты, вместо значения будет отображаться ряд знаков “решетки” (#########).
Поиск даты
В рабочем листе, в котором используется довольно много дат, может возникнуть необходимость найти определенную дату. Для этого воспользуйтесь диалоговым окном Найти и заменить Excel, которое можно открыть, выбрав команду Главная→Редактирование→Найти и выделить→Найти или нажав комбинацию клавиш <Ctrl+F>. Имейте в виду, что Excel достаточно требовательна к точности ввода искомой информации. Вам придется ввести полный четырехразрядный год даты в поле Найти диалогового окна поиска данных. Формат даты должен соответствовать краткому представлению даты, принятому в системе. Это представление можно увидеть в строке формул.
Представление времени как порядкового числа
В Excel в качестве времени применяется дробная часть порядкового числа, обозначающего дату. Другими словами, Excel считает сутки единицей, а все величины меньше суток – соответствующей частью единицы. Например, порядковое число даты 18 июня 2010 года равно 40347, а полдень того же дня имеет значение 40347,5.
Порядковое число одной минуты эквивалентно приблизительно 0,00069444. Формула, приведенная ниже, вычисляет этот номер следующим образом: 24 часа умножается на 60 минут, а затем 1 делится на полученный результат. Таким образом, в знаменателе получается количество минут в одном дне (1440).
=1/(24*60)
Тем же способом в Excel определяется порядковое число одной секунды – приблизительно 0,00001157. Для этого 1 делится на 24 часа, умноженные на 60 минут и 60 секунд. В этом случае знаменатель содержит количество секунд в одном дне (86400).
=1/(24*60*60)
Самая маленькая единица измерения времени в приложении Excel – одна тысячная доля секунды (миллисекунда). Порядковое число приведенного ниже значения представляет время 23:59:59,999, или без одной тысячной секунды полночь.
0,99999999
В таблице представлены различные значения времени и соответствующие им порядковые числа, по которым Excel распознает это время.
Ввод времени
Как и в случае с датами, нет необходимости вводить порядковое число времени. Достаточно ввести в ячейку время в любом из форматов, поддерживаемых в Excel. В таблице приведены некоторые примеры записей времени, поддерживаемых в Excel.
Поскольку приведенные выше примеры времени не связаны ни с каким определенным днем, Excel по умолчанию использует порядковое число 0, соответствующее дате 0 января 1900 года, которая, по своей сути, не является датой.
Примечание
При использовании системы дат, начинающейся с 1904 года, временные значения без значения даты отсчитываются от первого января 1904 года. Все приведенные ниже примеры основываются на системе дат, начинающейся с 1900 года.
Чтобы объединить дату и время, используйте совместный формат даты и времени, который состоит из формата даты, пробела и формата времени. Например, если в ячейку ввести текст 18 июнь, 2010 11:30, приложение Excel вычислит порядковое число 39251,4791666667 и отобразит его в доступном формате даты и времени.
18.06.2010 11:30:00
В некоторых случаях, когда вводится время, превышающее 24 часа, связанная с ним дата соответственно увеличивается. Например, если ввести в ячейку время 25:00:00, Excel увеличит ту часть, которая относится ко дню (поскольку время превышает 24 часа), и отобразит введенное значение следующим образом:
01.01.2000 1:00:00
То же самое происходит, если ввести одновременно и дату, и время, превышающее 24 часа. Введенная дата при отображении будет откорректирована. Например, при вводе в ячейку 01.09.2010 25:00:00 на экране отображается следующая информация:
02.09.2010 1:00:00
При вводе только времени без соответствующей даты максимальное время, которое можно ввести в ячейку равно 9999:59:59, т.е. менее 10000 часов. В этом случае Excel добавляет соответствующее количество дней, и на экране отображается полученная дата. Если же ввести время, превышающее предел 10000 часов, то оно будет представлено как простая текстовая строка.
Форматирование значений даты и времени
Работая с ячейками, содержащими любую дату и время, вы имеете прекрасную возможность форматировать их так, как это необходимо. Например, можно установить такой формат ячейки, чтобы в ней отображалась только определенная часть даты или времени или только заданные части времени и даты одновременно.
Для форматирования ячейки с датой и временем необходимо выделить ячейку и щелкнуть во вкладке Главная на раскрывающемся списке числовых форматов. Этот список содержит два формата даты и один формат времени.
При создании формул со ссылками на ячейку, содержимое которой представляет дату или время, Excel автоматически преобразует результат выполнения формул в формат даты или времени. В некоторых случаях это может быть весьма кстати, в других же создает определенные неудобства и даже раздражает. К сожалению, Excel не позволяет отключить автоматическое форматирование ячейки. Тем не менее в подобных случаях можно воспользоваться специальной комбинацией клавиш, чтобы отменить форматирование всех чисел ячейки и вернуться к формату Общий, заданному по умолчанию. Для этого достаточно выделить ячейку и нажать комбинацию клавиш <Ctrl+Shift+~>.
Иногда можно столкнуться с тем, что ни один из встроенных форматов не подходит для нужного представления даты и времени. Не отчаивайтесь – Excel предоставит вам прекрасную возможность создать пользовательский числовой формат. Выберите в списке пункт Другие числовые форматы (см. рисунок выше) и введите определение пользовательского формата в поле Тип.
Следующий пользовательский формат данных особенно полезен для отображения времени:
[ч]:мм:сс
Заключите часы в квадратные скобки, чтобы иметь возможность отображать часы за пределами 24. Использовать этот способ весьма удобно при добавлении более 24 часов.
Проблемы, связанные с датами
Несмотря на всю эффективность форматов дат, в Excel все же иногда возникают проблемы при работе с датами. Многие из них уходят в прошлое. Excel была разработана много лет назад, еще раньше, чем так называемая “проблема 2000 года” впервые потрясла мир. Но во многом разработчики Excel “отталкивались” от Lotus 1-2-3 с ее ограниченными возможностями управления датами и временем. Поэтому все самые серьезные технические дефекты были непреднамеренно перенесены в Excel. Кроме того, версии самой Excel не единообразно интерпретируют записи дат с годом из двух цифр. И наконец, то, как Excel понимает запись даты в ячейке, напрямую зависит от региональных параметров, установленных в Windows.
Безусловно, если бы Excel полностью разрабатывалась в настоящее время, то она была бы гораздо совершеннее в отношении управления датами. Но, к сожалению, пока приходится работать с программным продуктом, который в этом вопросе оставляет желать лучшего.
Ошибка високосного года
Високосный год, который наступает через каждые четыре года, имеет один дополнительный день – 29 февраля. Несмотря на то, что 1900 год не был таковым, Excel воспринимает его как високосный. Другими словами, если ввести в ячейку 29.02.1900, Excel не отобразит сообщение об ошибке, а интерпретирует это как значение даты, соответствующее 60-му дню с начала отсчета (порядковое число 60):
29.2.1990
Однако если ввести другую недопустимую дату 29.02.1901, Excel отобразит сообщение об ошибке. Приложение не преобразует эту запись в дату, а, скорее, воспримет ее как текстовую строку:
29.02.1901
Возникает вопрос: как программный продукт, который ежедневно используют миллионы людей, может содержать такую очевидную ошибку? Ответ кроется в истории его создания. Исходная версия Lotus 1-2-3, на которой базировалось приложение Excel, содержала дефект, по причине которого 1900 год рассматривался как високосный. Разработчики приложения Excel знали об этой ошибке и позднее, при выпуске приложения, специально перенесли этот дефект, чтобы обеспечить его совместимость с рабочими листами файлов Lotus.
Но почему же эта ошибка до сих пор существует в более поздних версиях Excel? Компания Microsoft утверждает, что проблемы, которые могут возникнуть при исправлении этой ошибки, значительно перевешивают преимущества исправления. Устранение этой ошибки привело бы в беспорядок сотни тысяч существующих рабочих книг. Кроме того, исправление указанной проблемы сказалось бы на совместимости самой Excel с другими программами, использующими дату. Именно поэтому данная ошибка влечет за собой гораздо меньше проблем, чем ее исправление. К тому же, большинство пользователей не используют даты, предшествующие 1 марта 1900 года.
Использование дат до 1900 года
Безусловно, мир начал свое существование не с 1 января 1900 года. Пользователи Excel, которые работают с исторической информацией, часто используют даты до 1 января 1900 года. Но, к сожалению, единственный способ работы с такими датами в общепринятых форматах – это ввести их в ячейку как текстовую информацию. Например, если ввести в текстовую ячейку следующую строку, Excel воспримет ее без сообщения об ошибке:
4 июль, 1776
Если планируете сортировать старые даты, введенные как текст, или хотите избавиться от проблем с форматами, применяйте даты в формате UTC (Universal Time Coordinated – универсальное скоординированное время по Гринвичу). В формате UTC (стандарт ISO 8601) дата записывается так: гггг-мм-дд, например, 1776-07-24. Это стандартный международный формат даты и времени, используемый в авиационной и морской навигации. Его основное преимущество состоит в том, что он правильно считывается, обрабатывается и сортируется практически в любой системе (в том числе, в Excel) и при любых параметрах региональных форматов по той причине, что в нем все разряды по старшинству расположены слева направо. Для сравнения: в русском формате даты (например, 24.7.1776) год (старший разряд) расположен правее дня (младшего разряда). К сожалению, среди пользователей формат UTC мало популярен (как в США, так и в России), потому что для них он непривычный и по этой причине плохо воспринимается визуально.
Однако датами, принимаемыми в виде текста, уже нельзя манипулировать как номинальными, измеряемыми в единицах времени. Эти даты нельзя сортировать, фильтровать и форматировать, изменяя числовой формат, как это принято в Excel. Нельзя определить день недели, на который приходится заданная дата, а также вычислить дату, которая следует семью днями позже.
Ввод противоречивых дат
Будьте осторожны при вводе дат, использующих для отображения года два разряда. В этом случае Excel использует ряд правил, определяющих, какое столетие необходимо использовать. Данные правила зависят от версии Excel, которая установлена в компьютере.
В Excel 7 годы, обозначаемые двумя числами в диапазоне между 00 и 29, интерпретируются как принадлежащие к XXI столетию, а даты между 30 и 99 – как даты XX столетия. Например, если ввести в ячейку запись 5.12.28, то Excel интерпретирует ее как 5 декабря 2028 года. Но если ввести дату 5.12.30, Excel воспримет ее как 5 декабря 1930 года. В Excel 2000 или более поздней версии, работающей под управлением Windows 98 и выше, в качестве граничного года, заданного по умолчанию, используется 2029 год. В то же время вы можете самостоятельно установить граничный год с помощью окна региональных стандартов Windows.
Чтобы избежать всякого рода неожиданностей при работе с датами, просто введите год полностью, используя все четыре цифры.
В начало
Полезное
Определим, сколько лет, месяцев и дней прошло с определенной даты, а также решим обратную задачу.
Для вычислений длительностей интервалов дат удобней всего использовать недокументированную функцию
РАЗНДАТ()
. Этой функции нет в справке EXCEL2007 и в
Мастере функций
(
SHIFT+F3
), но она работает (
с некоторыми огрехами
).
Если в ячейке
В2
содержится сегодняшняя дата, а в
А2
–дата начала отсчета (например, день рождения), то формула:
=РАЗНДАТ(A2;B2;»y»)&» г. «&
РАЗНДАТ(A2;B2;»ym»)&» мес. «&
РАЗНДАТ(A2;B2;»md»)&» дн.»
рассчитает сколько лет, месяцев, дней прошло с конкретной даты и вернет результат в виде
37 г. 5 мес. 1 дн
.
Как показано в статье о функции
РАЗНДАТ()
, лучше избегать применения этой функции с аргументом «md», т.к. она может выдать неправильный результат. Поэтому часть формулы
РАЗНДАТ(A2;B2;»md»)
лучше заменить ее эквивалентом:
=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);ДЕНЬ(B2)-ДЕНЬ(A2))
Итоговая формула приведена в
файле примера:
=РАЗНДАТ(A2;B2;»y»)&» г. «&РАЗНДАТ(A2;B2;»ym»)&» мес. «&ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);ДЕНЬ(B2)-ДЕНЬ(A2))&» дн.»
Уточним склонения: год/ лет, месяца/ месяцев, дня/ дней
В случае, если получается целое количество лет, то формула вернет результат в виде
37 г. 0 мес. 0 дн.
, что не очень красиво.
Воспользовавшись идеями, подсказанными нашим пользователем МСН, также просклоняем
месяцев/ месяца
и
дней/ дня
=ЕСЛИ(РАЗНДАТ(A2;B2;»y»);РАЗНДАТ(A2;B2;»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(A2;B2;»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(A2;B2;»ym»);РАЗНДАТ(A2;B2;»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(A2;B2;»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(A2;B2;»md»);РАЗНДАТ(A2;B2;»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(A2;B2;»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)
Окончательно результат будет выглядеть так:
37 лет 1 месяц 4 дня
.
О вычислении страхового стажа
Формулы этой статьи НЕ позволяют правильно вычислить
страховой (трудовой) стаж
с точностью до дней. Поясним сказанное на примере (также см. статью
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
)
Найдем разницу дат 30.01.15. и 16.03.2015. Функция
РАЗНДАТ()
с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней.
Алгоритм расчета этой функции следующий: сначала функция последовательно прибавляет месяцы к дате начала, до тех пор пока получившаяся дата меньше конечной. Т.е. к 30.01.2015 функция прибавит 1 месяц и получит 30.02.2015, но такой даты не существует, в феврале 2015г. 28 дней! Ничего страшного, функция запоминает, что нужно отнять 2 дня, чтобы получить правильную дату! Затем идет подсчет оставшихся дней в марте — их 16. Затем, функция к 16 дням прибавляет -2, и получаем 14 дней. Естественно, такой расчет не верен.
Получается, что функцию
РАЗНДАТ()
можно использовать только для расчета
полных лет
и
месяцев
, но без дней. Рассмотренные выше формулы будут в основном возвращать правильный результат (иногда, конечно, будет возникать погрешность в 1-2 дня в меньшую сторону), но часто удобство применения этой функции перевешивает требования к точности. Такой подход безусловно не годится для расчета страхового стажа
для определения размера пособий по временной нетрудоспособности (об этом см. статью
Расчет страхового (трудового) стажа в MS EXCEL
)
.
Обратная задача
Теперь решим обратную задачу: задав количество количество лет, месяцев и дней, рассчитаем конечную дату.
Конечную дату будем рассчитывать двумя способами: через функцию
ДАТА()
и
ДАТАМЕС()
=
ДАТА(ГОД(A8)+B8;МЕСЯЦ(A8)+C8;ДЕНЬ(A8)+D8)
=ДАТАМЕС(ДАТА(ГОД(A8)+B8;МЕСЯЦ(A8);ДЕНЬ(A8));C8)+D8
Вычислив конечную дату, затем вычислим с помощью
РАЗНДАТ()
разницу между ними (должна совпасть с заданной). И наконец, из конечной даты получим начальную, вычтя заданное количество лет, месяцев и дней с использованием формул:
=
ДАТА(ГОД(E8)-B8;МЕСЯЦ(E8)-C8;ДЕНЬ(E8)-D8)
=ДАТАМЕС(ДАТА(ГОД(E16)-B8;МЕСЯЦ(E16);ДЕНЬ(E16));-C8)-D8
Если для начальной даты 15.01.2015 (строка 8
в файле примера, лист Обратная задача
) все вычисления понятны и одинаковы (добавили 1 год, 2 месяца и 5 дней), получили 20.03.2015, разница составила теже 1 год, 2 месяца и 5 дней, расчетная начальная дата совпала с заданной начальной датой, то для 29.01.2015 все не так гладко (см. строку 9). Для наглядности прибавим 1 месяц.
Как мы уже знаем из статьи
Функция ДАТАМЕС() в MS EXCEL
функции
ДАТА()
и
ДАТАМЕС()
не эквивалентны при прибавлении месяцев:
При прибавлении месяцев между
ДАТАМЕС()
и
ДАТА()
существует разница. Прибавим к 29.01.2015 один месяц:
=ДАТАМЕС(«29.01.2015»;1)
вернет 28.02.2015, т.к. 30 февраля не существует, то функция вернет последний день месяца, т.е. 28.02.2014 («лишние» 2 дня будут отброшены);
=ДАТА(ГОД(«29.01.2015»);МЕСЯЦ(«29.01.2015»)+1;ДЕНЬ(«29.01.2015»))
вернет 02.03.2015: «лишние» 2 дня (29 и 30 февраля) будут прибавлены к дате.
Расчет с помощью
ДАТАМЕС()
кажется логичней, хотя функция
РАЗНДАТ()
с этим не согласна: разницу, совпадающей с заданной она возвращает только для варианта с функцией
ДАТА()
.
Расчетная начальная дата в обоих случаях не совпадает с заданной начальной датой: получим 01.02.2015 и 28.01.2015 вместо 29.01.2015.
Как быть? Вероятно, решение будет зависеть от конкретной задачи, стоящей перед пользователем. Необходимо помнить, что нужно использовать
ДАТАМЕС()
при добавлении (вычитании) месяцев, а
РАЗНДАТ()
— это недокументированная и, соответственно, не гарантирующая правильность расчетов функция. Об этой функции написана статья
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
, в которой дается формула, учитывающая вышеуказанную ситуацию (см. раздел «Еще раз о кривизне
РАЗНДАТ()
«).
Серийный номер или серийная дата — это число, которое Excel использует для вычисления дат и времени, введенных в лист. Серийный номер рассчитывается либо вручную, либо в результате формул, включающих вычисления даты. Excel считывает системные часы компьютера, чтобы отслеживать количество времени, прошедшее с даты начала системы дат.
Информация в этом руководстве относится к Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 и Excel для Mac.
Две возможные системы дат
По умолчанию в версиях Excel, работающих в Windows, дата хранится в виде значения, представляющего количество полных дней с полуночи 1 января 1900 года, а также количество часов, минут и секунд для текущего дня.
Версии Excel, работающие на компьютерах Macintosh, по умолчанию используют одну из следующих двух систем дат:
- Excel для Mac версий 2019, 2016 и 2011: системой дат по умолчанию является система дат 1900, которая гарантирует совместимость дат с Excel для Windows.
- Excel 2008 и более ранние версии: система дат по умолчанию начинается с 1 января 1904 года и называется системой дат 1904 года.
Все версии Excel поддерживают обе системы дат, и возможно переключение с одной системы на другую.
Примеры серийных номеров
В системе 1900 серийный номер 1 представляет 1 января 1900 года, 12:00:00, а номер 0 представляет фиктивную дату 0 января 1900 года.
В системе 1904 серийный номер 1 представляет 2 января 1904 г., а номер 0 представляет 1 января 1904 г., 12:00:00 утра.
Время хранится как десятичные дроби
Время в обеих системах хранится в виде десятичных чисел от 0,0 до 0,99999, где:
- 0.0 — 00:00:00 (часы: минуты: секунды)
- 0,5 — 12:00:00 (12:00)
- 0.99999 — 23:59:59
Чтобы отобразить даты и время в одной и той же ячейке на листе, объедините целые и десятичные части числа.
Например, в системе 1900 года 12 января 1 января 2016 года используется серийный номер 42370,5, поскольку это 42370 с половиной дней (время хранится в виде долей полного дня) после 1 января 1900 года. Аналогично, в 1904 система, номер 40908.5 представляет 12 часов 1 января 2016 года.
Использование серийного номера
Многие проекты, которые используют Excel для хранения данных и расчетов, так или иначе используют даты и время. Например:
- Долгосрочный проект, который подсчитывает количество дней между текущими и прошлыми датами, используя функцию NETWORKDAYS .
- Расчет ссуды, который определяет будущую дату с использованием функции EDATE .
- Расписания, которые рассчитывают истекшее время между временем начала и окончания, а также часы и сверхурочные по мере необходимости, используя формулы, которые добавляют или вычитают даты и время.
- Отметка времени на листе с текущей датой и временем с помощью сочетаний клавиш, которые читают текущий серийный номер.
- Обновление отображаемой даты и времени всякий раз, когда рабочая таблица открывается или пересчитывается с использованием функций СЕЙЧАС и СЕГОДНЯ .
На чтение 5 мин Просмотров 1.8к. Опубликовано 27.02.2022
Итак, мы имеем несколько серьезных функций, для того чтобы рассчитать кол-во дней между двумя датами, причем с разными параметрами (такими как выходные дни, праздники и так далее).
В этой статье я продемонстрирую вам разные ситуации, где нужно посчитать кол-во дней между датами. Все они будут с разными «уклонами», в одной ситуации нужно посчитать без выходных, в другой количество понедельников и так далее.
Содержание
- Стандартный расчет количества дней
- С помощью функции ДНИ
- С помощью функции РАЗНДАТ
- Расчет кол-ва рабочих дней
- Расчет кол-ва неполных рабочих дней между двумя датами
- Количество понедельников между двумя датами
Стандартный расчет количества дней
Итак, в Excel есть две функции для вычисления кол-ва дней.
С помощью функции ДНИ
Чтобы получить результат от функции нам понадобится дата начала и дата конца.
Итак, вы указываете эти две даты в аргументах функции и получаете количество дней между ними.
Хороший пример вы можете видеть на картинке ниже:
Используем эту формулу:
=ДНИ(B2;B1)
Также вы можете вручную прописать даты в функции (без указания ячеек), но тогда вам нужно заключить их в кавычки.
Эта функция вычислит количество дней между этими датами, но если вы хотите чтобы расчет велся «включительно» с датами начала и конца, то добавьте к результату + 1 (просто пропишите это в функции).
С помощью функции РАЗНДАТ
Эта функция аналогична, её отличие в том, что можно указать больше параметров. То есть больше «подстроить» под ситуацию.
Также можно вычислить кол-во месяцев или лет между датами.
Допустим, мы имеем то что указано на картинке ниже:
Пропишем формулу:
=РАЗНДАТ(B1;B2;"D")
Эта функция использует три наших аргумента:
- Дата начала — B1
- Дата окончания — B2
- «D» — текстовая строка
Важный момент: этой функции не будет в подсказке при написании названия функции, т.е. если вы будете писать РАЗНДАТ, Excel будет вести себя так, как будто он не знает что это за функция, но это не так.
Функция РАЗНДАТ больше подходит для ситуаций, когда нужно вычислить кол-во лет или месяцев между датами, в других ситуациях удобнее применять ДНИ (функцию).
Вот формула, которая даст результат по месяцам, которые будут между датами:
=РАЗНДАТ(B1;B2;"M")
А эта формула, тоже самое что и прошлая, только вычисляет кол-во лет:
=РАЗНДАТ(B1;B2;"Y")
Расчет кол-ва рабочих дней
Итак, рабочие дни можно вычислить двумя способами:
- Функция Excel ЧИСТРАБДНИ — ее следует использовать, если выходные дни — суббота и воскресенье.
- Функция Excel ЧИСТРАБДНИ.МЕЖД — используйте ее, когда выходные дни отличаются от субботы и воскресенья.
Сначала быстро рассмотрим синтаксис и аргументы фунции ЧИСТРАБДНИ.
Функция Excel ЧИСТРАБДНИ
=ЧИСТРАБДНИ(нач_дата, конеч_дата, [праздники])
- нач_дата — это дата начала отсчета.
- end_date — это конечная дата отсчета.
- [праздники] — (Необязательно) Отдельная дата или диапазон дат, которые не будут учитываться в расчетах.
Посмотрим на стандартный пример, когда нужно посчитать кол-во рабочих дней.
Мы будем использовать эту формулу:
=ЧИСТРАБДНИ(B2;C2;$F$2:$F$6)
Такая вариация этой функции даст то что вам нужно, если вам нужно посчитать рабочие дни без субботы и воскресенья.
Но бывают и другие ситуации, к примеру, в разных странах выходные на неделе строятся по-разному, это может быть пятница и так далее.
Именно для таких ситуаций и появилась функция ЧИСТРАБДНИ.МЕЖД.
Посмотрим что из себя представляет эта функция.
Функция Excel ЧИСТРАБДНИ.МЕЖД
=ЧИСТРАБДНИ.МЕЖД(нач_дата; конеч_дата; [выходные]; [праздники])
- нач_дата — значение даты, представляющее собой начальную дату.
- конеч_дата — значение даты, представляющее дату окончания.
- [нерабочие дни] — (Необязательно) в этом аргументе указываются исключительные дни(праздники и т.д.), если аргумента не будет, выходные останутся по-стандарту(суббота и воскресенье).
А сейчас, попробуем посчитать кол-во рабочих дней, если выходными будут пятница и суббота.
Допустим, таблица такая же как и в прошлом примере:
Будем использовать формулу:
=ЧИСТРАБДНИ.МЕЖД(B2;C2;7;$F$2:$F$6)
3 аргумент в функции сообщает Excel, что пятница и суббота выходные.
Также, мы можем использовать ЧИСТРАБДНИ.МЕЖД для расчета выходных между двумя датами.
Она конечно вычисляет кол-во рабочих дней, но мы можем адаптировать это «под себя».
Допустим, таблица все та же:
Формула, которая нам подойдет:
=ДНИ(C2;B2)+1-РАЗНДАТ(B2;C2)
Расчет кол-ва неполных рабочих дней между двумя датами
Также, к примеру, можно использовать эту же функцию для расчета неполных рабочих дней.
Допустим, у нас есть похожая таблица с данными:
Формула, для нашего случая, будет такой:
=ЧИСТРАБДНИ.МЕЖД($B$3;$C$3;"1010111";$E$3:$E$7)
Для обозначения выходных дней, мы использовали «1010111».
- 0 — рабочий день
- 1 — неполный рабочий день
Первая цифра из этого числа — понедельник, последняя — воскресенье
Грубо говоря, «0000011» значит, что с понедельника по пятницу — рабочие дни, а суббота и воскресенье — нерабочие (выходные).
По той же логике, «1010111» означает, что только вторник и четверг являются рабочими, а остальные 5 дней — нерабочими.
Если вам нужно исключить какие-то дни из расчетов, можете исключать их таким образом.
Количество понедельников между двумя датами
Для поиска количества понедельников мы можем использовать ту же логику, которая использовалась выше при подсчете неполных рабочих дней.
Функция, которая выведет кол-во понедельников:
=ЧИСТРАБДНИ(B2;C2;"0111111")
В этой формуле «0» означает рабочий день, а «1» — нерабочий день.
Формула рассчитывает количество рабочих дней, с учетом того что единственный рабочий день — это понедельник.
Аналогичным образом можно рассчитать количество любых, интересующих вас дней, между двумя датами.
17 авг. 2022 г.
читать 2 мин
В этом руководстве объясняется, как преобразовать дату в число в трех различных сценариях:
1. Преобразуйте одну дату в число
2. Преобразуйте несколько дат в числа
3. Преобразование даты в количество дней с другой даты
Давайте прыгать!
Пример 1: преобразование одной даты в число
Предположим, мы хотим преобразовать дату «10.02.2022» в число в Excel.
Для этого мы можем использовать функцию ДАТАЗНАЧ в Excel:
=DATEVALUE("2/10/2022")
По умолчанию эта функция вычисляет количество дней между заданной датой и 01.01.1900 .
На следующем снимке экрана показано, как использовать эту функцию на практике:
Это говорит нам о том, что между 10.02.2022 и 01.01.1900 существует разница в 44 602 дня.
Пример 2. Преобразование нескольких дат в числа
Предположим, у нас есть следующий список дат в Excel:
Чтобы преобразовать каждую из этих дат в число, мы можем выделить диапазон ячеек, содержащих даты, затем щелкнуть раскрывающееся меню «Числовой формат » на вкладке « Главная » и выбрать « Число »:
Это автоматически преобразует каждую дату в число, представляющее количество дней между каждой датой и 01.01.1900 :
Пример 3. Преобразование даты в количество дней, прошедших с другой даты
Мы можем использовать следующую формулу для преобразования даты в количество дней, прошедших с другой даты:
=DATEDIF( B2 , A2 , "d")
Эта конкретная формула вычисляет количество дней между датой в ячейке B2 и датой в ячейке A2 .
На следующем снимке экрана показано, как использовать формулу DATEDIF для расчета количества дней между датами в столбце A и 01.01.2022:
Вот как интерпретировать значения в столбце B:
- Между 01.01.2022 и 01.04.2022 есть 3 дня.
- Между 01.01.2022 и 01.01.2022 8 дней.
- Между 01.01.2022 и 15.01.2022 14 дней.
И так далее.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как автозаполнять даты в Excel
Как использовать СЧЁТЕСЛИМН с диапазоном дат в Excel
Как рассчитать среднее значение между двумя датами в Excel
Skip to content
Из этого обзора вы узнаете несколько быстрых и простых способов подсчета, сколько дней проходит между двумя датами в Excel.
Вам интересно, сколько составляет разница в днях, месяцах и годах между двумя датами? Может быть, вам нужно знать количество дней между сегодняшним днем и какой-либо точкой в прошлом или будущем?
Какова бы ни была ваша проблема, один из приведенных ниже примеров в Excel наверняка подскажет вам решение.
- Простой калькулятор дней
- Как рассчитать разницу в днях?
- Расчёт разницы между датами при помощи функции РАЗНДАТ (DATEDIF)
- Разница в днях
- В полных месяцах
- В полных годах
- В полных месяцах без учёта лет
- Разница в днях без учета месяцев и лет
- В днях без учёта лет
- Как посчитать разницу в днях, месяцах и годах
- Подсчёт с помощью функции ДНИ
- Как рассчитать количество дней между сегодняшним днем и другой датой
- Мастер даты и времени — простой способ создавать формулы разницы дат в Excel
Простой калькулятор дней.
Если вы ищете быстрый ответ, просто укажите две даты в соответствующих ячейках, и наш калькулятор покажет вам, сколько суток между ними:
Хотите узнать формулу, которая рассчитала эти результаты? Это так же просто, как =B3-B2:)
Обратите внимание, что нужно четко знать, что именно вы хотите подсчитать: «дни включительно» или «дни между».
Кроме того, прежде чем выполнять операции с датой-временем, нужно установить правильный формат в ячейках вашей таблицы. Чаще всего Эксель сам подбирает нужный формат представления данных, но все же лучше подстраховаться.
Для этого выберите клетку или диапазон ячеек с числами, которые вы хотите представить как даты, и нажмите комбинацию клавиш Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Числовые форматы» в пункте «Дата», выберите подходящий для вас внешний вид в разделе «Тип» и нажмите кнопку «ОК».
Далее вы найдете подробное объяснение того, как работает эта формула, и узнаете несколько других способов вычисления.
Как рассчитать разницу в днях?
Самый простой способ рассчитать дни между датами в Эксель — вычесть одну из другой:
= Более новая — Более старая
Как мы уже сказали ранее, чтобы узнать, сколько времени пройдет в периоде между ячейками В3 и B2, используйте следующую формулу:
=B3 — В2
где В2 — более ранняя, а B3 — более.
Результатом подсчета является целое число, которое представляет количество дней внутри временного интервала.
Однако, будьте здесь внимательны: при подобном подсчете отработанных дней в том случае, если человек работал и в первый, и в последний день, то 1 день будет «потерян». Добавьте в вашу формулу +1 день.
Как работает эта формула?
Как вы, вероятно, знаете, Microsoft Excel хранит даты в виде порядковых номеров, начинающихся с 1 января 1900 года, которому соответствует номер 1. В этой системе 2 января 1900 года сохраняется как число 2, 3 января 1900 года как 3 и так далее. Таким образом, вычитая одну дату из другой, вы фактически вычитаете целые числа, представляющие их.
В нашем примере формула в C5 на самом деле вычитает 43892 (числовое значение 2 марта 2020г.) из 43900 (числовое значение 10 марта 2020г.) и возвращает результат 8 дней.
Положительный момент этого метода в том, что он отлично работает во всех случаях, независимо от того, какая дата старше, а какая новее. Если вы вычитаете более позднюю дату из более ранней, то формула просто возвращает разницу в виде отрицательного числа.
Рассчитать разницу между датами в Excel с помощью РАЗНДАТ (DATEDIF).
Другой способ — как в Экселе посчитать дни в заданном временном интервале — использование функции РАЗНДАТ (в английском варианте – DATEDIF), которая специально разработана для расчета разности во времени и представления её в различных единицах: дни, месяцы и годы.
А вот ее синтаксис:
= РАЗНДАТ(дата_нач; дата_кон; аргумент)
где
дата_нач и дата_кон — две временных отметки, разницу между которыми необходимо рассчитать,
аргумент – указывает, как представить результат; может иметь одно из следующих значений:
- Y Число полных лет.
- M Число полных месяцев.
- D Число дней.
- MD Разница в днях (значения месяца и года не учитываются).
- YM Разница в месяцах (значения дня и года не учитываются).
- YD Разница в днях, игнорируя значения года.
Чтобы получить количество дней между двумя датами, укажите момент начала в первом аргументе, срок окончания во втором, и «d» в последнем третьем:
РАЗНДАТ(дата_нач; дата_кон; «d»)
DATEDIF (start_date, end_date, «d»)
Примечание. РАЗНДАТ (DATEDIF) — недокументированная функция, то есть ее нет в мастере функций в Excel. Вы не сможете ее вставить при помощи кнопки fx или меню Вставка — Функция. Чтобы создать формулу РАЗНДАТ в таблице Экселя, вам нужно вписать ее название руками и ввести все аргументы вручную, подсказок ввода не будет.
В ней вы можете указывать исходные данные различными способами, такими как:
- Ссылки на ячейки. Например, следующая формула вернет количество дней между A3 и B3:
=РАЗНДАТ(A3; B3; «D»)
Текстовые выражения. Excel понимает даты в различных форматах, например, «2 март 2020», «20.03.2020», «20/03/2020», «2020/03/20», «20-03-2020», «2020-03-20» и т.д.
Вот примеры расчета количества дней во временных промежутках:
=РАЗНДАТ(«2 март 2020»; «2020-03-20»; «D»)
=РАЗНДАТ(«02-03-2020»; «20/03/2020»; «D»)
Естественно, эти значения могут быть записаны и в ячейках, а формула на них будет ссылаться.
- Порядковые номера. Поскольку Microsoft Excel хранит каждую дату как порядковый номер, начинающийся с 1 января 1900 года, вы можете поместить числа, соответствующие датам, непосредственно в формулу. Хотя этот метод полностью поддерживается, все же он не является надежным, поскольку нумерация различается в разных компьютерных системах (Windows и MacOS).
В системе дат 1900 года следующая формула является еще одним способом вычисления месяцев по условиям из предыдущего примера (2 марта 2020 года и 10 марта 2020 года):
=РАЗНДАТ(43900; 43892; «D»)
- Результаты выполнения других функций. Например, следующая формула подсчитывает, срок между сегодня (18 марта 2020г.) и 9 мая 2020 года.
=РАЗНДАТ(СЕГОДНЯ(); «9-05-2020»; «D»)
В отличие от операции вычитания, функция РАЗНДАТ может только вычесть более старую дату из более новой, но не наоборот. Если точка начала позже точки окончания, расчет выдает ошибку #ЧИСЛО!, как в строке 4 на скриншоте ниже:
1. Разница в днях.
В нашем примере формула расчета в D3 выглядит следующим образом:
=РАЗНДАТ(A3; B3; «D»)
Обратите также внимание, что при простом вычитании дат, которые также содержат время, мы получаем в результате дробное число. Так произошло в С5 и С6. Что делать с такими дробями – поговорим чуть позже. А вот время здесь просто игнорируется. В этом вы можете убедиться в диапазоне D5:I6.
Аналогичный результат можно получить формулами:
=ЦЕЛОЕ(В2)-ЦЕЛОЕ(А2)
Время, то есть дробная часть, будет отброшено.
Кстати, если нужно подсчитать только рабочие дни, то следует использовать выражение
=ЧИСТРАБДНИ(В2;А2)
Более подробно о расчете рабочих дней читайте здесь.
2. Разница в полных месяцах.
Обращаемся к ячейке Е3:
=РАЗНДАТ(A3;B3;»m»)
Обратите внимание, выражение вернет количество полных месяцев. В нашем примере 13 месяцев и 7 дней «округлены» ровно до 13. И последний день интервала, как мы уже говорили, эта функция не учитывает. В частности,
=РАЗНДАТ(“01.03.2020”;”31.03.2020”;»m»)
возвращает результат 0, так как последний день не включается в расчет. Вы это видите в ячейке E7. Это также будет важно при расчете стажа и отработанного времени. Учитывайте эту особенность и просто добавляйте 1 дополнительный день!
Формула может быть заменена альтернативным выражением:
= 12*(ГОД(B3)-ГОД(A3))- (МЕСЯЦ(A3)-МЕСЯЦ(B3))-(ДЕНЬ(B3)<ДЕНЬ(A3))
3. Разница в полных годах.
Формула в ячейке F3 вернет количество полных лет:
=РАЗНДАТ(A3;B3;»Y»)
Опять же, считается только полный год, остальное отбрасывается.
Ну и альтернативный способ расчета —
= ЕСЛИ(ДАТА(ГОД(B3); МЕСЯЦ(A3);ДЕНЬ(A3))<= B3; ГОД(B3)-ГОД(A3);ГОД(B3)-ГОД(A3)-1)
4. Разница в полных месяцах без учета лет.
Используем в I3 аргумент «YM».
=РАЗНДАТ(A3;B3;»YM»)
Второй параметр и конечная точка у нас – 10.04.2020 г. Поскольку годы мы здесь игнорируем, то год первого параметра также становится 2020. И мы теперь сравниваем 10.04.2020 и 2.03.2020г.
Результат – 1 полный месяц.
А вот если начало, предположим, будет 01.09.2015г.? Ведь ее нельзя модифицировать до 01.09.2020, поскольку тогда функция выдаст ошибку. И программа ее меняет на 01.09.2019. Результат здесь – 7 полных месяцев.
Я очень сомневаюсь, что кто-то будет проводить подобный расчет. Но он нам будет нужен, чтобы подсчитать количество дней, месяцев и лет между двумя точками. Об этом мы поговорим чуть ниже.
Ну и альтернативный расчет –
=ОСТАТ((12*(ГОД(B3)-ГОД(A3))- (МЕСЯЦ(A3)-МЕСЯЦ(B3))-(ДЕНЬ(B3)<ДЕНЬ(A3)))/12)
5. Разница в днях без учета месяцев и лет.
Здесь немного сложнее. Итак, в G3 пишем:
=РАЗНДАТ(A3;B3;»MD»)
Разберем, как получен результат в G3. Поскольку для нас не важны месяц и год, мы в начальной дате меняем их на текущие. То есть вместо 02.03.2019 рассматриваем 02.04.2020. Сравниваем с 10.04.2020 и получаем 8 дней. Есть ли в таком результате смысл? Вряд ли. Поэтому и не рекомендуется применение этого аргумента как отдельного расчета.
Быть может, поэтому РАЗНДАТ и нет в списке официальных функций Excel.
6. Разница в днях без учета лет.
То же самое, что и в предыдущем аргументе. Считаем количество суток между двумя точками без учета лет.
=РАЗНДАТ(A3;B3;»YD»)
Для начального момента — 02.03.2019 и конечного – 10.04.2020, разница в 39 дней выглядит явной ошибкой. Аналогично – между 01.09.2015 и 10.04.2020 совсем не 222 дня.
Следовательно, использование этого аргумента также не рекомендуем.
А зачем же всё это нужно? Ответ читайте в следующем разделе.
Как посчитать разницу в днях, месяцах и годах.
Чтобы подсчитать, сколько полных лет, месяцев и дней составляет разница «от» и «до» с использованием одной формулы, вы просто объединяете три функции в одно выражение:
=РАЗНДАТ(B2;B3;»Y»)&» лет, «&РАЗНДАТ(B2;B3;»YM»)&» месяцев, «&РАЗНДАТ(B2;B3;»MD»)&» дней»
Если вы не хотите отображать нулевые значения лет, месяцев и дней, то выражение можно изменить, добавив условие ЕСЛИ:
=ЕСЛИ(РАЗНДАТ(B2;B3;»Y»)>0;РАЗНДАТ(B2;B3;»Y»)&» лет «;»»)&ЕСЛИ(РАЗНДАТ(B2;B3;»YM»)>0;РАЗНДАТ(B2;B3;»YM»)&» месяцев «;»»)&ЕСЛИ(РАЗНДАТ(B2;B3;»MD»)>0;РАЗНДАТ(B2;B3;»MD»)&» дней»;»»)
Более подробно об условиях и функции ЕСЛИ читайте здесь.
А вот еще один более сложный, но зато более универсальный вариант расчета разницы в днях, месяцах и годах с учетом склонений и падежей:
=ЕСЛИ(РАЗНДАТ(B2;B3;»y»);РАЗНДАТ(B2;B3;»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;B3;»ym»);РАЗНДАТ(B2;B3;»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;B3;»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;B3;»md»)>0;РАЗНДАТ(B2;B3;»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)
Выглядит угрожающе, но зато работает.
Подсчет с помощью функции ДНИ
У пользователей Excel 2013 и 2016 есть еще один удивительно простой способ посчитать количество дней во временном интервале — функция ДНИ.
ДНИ (дата_окончания; дата_начала)
Обратите внимание, что по сравнению с РАЗНДАТ, функция ДНИ требует указания дат в обратном порядке.
Итак, наше выражение принимает вид:
=ДНИ(B3;A3)
Как и обычное вычитание, оно возвращает разницу в виде положительного или отрицательного числа, в зависимости от того, больше или меньше срок окончания, чем начало:
Думаю, в большинстве случаев можно использовать простое вычитание. Возможно, при этом только нужно будет изменить формат ячейки, убрав дробную часть.
Как рассчитать количество дней между сегодня и другой датой.
Для этого расчета вы можете использовать любую из формул, описанных выше, и применить функцию СЕГОДНЯ (TODAY в английском варианте) в качестве одного из аргументов.
Чтобы рассчитать количество прошедших дней с определенного момента, то есть между прошлым и сегодняшним днем:
=СЕГОДНЯ() – Дата_в_прошлом
Для подсчета количества дней, оставшихся до наступления какого-то события, то есть между будущим временем и сегодняшним днем:
=Дата_в_будущем — СЕГОДНЯ()
В качестве примера, давайте посчитаем разницу между текущим моментом времени и более ранним — в A4 (сегодня 18 марта 2020г.):
=СЕГОДНЯ()–A3
А теперь давайте выясним, сколько осталось от сегодняшнего дня (18.03.2020г.) до более позднего срока:
Ну а если не менять выражение по сравнению с предыдущим расчетом, то просто получите отрицательное количество дней.
Мастер даты и времени — простой способ создавать формулы разницы дат в Excel
Как показано в первой части этого руководства, функция РАЗНДАТ (DATEDIF) — довольно универсальная, подходящая для самых разных целей. Однако есть один существенный недостаток — она не документирована Microsoft, то есть вы не найдете РАЗНДАТ в списке функций и не увидите всплывающих подсказок для аргументов, когда начнете вводить формулу в ячейку. Чтобы иметь возможность использовать функцию РАЗНДАТ в своих таблицах, вы должны запомнить ее синтаксис и ввести все аргументы вручную, что может занять много времени и привести к ошибкам, особенно у начинающих.
Надстройка Ultimate Suite радикально меняет это положение, поскольку там имеется мастер даты и времени, который может мгновенно создать практически любую формулу разницы дат. Если вы не уверены, какую формулу использовать, позвольте мастеру даты и времени вычислить количество дней между двумя датами за вас Вот каким образом это можно сделать:
- Выберите ячейку, в которую вы хотите вставить формулу.
- Перейдите на вкладку Ablebits Tools и нажмите кнопку Мастер даты и времени (Date & Time Wizard).
- Появится диалоговое окно мастера даты и времени, где вы переходите на вкладку «Разница (Difference)» и вводите необходимые данные для расчёта:
- Щелкните поле Дата 1 и выберите ячейку, содержащую первую дату.
- Щелкните поле Дата 2 и укажите ячейку со второй датой.
- Выберите желаемую единицу или комбинацию единиц времени из раскрывающегося меню «Разница в (Difference in)» . При этом программа позволяет предварительно просмотреть результат в поле и формулу в ячейке.
Инструмент может рассчитать разницу между двумя датами в 15 форматах:
- Годы
- Месяцы
- Недели
- Дни
- Годы + месяцы
- Годы + недели
- Годы + дни
- Месяцы + недели
- Месяцы + дни
- Недели + дни
- Годы + месяцы + недели
- Годы + месяцы + дни
- Годы + недели + дни
- Месяцы + недели + дни
- Годы + месяцы + недели + дни
- Если вас устраивает то, что вы увидели, нажмите кнопку «Вставить формулу (Insert Formula)», в противном случае попробуйте другие единицы измерения.
После того, как формула вставлена в выбранную ячейку, вы можете скопировать ее вниз по столбцу, как обычно дважды щелкнув или перетащив маркер заполнения.
К сожалению, метки даты и времени вставляются по-английски. Однако, поскольку надстройка формирует для вас не текст, а формулу расчета (что вы и видите на скриншоте), то откорректировать формулу и пользоваться в дальнейшем ее русской версией не слишком сложно.
Да и вряд ли вы самостоятельно напишете такую сложную конструкцию 😊
Для наиболее удобного представления результатов доступно еще несколько дополнительных опций:
- Исключить годы и / или месяцы из расчетов. (Годы и / или месяцы просто будут отброшены).
- Показывать или не показывать текстовые метки времени, такие как дни, месяцы, недели и годы .
- Показывать или не показывать нулевые единицы (0 месяцев, например) .
- Возвращает результаты как отрицательные значения, если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания). Думаю, вы сталкивались с ситуацией, когда попытка вычесть из более ранней даты более позднюю приводила к ошибке. Здесь вы просто получите отрицательную разность.
Более подробная информация доступна здесь.
Преимущества использования мастера формул даты и времени
Помимо скорости и простоты, Мастер даты и времени предоставляет еще несколько преимуществ:
- В отличие от обычной формулы РАЗНДАТ, для формулы, созданной мастером, не важно, какая из двух дат меньше, а какая больше. Разница всегда рассчитывается идеально, даже если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания).
- Мастер поддерживает все возможные единицы измерения (дни, недели, месяцы и годы) и позволяет вам выбирать подходящий вариант из 11 различных комбинаций этих единиц.
- Формулы, которые мастер создает для вас, являются обычными формулами Excel, поэтому вы можете редактировать, копировать или перемещать их как обычно. Вы также можете поделиться своими таблицами с другими людьми, и все формулы останутся на своих местах, даже если у кого-то нет Ultimate Suite в их Excel.
Если вам интересно протестировать этот калькулятор дат, а также открыть для себя еще 60 надстроек для упрощения работы и экономии времени в Excel, то можете загрузить пробную версию Ultimate Suite. Если вам понравились инструменты и вы решили купить лицензию, не пропустите это специальное предложение для читателей нашего сайта.
Думаю, теперь операции с датами стали для вас намного проще и понятнее. Если вы не нашли ответ на интересующий вас вопрос, ознакомьтесь с дополнительными материалами, ссылки на которые вы видите чуть ниже. Или напишите нам в комментариях – постараемся ответить.
Также рекомендуем статьи о работе с датами: