Сложение дат в excel
Excel: арифметические действия с датами
Если в работе вам необходимо проводить операции с датами, возможности Excel помогут упростить вашу работу. С датами можно выполнять различные операции. Можно менять форматы дат (с помощью вкладки Число диалогового окна Формат ячейки), сортировать их в порядке возрастания или убывания. С датами можно выполнять арифметические действия. Например, чтобы получить какую-нибудь дату в будущем, можно прибавить к текущей дате заданное число дней. Или, если из одной даты вычесть другую, можно определить число дней, прошедших между ними.
Пример 1
1. Чтобы выяснить, сколько проработал в компании тот или иной служащий, нужно из текущей даты вычесть дату поступления его на работу. Если в рабочей таблице содержатся даты приема на работу, в нее целесообразно добавить сегодняшнее число. (Самый простой способ введения текущей даты – с помощью комбинации клавиш CTRL SHIFT; ).
2. Активизируйте ячейку, в которую будет заноситься трудовой стаж данного служащего.
3. Теперь из текущей даты нужно вычесть дату приема на работу. В рассматриваемом примере сначала можно попробовать воспользоваться формулой =$В$2-C5. Обратите внимание на результат! Получилось такое большое число, потому что формула вычисляет количество дней (а не лет) работы на предприятии.
4. Разделив результаты на 365, получим ответ в годах. В нашем случае формула должна иметь вид =($В$2-C5)/365. Теперь легко заметить, что первый сотрудник проработал на предприятии более 22 лет.
5. С помощью маркера заполнения скопируем формулу во все остальные ячейки столбца D. Чтобы после копирования формула оставалась корректной, ссылка на ячейку, содержащую текущую дату, должна быть абсолютной ($В$2).
6. В качестве последнего шага по приведению данных в порядок может понадобиться сократить количество десятичных разрядов в дробных частях чисел или даже полностью убрать десятичные разряды. Выделив числа в столбце D, щелкните на кнопке Уменьшить разрядность на панели инструментов столько раз, сколько разрядов нужно сократить. При этом сокращается количество десятичных знаков, отображаемых на экране, но не записанных в памяти компьютера, где эти числа хранятся.
Пример 2
Чтобы определить дату в будущем, можно прибавить число к текущей дате. Например, прибавьте 30 к сегодняшней дате и узнаете, какое число будет через 30 дней. Такой способ выполнения арифметических операций над датами бесценен при определении, например, последнего срока оплаты счетов.
Чтобы ввести дату прямо в формулу (в отличие от ввода ссылки на ячейку, в которой содержится нужная дата), заключите дату в двойные кавычки.
Понравилось? Поделись с друзьями
Семинары. Вебинары. Конференции
Актуальные темы. Лучшие лекторы Москвы и РФ. Сертификаты ИПБР. Более 30 тематик в месяц.
Сложение или вычитание дат
Предположим, что вы хотите добавить две недели к сроку, установленному в календарном плане проекта, и определить новую дату окончания, или выяснить по списку задач проекта, сколько времени потребуется для выполнения одной задачи. Можно сложить или вычесть дни, отталкиваясь от даты, с помощью простой формулы или использовать функции листа, предназначенные для работы с датами в Excel.
Сложение и вычитание дней из даты
Предположим, что на второй четверг каждого месяца выставляется счет. Вы хотите передать деньги на ваш платежный счет, чтобы эти деньги приступили к 15 дням за это время, поэтому вы получите от даты выполнения вычесть 15 дней. В приведенном ниже примере показано, как добавлять и вычитать даты с помощью ввода положительных и отрицательных чисел.
Введите даты выполнения в столбце A.
Введите количество дней, которые нужно сложить или вычесть в столбце B. Вы можете ввести отрицательное число для вычитания дней с даты начала и положительное число, которое нужно добавить к дате.
В ячейке C2 введите = a2 + b2и скопируйте вниз по мере необходимости.
Сложение и вычитание месяцев из даты с помощью функции ДАТАМЕС
Функцию ДАТАМЕС можно использовать для быстрого сложения и вычитания месяцев из даты.
Для функции ДАТАМЕС требуется два аргумента: Дата начала и количество месяцев, которые нужно сложить или вычесть. Чтобы вычесть месяцы, введите в качестве второго аргумента отрицательное число. Например, = ДАТАМЕС («9/15/19»;-5) возвращает 4 /15/19.
В этом примере вы можете вводить даты начала в столбце A.
Введите число месяцев, которые нужно сложить или вычесть в столбце B. Чтобы указать, следует ли вычитать месяц, можно ввести знак минус (-) перед числом (например,-1).
Введите = ДАТАМЕС (A2; B2) в ячейку C2 и скопируйте вниз по мере необходимости.
В зависимости от формата ячеек, содержащих введенные формулы, Excel может отображать результаты в виде порядковых номеров. Например, 8-Фев-2019 может отображаться как 43504.
В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900 является порядковым числом 1, а 1 января 2010 — порядковым номером 40179, так как это 40 178 дней после 1 января 1900 г.
Если результаты отображаются как порядковые номера, выделите нужные ячейки и продолжите выполнение описанных ниже действий.
Нажмите клавиши CTRL + 1 , чтобы открыть диалоговое окно Формат ячеек , и откройте вкладку число .
В разделе Категориявыберите пункт Дата, выберите нужный формат даты и нажмите кнопку ОК. Значения в ячейках должны отобразиться как даты.
Сложение и вычитание лет из даты
В этом примере мы добавляем и прочесть годы из даты начала с помощью следующей формулы:
Принцип работы формулы:
Функция year проявляет дату в ячейке A2 и возвращает 2019. Затем он добавляет 3 года из ячейки B2, что приводит к 2022.
Функции Month и Day возвращают только исходные значения из ячейки a2, но они необходимы для использования функции Дата.
Наконец, функция Дата объединяет эти три значения в дату, состоящие из 3 лет в будущем — 02/08/22.
Сложение и вычитание сочетаний дней, месяцев и лет до и после даты
В этом примере мы добавляем и вычитая годы, месяцы и дни из даты начала с помощью следующей формулы:
= ДАТА (ГОД (A2) + B2; МЕСЯЦ (A2) + C2, ДЕНЬ (A2) + D2)
Принцип работы формулы:
Функция year проявляет дату в ячейке A2 и возвращает 2019. Затем он добавляет 1 год из ячейки B2, что приводит к 2020.
Функция Month возвращает 6, а затем добавляет к ней 7 из ячейки C2. Это будет интересно, поскольку 6 + 7 = 13, то есть 1 год и 1 месяц. В этом случае формула рассчитает, что и автоматически добавит еще один год к результату, что приведет к его отрезкой от 2020 до 2021.
Функция Day возвращает число 8, и к ней добавляется 15. Это будет работать аналогично части формулы, если вы выйдете на количество дней в заданном месяце.
Затем функция Дата объединяет эти три значения в дату, состоящие из 1 года, 7 месяцев и 15 дней в будущем — 01/23/21.
Ниже приведены некоторые способы использования формул и функций, которые используются для работы с датами, что позволяет найти влияние на календарный план проекта, если вы добавите две недели или время, необходимое для выполнения задачи.
Допустим, у вашей учетной записи есть 30-дневный цикл выставления счетов и хотите, чтобы деньги за 15 дней до даты выставления счетов 2013 марта были на месяц. Вот как это можно сделать с помощью формулы или функции для работы с датами.
В ячейке a1 введите 2/8/13.
В ячейке B1 введите =A1-15.
В ячейке C1 введите =A1+30.
В ячейке D1 введите =C1-15.
Добавление месяцев к дате
Мы будем использовать функцию ДАТАМЕС , и вам понадобятся Дата начала и количество месяцев, которые вы хотите добавить. Вот как добавить 16 месяцев в 10/24/13:
В ячейке a1 введите 10/24/13.
В ячейке B1 введите = ДАТАМЕС (a1; 16).
Чтобы отформатировать результаты как даты, выделите ячейку B1. Щелкните стрелку рядом с полем числовой формат> Краткая дата.
Вычитание месяцев из даты
Мы будем использовать одну и ту же функцию ДАТАМЕС для вычитания месяцев из даты.
Введите дату в ячейку a1 и ячейку B1 и введите формулу = ДАТАМЕС (4/15/2013,-5) .
Здесь мы указываем значение даты начала, введя дату, заключенную в кавычки.
Вы также можете просто обратиться к ячейке, содержащей значение даты, или с помощью формулы = ДАТАМЕС (a1,-5)для одного и того же результата.
Как суммировать значения между двумя датами
Давайте представим, что мы работаем в торговой компании. Руководитель поставил нам задачу посчитать сумму продаж за последние 15 дней. За конкретный промежуток времени.
Давайте рассмотрим как это сделать.
У нас есть таблица с данными по продажам за каждый день. Для выполнения задачи нам потребуется функция СУММЕСЛИМН.
Как работает функция СУММЕСЛИМН?
Функция СУММЕСЛИМН в Excel используется для суммирования значений по нескольким критериям.
Синтаксис функции выглядит так:
=СУММЕСЛИМН(диапазон_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; …)
- диапазон_суммирования – это диапазон данных, по которым будут вычисляться условия указанных вами критериев для суммирования данных;
- диапазон_условия1, условие1 – диапазон, в котором проверяется первое условие функции. Criteria_range1 (диапазон_условия1) и criteria1(условие1) составляют пару, определяющую, к какому диапазону применяется определенное условие при поиске. Соответствующие значения найденных в этом диапазоне ячеек суммируются в пределах аргумента sum_range (диапазон_суммирования).
- [диапазон_условия2], условие 2] – (опционально) – второй диапазон критериев, по которым будут вычисляться данные;
Формула для суммирования значений между двумя датами
Итак, как я уже писал выше, у нас есть таблица с данными продаж по каждому дню. Наша задача посчитать сумму продаж за период с 1 июня 2018 по 15 июня 2018 года.
Для суммирования продаж за указанный период нам потребуется в любой свободной ячейке использовать следующую формулу:
После ввода этой формулы, функция вернет значение 559 134₽. Это значение соответствует сумме продаж за период с 1 июня по 15 июня 2018 года.
Для проверки корректности расчета выделите диапазон ячеек с данными продаж, соответствущим этим датам и в правом нижнем углу вы увидите сумму значений.
Как работает эта формула
В нашей формуле мы использовали логические операторы в функции СУММЕСЛИМН , которые помогают нам суммировать данные в указанном диапазоне дат.
Давайте разложим формулу на составные части для понимания ее работы:
- Первым делом мы указываем диапазон с данными продаж (B2:B28), среди которого нам нужно выбрать какие значения мы будем суммировать
- Затем, мы указываем диапазон с данными, к которому будет применяться проверка на соответствие условию. В нашем случае это диапазон с датами (A2:A28)
- Следующим шагом мы задаем условие по отношению к диапазону с датами, по которому формула должна определить какие данные суммировать. Мы указали первое условие, что дата должна быть больше или равна 01.06.2018
- Заключительным шагом мы задаем второе условие к диапазону с датами (A2:A28), по которому формула должна суммировать данные за период меньший или равный 15.06.2018
Как результат, функция суммирует значения в диапазоне с 1 по 15 июня 2018 года.
Как суммировать значения между двумя динамическими датами
На примере выше мы рассмотрели как суммировать данные между двумя конкретными датами. Но что, если мы хотим суммировать данные, например, за последние 7 дней на ту дату, в которую мы открыли файл? Если мы не хотим каждый раз проставлять в формулу конкретные даты?
В этом случае нам поможет следующая формула:
Как работает эта формула
В формуле, указанной выше, мы используем функцию СЕГОДНЯ для автоматического вычисления текущей даты.
Здесь, в первом критерии для вычисления нужной даты мы указываем функции условие, при котором нужно суммировать данные за период равный или меньше текущей даты.
Во втором критерии мы указываем функции, что нужно суммировать данные больше или равные текущей дате минус 6 дней.
Таким образом, диапазон двух дат в формуле теперь выглядит как: “Посчитай данные за период с сегодняшнего дня, до минус 6 дней от сегодняшнего дня”.
Если у вас остались вопросы по этому примеру оставляйте их в комментариях.
Трюк №38. Трюки с возможностями даты и времени в Excel
Возможности даты и времени Excel при создании простых таблиц работают прекрасно, но могут вызывать проблемы в более сложных проектах. К счастью, когда допущения Excel не отвечают вашим требованиям, всегда есть способ обойти их.
По умолчанию в Excel используется система дат 1900. Это означает, что числовое значение, лежащее в основе даты 1 января 1900 года, равно 1, у 2 января 1900 года — 2 и так далее. В Excel эти значения называются последовательными значениями, позволяющими использовать даты в вычислениях. Формат времени очень похож, но Excel обрабатывает время как десятичные доли, где 1 — это 24:00, или 00:00. Числовое значение 18:00 (в русской версии) равно 0,75, так как это три четверти от 24 часов.
Чтобы узнать числовое значение даты или времени, отформатируйте ячейку, содержащую значение, форматом Общий (General). Например, у даты и времени (в английской версии) 3/July/2002 3:00:00 РМ числовое значение 37440.625, где число после десятичной точки представляет время, а 37440 — последовательное значение для 3 июля 2002 года.
Сложение за пределами 24 часов
При помощи функции СУММ (SUM) или просто знака плюс время можно складывать. Таким образом, =SUM(A1:A5) даст нам общее количество часов в диапазоне А1 :А5, если эти ячейки содержат допустимые значения времени. Однако если Excel не дано никаких специальных указаний, он не складывает время за пределами 24 часов. Это происходит потому, что, когда значение времени превышает 24 часа (настоящее значение равно 1), оно переходит в новый день и отсчет начинается заново. Чтобы заставить Excel не переходить в новый день после каждых 24 часов, можно использовать формат ячеек 37:30:55 или пользовательский формат [ч]:MM:cc([h]:mm:ss).
Схожий формат можно применять для получения общего количества минут или секунд, Чтобы узнать полное количество минут, когда время равно 24:00, отформатируйте ячейку как [м] ([m]), и вы получите 1440. Чтобы получить общее количество секунд, используйте пользовательский формат [с] ([s]) и вы получите 86400.
Вычисление времени и даты
Если вы хотите использовать фактические значения времени в других вычислениях, помните о следующих «магических» числах: 60 — 60 минут или 60 секунд; 3600 — 60 секунд * 60 минут; 24 — 24 часа; 1440 — 60 минут * 24 часа; 86400 — 24 часа * 60 минут * 60 секунд.
Вооружившись этими магическими числами и предыдущей информацией, намного проще манипулировать временем и датами. Взглянем на следующие примеры и посмотрим, что они обозначают (предполагаем, что время записано в ячейке А1). Если у вас есть число 5.50 и вы хотите получить 5:30 или 5:30 a.m., используйте следующую формулу: =А1/24. Необходимо указать подходящий формат!
Если время должно выглядеть как 17:30 или 5:30 p.m., используйте следующую формулу: =(А1/24)+0.5 .
Чтобы получить противоположное значение, то есть десятичное время из настоящего времени, воспользуйтесь формулой =А1*24 .
Если в ячейке содержится настоящая дата и настоящее время (например, 22/Jan/03 15:36), а вы хотите получить только дату, используйте следующую формулу: =INT(A1) , в русской версии Excel =ЦЕЛОЕ(А1) .
Чтобы получить только время: =A1-INT(A1) , в русской версии Excel =А1-ЦЕЛОЕ(А1) или =MOO(A1;1) , в русской версии Excel =OCTAT(A1;1) . И вновь необходим подходящий формат.
Чтобы найти разность между двумя датами, воспользуйтесь формулой =DATEDIF(A1;A2;»d») , где А1 — это более ранняя дата. Получим количество дней между двумя датами. В качестве результата можно также указать «m» или «у», то есть месяцы или годы. (В действительности функция DATEDIF в Excel 97 не документирована и является функцией Lotus 123.)
Если более ранние дата или время неизвестны, помогут функции МИН (MIN) и МАКС (МАХ). Например, чтобы наверняка получить правильный результат, можно воспользоваться такой функцией: =DATEDIF(MIN(Al;A2); MAX(Al,A2),»d») , в русской версии Excel: =DATEDIF(MИН(Al;A2);MAKC(A1;A2);»d») .
При работе со временем может также понадобиться учитывать начальное и конечное время. Например, начальное время — это 8:50 p.m. в ячейке А1, а конечное время — 9:50 a.m. в ячейке А2. Если вы вычтете начальное время из конечного ( =А2-А1 ), получите в ответе ######, так как Excel по умолчанию не работает с отрицательными значениями времени. Подробнее о том, как работать с отрицательными значениями времени, — в разделе «Трюк № 74. Отображение отрицательных значений времени».
Иначе это ограничение можно обойти двумя способами, гарантировав положительный результат: =MAX(A1;A2)-MIN(A1;A2) , в русской версии Excel =МАКС(А1;А2)-МИН(А1;А2) или =A1-A2+IF(A1>A2,1) , в русской версии Excel =А1-А2+ЕСЛИ(А1>А2;1) .
Можно также приказать Excel прибавить любое количество дней, месяцев или лет к любой дате: =DATE(YEAR(A1)+value1;MONTH(Al)+value2;DAY(Al)+value3) , в русской версии Excel =ДАТА(ГОД(А1)+value1;,МЕСЯЦ(А1)+value2;ДЕНЬ(А1)+value3) .
Чтобы добавить один месяц к дате в ячейке А1, воспользуйтесь формулой =DATE(YEAR(A1);MONTH(A1)+1;DAY(AD) , в русской версии Excel =ДАТА(ГОД(А1);МЕСЯЦ(А1)+1;ДЕНЬ(А1)) .
В Excel реализовано и несколько дополнительных функций, являющихся частью надстройки Analysis ToolPak. Выберите команду Файл → Надстройки (File → Add-Ins) и установите флажок Пакет анализа (Analysis ToolPak) и, если появится сообщение с вопросом, нужно ли установить эту надстройку, ответьте согласием. Станут доступны дополнительные функции, такие, как ДАТАМЕС (EDATE), КОНЕЦМЕСЯЦА (EMONTH), ЧИСТРАБДНИ (NETWORKDAYS) и WEEKNUM. Все эти функции можно найти в категории Дата и время (Date & Time) диалогового окна мастера функций. Их легко применять, сложнее узнать, что эти функции существуют, и привлечь их к делу.
Настоящие даты и время
Иногда в таблицах с импортированными данными (или данными, введенными неправильно) даты и время отображаются как текст, а не как настоящие числа. Это можно легко распознать, немного расширив столбцы, выделив столбец, выбрав команду Главная → Ячейки → Выравнивание (Home → Cells → Alignment) и для параметра По горизонтали (Horizontal) выбрав значение По значению (General) (это формат ячеек по умолчанию). Щелкните кнопку ОК и внимательно просмотрите даты и время. Если какие-либо значения не выровнены по правому краю, Excel не считает их датами.
Чтобы исправить эту ошибку, сначала скопируйте любую пустую ячейку, затем выделите столбец и отформатируйте его, выбрав любой формат даты или времени. Не снимая выделение столбца, выберите команду Главная → Специальная вставка → Значение → OK (Home → Paste Special → Value → Add).Tenepb Excel будет преобразовывать все текстовые даты и время в настоящие даты и время. Возможно, вам придется еще раз изменить форматирование. Еще один простой способ — ссылаться на ячейки так: =А1+0 или =А1*1.
Ошибка даты?
Excel ошибочно предполагает, что 1900 год был високосным годом (Добавим, он был последним годом XIX века, а не первым XX). Это означает, что внутренняя система дат Excel считает, что существовал день 29 февраля 1900 года, тогда как его не было! Самое невероятное — Microsoft сделала это намеренно, по крайней мере, они так утверждают.