MySQL | Функции для работы с датами и временем
Последнее обновление: 26.05.2018
MySQL имеет ряд встроенных функций для работы с датами и временем.
Получение даты и времени
- Функции NOW(), SYSDATE(), CURRENT_TIMESTAMP() возвращают текущую локальную дату и время на основе системных часов в виде объекта datetime. Все три функции возвращают одинаковый результат SELECT NOW(); — 2018-05-25 21:34:55
SELECT SYSDATE(); — 2018-05-25 21:34:55
SELECT CURRENT_TIMESTAMP(); — 2018-05-25 21:32:55 - Функции CURDATE и CURRENT_DATE возвращают текущую локальную дату в виде объекта date: SELECT CURRENT_DATE(); — 2018-05-25
SELECT CURDATE(); — 2018-05-25 - Функции CURTIME и CURRENT_TIME возвращают текущее время в виде объекта time: SELECT CURRENT_TIME(); — 20:47:45
SELECT CURTIME(); — 20:47:45 - UTC_DATE возвращает текущую локальную дату относительно GMT SELECT UTC_DATE(); — 2018-05-25
- UTC_TIME возвращает текущее локальное время относительно GMT SELECT UTC_TIME(); — 17:47:45
Парсинг даты и времени
- DAYOFMONTH(date) возвращает день месяца в виде числового значения
- DAYOFWEEK(date) возвращает день недели в виде числового значения
- DAYOFYEAR(date) возвращает номер дня в году
- MONTH(date) возвращает месяц даты
- YEAR(date) возвращает год из даты
- QUARTER(date) возвращает номер квартала года
- WEEK(date ) возвращает номер недели года. Необязательный параметр позволяет задать стартовый день недели. Если этот параметр равен 1, то первым днем считается понедельник, иначе воскресенье
- LAST_DAY(date) возвращает последний день месяца в виде даты
- DAYNAME(date) возвращает название дня недели
- MONTHNAME(date) возвращает название текущего месяца
- HOUR(time) возвращает час времени
- MINUTE(time) возвращает минуту времени
- SECOND(time) возвращает секунду времени
Примеры функций:
Функция EXTRACT
Функция EXTRACT извлекает из даты и времени какой-то определенный компонент. Ее формальный синтаксис:
EXTRACT(unit FROM datetime)
Значение datetime представляет исходную дату и (или) время, а значение unit указывает, какой компонент даты или времени будет извлекаться. Параметр unit может представлять одно из следующих значений:
- SECOND (секунды)
- MINUTE (минуты)
- HOUR (час)
- DAY (день)
- MONTH (месяц)
- YEAR (год)
- MINUTE_SECOND (минуты и секунды)
- HOUR_MINUTE (часы и минуты)
- DAY_HOUR (день и часы)
- YEAR_MONTH (год и месяц)
- HOUR_SECOND (часы, минуты и секунды)
- DAY_MINUTE (день, часы и минуты)
- DAY_SECOND (день, чаы, минуты и секунды)
Примеры вызова функции:
Функции для манипуляции с датами
Ряд функций позволяют производить операции сложения и вычитания с датами и временем:
- DATE_ADD(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом сложения даты date с определенным временным интервалом. Интервал задается с помощью выражения INTERVAL expression unit, где INTERVAL предоставляет ключевое слово, expression — количество добавляемых к дате единиц, а unit — тип единиц (часы, дни и т.д.) Параметр unit может иметь те же значения, что и в функции EXTRACT, то есть DAY, HOUR и т.д.
- DATE_SUB(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом вычитания из даты date определенного временного интервала
- DATEDIFF(date1, date2) возвращает разницу в днях между датами date1 и date2
- TO_DAYS(date) возвращает количество дней с 0-го года
- TIME_TO_SEC(time) возвращает количество секунд, прошедших с момента полуночи
Примеры применения:
Форматирование дат и времени
- DATE_FORMAT(date, format) возвращает объект DATE или DATETIME, отформатированный с помощью шаблона format
- TIME_FORMAT(date, format) возвращает объект TIME или DATETIME, отформатированный с помощью шаблона format
Обе функции в качестве второго параметра принимают строку форматирования или шаблон, который показывает, как оформатировать значение. Этот шаблон может принимать следующие значения:
- %m: месяц в числовом формате 01..12
- %с: месяц в числовом формате 1..12
- %M: название месяца (January…December)
- %b: аббревиатура месяца (Jan…Dec)
- %d: день месяца в числовом формате 00..31
- %e: день месяца в числовом формате 0..31
- %D: номер дня месяца с суффиксом (1st, 2nd, 3rd…)
- %y: год в виде двух чисел
- %Y: год в виде четырех чисел
- %W: название дня недели (Sunday…Saturday)
- %a: аббревиатура дня недели (Sun…Sat)
- %H: час в формате 00..23
- %k: час в формате 0..23
- %h: час в формате 01..12
- %l: час в формате 1..12
- %i: минуты в формате 00..59
- %r: время в 12-ти часовом формате (hh:mm:ss AM или PM)
- %T: время в 24-ти часовом формате (hh:mm:ss)
- %S: секунды в формате 00..59
- %p: AM или PM
Примеры применения:
В качестве примера использования функций найдем заказы, которые были сделаны 5 дней назад:
Вычесть одно время из другого
Как вы, наверное, знаете, время в Excel — это обычные десятичные числа, отформатированные так, чтобы они выглядели как время. И поскольку это числа, вы можете складывать и вычитать время так же, как и любые другие числовые значения.
Самая простая и очевидная формула Excel чтобы посчитать время от одного момента до другого:
В зависимости от ваших данных, формула разницы во времени может принимать различные формы, например:
Формула | Пояснение |
=A2-B2 | Вычисляет разницу между временами в ячейках A2 и B2. |
=ВРЕМЗНАЧ(«21:30») — ВРЕМЗНАЧ («8:40») | Вычисляет разницу между указанными моментами времени, которые записаны как текст. |
=ВРЕМЯ(ЧАС(A2); МИНУТЫ(A2); СЕКУНДЫ(A2)) — ВРЕМЯ (ЧАС (B2); МИНУТЫ (B2); СЕКУНДЫ (B2)) | Вычисляет разницу во времени между значениями в ячейках A2 и B2, игнорируя разницу в датах, когда ячейки содержат значения даты и времени. |
Помня, что во внутренней системе Excel время представлено дробной частью десятичного числа, вы, скорее всего, получите результаты, подобные этому скриншоту:
В зависимости оп применяемого форматирования, в столбце D вы можете увидеть десятичные дроби (если установлен формат Общий). Чтобы сделать результаты более информативными, вы можете настроить отображаемый формат времени с помощью одного из следующих шаблонов:
Формат | Объяснение |
ч | Прошедшее время отображается только в часах, например: 4. |
ч:мм | Прошедшие часы и минуты отображаются в формате 4:50. |
ч:мм:сс | Прошедшие часы, минуты и секунды отображаются в формате 4:50:15. |
Чтобы применить пользовательский формат времени, используйте комбинацию клавиш , чтобы открыть диалоговое окно «Формат ячеек», выберите «Пользовательский» и введите шаблон формата в поле «Тип». Подробные инструкции вы можете найти в статье
А теперь давайте разберем это на простых примерах. Если время начала находится в столбце B, а время окончания — в столбце A, вы можете использовать эту простую формулу:
=$A2-$B2
Прошедшее время отображается по-разному в зависимости от использованного формата времени, как видно на этом скриншоте:
Примечание. Если время отображается в виде решеток (#####), то либо ячейка с формулой недостаточно широка, чтобы вместить полученный результат, либо итогом ваших расчетов времени является отрицательное число. Отрицательное время в Экселе недопустимо, но это ограничение можно обойти, о чем мы поговорим далее.
Как суммировать время и форматировать как часы, минуты или секунды в Excel?
В общем, после суммирования времени результат форматируется как время, например, чч: мм: сс. Но в некоторых случаях вы можете просуммировать время, а затем отформатировать результат как десятичные часы, минуты или секунды. В этом руководстве рассказывается о методах решения этой задачи в Excel.
Суммировать время и формат в часах / минутах / секундах
В Excel вы можете сначала просуммировать время, а затем отформатировать результат по своему усмотрению.
1. Выберите пустую ячейку и введите = СУММ (A2: B2) в него, а затем нажмите Enter и перетащите маркер автозаполнения над ячейками, которые необходимо применить для этой формулы. Смотрите скриншот:
2. Затем, не снимая выделения с ячеек формулы, щелкните правой кнопкой мыши, чтобы выбрать Формат ячеек из контекстного меню. Смотрите скриншот:
3. в Формат ячеек диалоговое окно, выберите На заказ в Категория lнаходится под Число вкладка, и если вы хотите отформатировать результат как часы, введите в текстовое поле ниже Тип раздел. Смотрите скриншот:
4. Нажмите OK. И все ячейки имеют формат часов. Смотрите скриншот:
Наконечник:
Если вы хотите отформатировать ячейки в формате минут или секунд, просто введите or в текстовое поле ниже Тип в Формат ячеек Диалог.
Форматировать как
Форматировать как
Суммировать время и формат в десятичном формате часы / минуты / секунды
Но с помощью вышеуказанного метода вы не можете получить точный результат, если результат отформатирован только в часах или минутах. Однако с Kutools for ExcelАвтора Конвертировать время утилиту, вы можете преобразовать результат в точные десятичные часы, минуты или секунды.
Kutools for Excel, с более чем 300 удобные функции, облегчающие вашу работу. |
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите пустую ячейку и введите = СУММ (A2: B2) в него, а затем нажмите Enter и перетащите маркер автозаполнения над ячейками, которые необходимо применить для этой формулы. Смотрите скриншот:
2. Продолжайте выбирать ячейки формулы и щелкните Кутулс > > Конвертировать время, и выберите нужный вариант. Смотрите скриншот:
Затем появится диалоговое окно, напоминающее общее количество преобразованных ячеек, просто нажмите OK закрыть его.
И затем вы можете увидеть, что результаты представлены в десятичном формате: часы, минуты или секунды.
Преобразовать время в часы
Обратить время в минуты
Преобразовать время в секунды
Работы С Нами Kutools for ExcelАвтора Конвертировать время, вы также можете сохранить преобразованное время в другом месте, нажав Кутулс > > Конвертировать время Показать Конвертировать время диалог и проверьте Сохранить в другое место (диапазон преобразования — одна область) вариант и выберите ячейку для вывода результатов, затем нажмите Ok, а преобразованные результаты помещаются в выбранные ячейки.
Преобразование времени в десятичные часы, минуты, секунды
Относительные статьи:
- Как преобразовать время в десятичные часы / минуты / секунды в Excel?
- Как разделить дату и время из ячейки на две ячейки в Excel?
- Как сгенерировать случайную дату буднего или выходного дня в Excel?
- Как создать список будних / рабочих дней в Excel?
Вставка текущих даты и времени в ячейку
Предположим, что вы хотите просто ввести текущую дату и время в журнал событий. Или, возможно, требуется автоматически отобразить текущую дату и время в ячейке при каждом пересчете формул. Существует несколько способов вставки в ячейку текущих даты и времени.
Вставка фиксированного значения даты или времени в ячейку Excel
Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Поскольку значение ячейки не меняется, оно считается статичным.
Выделите на листе ячейку, в которую требуется вставить текущую дату или время.
Выполните одно из действий, указанных ниже.
Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).
Чтобы вставить текущее время, нажмите клавиши CTRL+SHIFT+; (точка с запятой).
Чтобы вставить текущие дату и время, нажмите клавиши CTRL+; (точка с запятой), затем клавишу ПРОБЕЛ, а после этого — CTRL+SHIFT+; (точка с запятой).
Изменение формата даты и времени
Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите команду Формат ячеек. Затем в диалоговом окне Формат ячеек на вкладке число в разделе Категориявыберите пункт Дата или время , а затем в списке тип выберите тип и нажмите кнопку ОК.
Вставка фиксированного значения даты или времени в ячейку Excel
Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Поскольку значение ячейки не меняется, оно считается статичным.
Выделите на листе ячейку, в которую требуется вставить текущую дату или время.
Выполните одно из действий, указанных ниже.
Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).
Чтобы вставить текущее время, нажмите клавиши +; (точка с запятой).
Чтобы вставить текущие дату и время, нажмите клавиши CTRL +; (точка с запятой), нажмите клавишу пробел, а затем — клавишу +; (точка с запятой).
Изменение формата даты и времени
Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите команду Формат ячеек. Затем в диалоговом окне Формат ячеек на вкладке число в разделе Категориявыберите пункт Дата или время , а затем в списке тип выберите тип и нажмите кнопку ОК.
Вставка фиксированного значения даты или времени в ячейку Excel
Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Поскольку значение ячейки не меняется, оно считается статичным.
Выделите на листе ячейку, в которую требуется вставить текущую дату или время.
Выполните одно из действий, указанных ниже.
Чтобы вставить дату, введите дату (например, 2/2) и нажмите кнопку раскрывающегося списка Формат номерадома > (на вкладке число ) >Краткая дата или длинный день.
Чтобы вставить время, введите время и нажмите кнопку раскрывающегося списка Формат номерадома > (на вкладке число ) >time (время).
Изменение формата даты и времени
Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите пункт Числовой Формат. Затем в диалоговом окне Формат номера в разделе Категориявыберите значение Дата или время , а затем в списке тип выберите тип и нажмите кнопку ОК.
Как работает функция СЧЕТЕСЛИМН?
Она вычисляет количество соответствий в нескольких диапазонах на основе одного или множества критериев.
Синтаксис функции выглядит следующим образом:
СЧЕТЕСЛИМН(диапазон1;условие1; …)
- диапазон1 (обязательный) — определяет первую область, к которой должно применяться первое условие ( условие1).
- условие1 (обязательное) — устанавливает требование к отбору в виде числа , ссылки на ячейку , текстовой строки , выражения или другой функции Excel. Определяет, какие ячейки должны учитываться.
- … (необязательные) — это дополнительные области и связанные с ними критерии. Вы можете указать до 127 таких пар.
На самом деле, вам не нужно помнить этот синтаксис наизусть. Microsoft Excel отобразит аргументы функции, как только вы начнете печатать; аргумент, который вы вводите в данный момент, будет выделен жирным шрифтом.
Что нужно запомнить?
- Диапазонов поиска может быть от 1 до 127. Для каждого из них указывается свое условие. Учитываются только те случаи, которые отвечают всем предъявленным требованиям.
- Каждый дополнительный диапазон должен иметь одинаковое число строк и столбцов с первым. Иначе получите ошибку #ЗНАЧ!
- Допускаются как смежные, так и несмежные диапазоны.
- Если в аргументе указана ссылка на пустую ячейку , функция обрабатывает его как нулевое значение (0).
- В критериях можно использовать символы подстановки — звездочка (*) и знак вопроса (?). Далее мы расскажем об этом подробнее.
Как работает и для чего нужна функция ЕСЛИ
Функцию ЕСЛИ используют, когда нужно сравнить данные таблицы с критериями пользователя. У функции есть два результата: ИСТИНА и ЛОЖЬ. Первый результат функция выдаёт, когда данные ячейки полностью совпадают с заданным условием, второй — когда данные ячейки условию не соответствуют.
Например, если нужно определить в таблице значения меньше 500, то значение 265 будет отмечено функцией как истинное, а значение 3426 — как ложное.
Можно задавать несколько условий одновременно. Например, найти значения меньше 500, но больше 300. В этом случае функция определит значение 265 как ложное, а 402 — как истинное. Так можно проверять не только числовые значения, но и текст.
Часто функцию ЕСЛИ используют при работе с другими функциями Excel для расширения их возможностей. Например, в случае с ВПР функция ЕСЛИ позволяет настроить поиск сразу по двум критериям.
Рассмотрим, как работает функция ЕСЛИ в классическом виде на примере.
Представим, что в автосалон обратился покупатель с просьбой подобрать ему автомобиль. Его запрос — автомобили чёрного или красного цвета, с объёмом двигателя больше 1,5 л, стоимостью до 2,5 млн рублей. Есть каталог автомобилей, но все характеристики и цены расположены в нём вразброс.
Так выглядит каталог автомобилейСкриншот: Excel / Skillbox Media
Как вычислить дату в Excel
Дата и время в Excel – это числа сформатированные специальным образом. Датой является целая часть числа, а время (часы и минуты) – это дробная часть.
По умолчанию число 1 соответствует дате 01 января 1900 года. То есть каждая дата – это количество дней прошедших от 01.01.1900. На данном уроке детально рассмотрим даты, а на следующих уроках – время.
Как в Excel посчитать дни между датами?
Так как дата является числом, значит можно проводить с ним математические вычислительные и расчетные операции. Посчитать количество дней между двумя датами Excel не составляет особых проблем. Для наглядного примера сначала выполним сложение, а потом вычитание дат. Для этого:
- На чистом листе в ячейку А1 введите текущею дату нажав CTRL+;.
- В ячейке A2 введите промежуточный период в днях, например 127.
- В ячейку A3 введите формулу:=A1+A2.
Обратите внимание, формат «Дата» автоматически присвоился для ячейки A3. Не сложно догадаться, чтобы посчитать разницу в датах в Excel нужно от новейшей даты отнять старшую дату
В ячейке B1 введите формулу:=A3-A1. Соответственно мы получаем количество дней между этими двумя датами.
Вычисление возраста по дате рождения в Excel
Теперь мы научимся вычислять возраст по дате рождения:
- На новый лист в ячейки A1:A3 введите даты: 18.04. 1985; 17.08.1977; 08.12.1992
- В ячейки B1:B3 проставьте текущею дату.
- Теперь нужно воспользоваться функцией по преобразованию количества дней в количество лет. Для этого вручную введите в диапазон C1:C3 следующее значение: =РАЗНДАТ(A1;B1;»y»).
Таким образом, применение функции позволило нам точно вычислить возраст по дате рождения в Excel.
Внимание! Чтобы перевести дни в года не достаточно формулы: =(B1-A1)/365. Более того даже если мы знаем что 1 сутки = 0,0027397260273973 года, то формула:=(B1-A1)*0,0027397260273973 так же не даст точного результата
Дни в года наиболее точно преобразует функция:=РАЗНДАТ(). Английская версия =DATEDIF(). Вы не найдете ее в списке мастера функций (SHIFT+F3). Но если просто введете ее в строку формул, то она сработает.
Функция РАЗНДАТ поддерживает несколько параметров:
Параметр | Описание |
«d» | Количество полных дней |
«m» | Количество полных месяцев |
«y» | Количество полных лет |
«ym» | Количество полных месяцев без учета лет |
«md» | Количество дней без учета месяцев и лет |
«yd» | Количество дней без учета лет |
Проиллюстрируем пример использования нескольких параметров:
Внимание! Чтобы функция:=РАЗНДАТ() работала без ошибок, следите за тем, чтобы начальная дата была старше конечной даты
Ввод даты в ячейку Excel
Целью данного урока является пример математических операций с датами. Так же, мы убедимся, что для Excel тип данных дата является числом.
Заполните таблицу датами, так как показано на рисунке:
Разные способы ввода дат. В столбце А – способ ввода, а в столбце B – результат отображения.
Обратите внимание, что в формате ячеек по умолчанию «Общий», даты также как и число выравниваются по правой стороне, а текст по левой. Значение в ячейке B4 распознается программой как текст
В ячейке B7 Excel сам присвоил текущий год (сейчас 2015-ый) по умолчанию. Это видно при отображении содержимого ячеек в строке формул
Обратите внимание, как изначально вводилось значение в A7
Вычисление даты Excel
На чистом листе в ячейки А1:B1 введите 01.01.1900, а в ячейках A2:B2 вводим 01.01.1901. Теперь меняем формат ячеек на «числовой» в выделенном диапазоне B1:B2. Для этого можно нажать комбинацию клавиш CTRL+SHIFT+1.
B1 теперь содержит число 1, а B2 – 367.
Способ отображения даты можно задать с помощью диалогового окна «Формат ячеек». Для его вызова нажмите: CTRL+1. На закладке «Число» выберите в списке «Числовые форматы» — «Дата». В разделе «Тип» отображаются самые популярные форматы для отображения дат.
Скачать примеры вычисления даты в Excel
На следующем уроке мы на готовых примерах будем работать со временем и периодами суток.
Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах
Предположим, вы работаете в пенсионном фонде и хотите определить трудовой стаж в количестве лет, дней, месяцев и так далее. Это можно сделать с помощью функции РАЗНДАТ.
Ее синтаксис элементарный.
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Единственный из этих аргументов, который действительно может вызвать вопросы у неподготовленного читателя – это способ измерения. С его помощью мы задаем, в каких единицах будет измеряться разница между датами. Это может быть количество месяцев, лет или количество месяцев без учета лет. Еще один вариант – это количество дней без учета месяцев и лет.
Важно учесть, что в некоторых случаях эта функция может вернуть неправильное значение. Это бывает, когда день первой даты больше, чем день второй
Такая ситуация может быть, например, когда нужно рассчитать количество дней между двумя датами, первая из которых происходила в конце месяца, а другая – в начале следующего.
Пример №1. Подсчет количества лет между двумя датами
На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.
Разница дат в полных месяцах
Чтобы определить количество полных месяцев, которое прошло с одной даты до другой, необходимо воспользоваться такой же самой формулой, которая была приведена выше, только третий аргумент должен содержать аргумент m.
То есть, формула следующая.
=РАЗНДАТ(A2;B2;”m”)
Эта формула также может давать несколько неточные данные. Поэтому всегда нужно перепроверять значения самостоятельно.
Разница в днях без учета лет
Эта формула также может использоваться для определения количества дней между двумя датами, но при этом не учитывать количество лет, которое прошло между этими двумя временными точками. Эта возможность есть, но пользоваться ею настоятельно не рекомендуется, потому что искажений в этом случае может быть еще больше.
1
Эта формула вернет правильный результат только тогда, когда в компьютере показано правильное время. Конечно, в большинстве современных операционных системах дата и время определяется автоматически, но иногда случаются сбои. Поэтому перед тем, как подсчитывать разницу в днях без учета лет, нужно убедиться, что на компьютере установлена правильная дата и время. Особенно если электронная таблица пересылалась другому человеку.
Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):
Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).
Сдвиг даты на заданное количество дней
Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.
Сдвиг даты на заданное количество рабочих дней
Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ(NETWORKDAYS) описанной выше.
Вычисление дня недели
Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.
Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).
Вычисление временных интервалов
Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.
Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:
Как Excel обрабатывает время
Программа Excel «воспринимает» дату и время как обычное число. Электронная таблица преобразует подобные данные, приравнивая сутки к единице. В результате значение времени представляет собой долю от единицы. К примеру, 12.00 – это 0,5.
Значение даты электронная таблица преобразует в число, равное количеству дней от 1 января 1900 года (так решили разработчики) до заданной даты. Например, при преобразовании даты 13.04.1987 получается число 31880. То есть от 1.01.1900 прошло 31 880 дней.
Этот принцип лежит в основе расчетов временных данных. Чтобы найти количество дней между двумя датами, достаточно от более позднего временного периода отнять более ранний.
Пример функции ДАТА
Построение значение даты, составляя его из отдельных элементов-чисел.
Синтаксис: год; месяц, день.
Все аргументы обязательные. Их можно задать числами или ссылками на ячейки с соответствующими числовыми данными: для года – от 1900 до 9999; для месяца – от 1 до 12; для дня – от 1 до 31.
Если для аргумента «День» задать большее число (чем количество дней в указанном месяце), то лишние дни перейдут на следующий месяц. Например, указав для декабря 32 дня, получим в результате 1 января.
Пример использования функции:
Зададим большее количество дней для июня:
Примеры использования в качестве аргументов ссылок на ячейки:
Функция РАЗНДАТ в Excel
Возвращает разницу между двумя датами.
- начальная дата;
- конечная дата;
- код, обозначающий единицы подсчета (дни, месяцы, годы и др.).
Способы измерения интервалов между заданными датами:
- для отображения результата в днях – «d»;
- в месяцах – «m»;
- в годах – «y»;
- в месяцах без учета лет – «ym»;
- в днях без учета месяцев и лет – «md»;
- в днях без учета лет – «yd».
В некоторых версиях Excel при использовании последних двух аргументов («md», «yd») функция может выдать ошибочное значение. Лучше применять альтернативные формулы.
Примеры действия функции РАЗНДАТ:
В версии Excel 2007 данной функции нет в справочнике, но она работает. Хотя результаты лучше проверять, т.к. возможны огрехи.
Функция ГОД в Excel
Возвращает год как целое число (от 1900 до 9999), который соответствует заданной дате. В структуре функции только один аргумент – дата в числовом формате. Аргумент должен быть введен посредством функции ДАТА или представлять результат вычисления других формул.
Пример использования функции ГОД:
Функция МЕСЯЦ в Excel: пример
Возвращает месяц как целое число (от 1 до 12) для заданной в числовом формате даты. Аргумент – дата месяца, который необходимо отобразить, в числовом формате. Даты в текстовом формате функция обрабатывает неправильно.
Примеры использования функции МЕСЯЦ:
Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel
Возвращает день как целое число (от 1 до 31) для заданной в числовом формате даты. Аргумент – дата дня, который нужно найти, в числовом формате.
Чтобы вернуть порядковый номер дня недели для указанной даты, можно применить функцию ДЕНЬНЕД:
По умолчанию функция считает воскресенье первым днем недели.
Для отображения порядкового номера недели для указанной даты применяется функция НОМНЕДЕЛИ:
Дата 24.05.2015 приходится на 22 неделю в году. Неделя начинается с воскресенья (по умолчанию).
В качестве второго аргумента указана цифра 2. Поэтому формула считает, что неделя начинается с понедельника (второй день недели).
Для указания текущей даты используется функция СЕГОДНЯ (не имеет аргументов). Чтобы отобразить текущее время и дату, применяется функция ТДАТА ().
Как прибавить (вычесть) несколько месяцев к дате в Excel
Чтобы прибавить (или отнять) определённое количество месяцев к дате, нужно использовать функцию ДАТА (DATE) или ДАТАМЕС (EDATE), как показано ниже.
Пример 1. Прибавляем несколько месяцев к дате с помощью функции ДАТА
Если список дат находится, например, в столбце A, укажите количество месяцев, которые Вы хотите добавить (положительное число) или отнять (отрицательное число) в какой-то ячейке, скажем, в C2.
Введите в ячейку B2 указанную ниже формулу, щёлкните по выделенному углу ячейки и протащите его мышкой вниз по столбцу B до последней заполненной ячейки в столбце A. Формула из ячейки B2 будет скопирована во все ячейки столбца B.
Посмотрим, что делает эта формула. Логика формулы ясна и очевидна. Функция ДАТА(год; месяц; день) получает следующие аргументы:
- Год из даты в ячейке A2;
- Месяц из даты в ячейке A2 + количество месяцев, указанное в ячейке C2;
- День из даты в ячейке A2;
Всё просто! Если Вы введёте в C2 отрицательное число, формула вычтет месяцы, а не прибавит.
Естественно, ничто не мешает Вам ввести минус прямо в формуле, чтобы вычесть месяцы:
И, конечно, вы можете указать число прибавляемых или вычитаемых месяцев непосредственно в формуле без ссылки на ячейку. Готовые формулы будут выглядеть примерно так:
-
Прибавить месяцы к дате:
-
Вычесть месяцы из даты:
Пример 2. Прибавляем или вычитаем месяцы из даты с помощью функции ДАТАМЕС
В Excel предусмотрена специальная функция, которая возвращает дату, отстоящую от заданной на определенное количество месяцев назад или вперёд, – это функция ДАТАМЕС (EDATE). Она доступна в последних версиях Excel 2007, 2010, 2013 и новой Excel 2016.
При использовании ДАТАМЕС (EDATE) Вы указываете два следующих аргумента:
- Начальная дата – дата, от которой отсчитывается количество месяцев.
- Месяцы – количество месяцев, которые нужно прибавить (положительное число) или отнять (отрицательное число).
Эти формулы дадут тот же самый результат, что и формулы с функцией ДАТА (DATE) в предыдущем примере:
При использовании функции ДАТАМЕС (EDATE) начальную дату и количество месяцев можно указывать непосредственно в формуле. Даты можно задавать с помощью функции ДАТА (DATE) или как результат выполнения других формул. Например:
-
Эта формула прибавляет 10 месяцев к 7 мая 2015 года
-
Эта формула отнимает 10 месяцев от сегодняшней даты
Примечание: Функция ДАТАМЕС (EDATE) возвращает просто целое число. Чтобы представить его как дату, необходимо применить к ячейке формат даты. Как это сделать, указано в статье Как изменить формат даты в Excel.