Excel сколько дней прошло с начала года

Формула в Excel: подсчитать число дней с начала года

Это первая заметка из серии «1 формула Excel в день»

Одна формула Excel в день

Формула в Excel для определения сколько дней прошло с начала года

Как известно, в обычном году 365 дней. Представьте, что если каждый день рассматривать всего лишь одну единственную формулу Excel, то уже через год будет рассмотрено 365 формул! Это очень немало! (подавляюще большинство пользователей используют в своей работе не более десятка-двух формул).

Наш сайт Excel по Skype создан для того, чтобы предоставить всем желающим возможность получить знания в процессе дистанционного (Skype) обучения  программе Excel. Также нашей целью является популяризация продвинутого использования программы Excel.

В связи с этим, возникла идея написать серию статей «1 формула в день». В этих статья будет приведена одна определенная формула Excel и даны краткие пояснения к ней.

К сожалению, на сайте невозможно подробно и со всеми нюансами расписать и объяснить как работает та или иная формула, поэтому предлагаю всем заинтересовавшимся обращаться за подробными разъяснениями через группы вконтакте или на фейсбуке или же путем личного обращения к автору сайта (написав письмо на электронную почту или направив запрос в Skype).

 Формула, которая позволяет подсчитать сколько дней прошло с начала года и по текущую дату. Она возвращает число означающее количество дней.

=СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ());1;1)

 Отличительной особенностью формулы является то, что эта формула не ссылается ни на одну из ячеек (как будет видно дальше, в следующих заметках из серии «формула Excel в день» это встречается редко).

 Учите Excel, повышайте свой уровень и Вы обязательно рано или поздно получите удовлетворение от того, что Ваши знания помогают Вам экономить время и сохранять нервы. А здесь узнайте о том, почему изучение Excel происходит наиболее эффективно именно с преподавателем.

 Сайт Excel по Skype – удаленное обучение программе эксель: приемы, фишки, а также готовые решения. Если Вам необходимо обучение Excel или же Вы просто хотите узнать дополнительные подробности о том, как работает формула «количество дней с начала года» – обязательно обращайтесь! Страница КОНТАКТЫ. 


Определим, сколько лет, месяцев и дней прошло с определенной даты, а также решим обратную задачу.

Для вычислений длительностей интервалов дат удобней всего использовать недокументированную функцию

РАЗНДАТ()

. Этой функции нет в справке 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

, в которой дается формула, учитывающая вышеуказанную ситуацию (см. раздел «Еще раз о кривизне

РАЗНДАТ()

«).

0 / 0 / 0

Регистрация: 09.12.2019

Сообщений: 10

1

Сколько дней прошло от начала года?

14.12.2019, 15:26. Показов 4072. Ответов 3


Студворк — интернет-сервис помощи студентам

Доброго времени суток! Что-то не могу составить формулу, которая считает, в какой по счету из дней в году произошло событие.

Пример: Эксель считает дни в числах, от 1 и так далее. Если мы вводим дату 17.05.2000, мне нужно рассчитать, сколько дней прошло от 1 января.
Правильный ответ: 137, или 138 в високосный год. Но мои усилия приводят к каким-то слишком непредсказуемым результатам. Прошу помощи.



0



92 / 69 / 16

Регистрация: 22.01.2010

Сообщений: 311

14.12.2019, 17:04

2

Цитата
Сообщение от Frostshot
Посмотреть сообщение

Но мои усилия

Ваши усилия и цели лучше представлять в конкретном файле с необходимыми пояснениями.



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

14.12.2019, 19:18

3

Лучший ответ Сообщение было отмечено Frostshot как решение

Решение

или

или

Добавлено через 8 минут
или



1



0 / 0 / 0

Регистрация: 09.12.2019

Сообщений: 10

14.12.2019, 19:25

 [ТС]

4

AlexM, спасибо вам большое!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

14.12.2019, 19:25

Помогаю со студенческими работами здесь

Сначала суток прошло n секунд, определить: сколько полных часов прошло с начала суток, сколько полных минут прошло с начала текущего часа, сколько пол
помогите решить
Сначала суток прошло n секунд, определить: сколько полных часов прошло с начала…

Описать функцию подсчитывающую сколько дней прошло от первого января 2005 года до даты d этого года.
Дан массив записи, представляющий собой календарь(число,месяц,год). Описать функцию подсчитывающую…

Описать функцию Число дней, подсчитывающую, сколько дней прошло от 1 января 0001 года нашей эры до даты d
type число =1..31; месяц =1..12; год =1..2000;

дата = record ч: число;

м: месяц;

г: год…

Определить, сколько дней прошло с начала текущего месяца
Помогите пожалуйста разобраться с задачей.

Определить, сколько дней прошло с начала текущего…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

4

Содержание

  • Расчет количества дней
    • Способ 1: простое вычисление
    • Способ 2: функция РАЗНДАТ
    • Способ 3: вычисление количеств рабочих дней
  • Вопросы и ответы

Разность дат в Microsoft Excel

Для выполнения определенных задач в Excel нужно определять, сколько дней прошло между некоторыми датами. К счастью, у программы имеются инструменты, которые способны решить данный вопрос. Давайте выясним, какими способами можно посчитать разность дат в Экселе.

Расчет количества дней

Прежде, чем начать работать с датами, нужно отформатировать ячейки под данный формат. В большинстве случаев, при введении комплекта символов, похожего на дату, ячейка сама переформатируется. Но лучше все-таки сделать это вручную, чтобы подстраховать себя от неожиданностей.

  1. Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.
  2. Переход в формат ячеек в Microsoft Excel

  3. Открывается окно форматирования. Если открытие произошло не во вкладке «Число», то следует в неё перейти. В блоке параметров «Числовые форматы» выставляем переключатель в позицию «Дата». В правой части окна выбираем тот тип данных, с которым собираемся работать. После этого, чтобы закрепить изменения, жмем на кнопку «OK».

Форматирование как дата в Microsoft Excel

Теперь все данные, которые будут содержаться в выделенных ячейках, программа будет распознавать как дату.

Способ 1: простое вычисление

Проще всего вычислить разность дней между датами с помощью обычной формулы.

  1. Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
  2. Даты готовы для операции в Microsoft Excel

  3. Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.
    Указание формата в Microsoft Excel

    Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».

  4. Установка общего формата в Microsoft Excel

  5. В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).
  6. Вычисление разности дат в Microsoft Excel

  7. Чтобы увидеть, сколько времени прошло между этими датами, жмем на кнопку Enter. Результат отобразится в ячейке, которая отформатирована под общий формат.

Результат вычисления разности дат в Microsoft Excel

Способ 2: функция РАЗНДАТ

Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:

=РАЗНДАТ(начальная_дата;конечная_дата;единица)

«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:

Lumpics.ru

  • «y» — полные года;
  • «m» — полные месяцы;
  • «d» — дни;
  • «YM» — разница в месяцах;
  • «MD» — разница в днях (месяцы и годы не учитываются);
  • «YD» — разница в днях (годы не учитываются).

Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.

Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.

  1. Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
  2. Функция РАЗНДАТ в Microsoft Excel

  3. Для того, чтобы произвести расчет, жмем кнопку Enter. После этого результат, в виде числа обозначающего количество дней между датами, будет выведен в указанную ячейку.

Результат функции РАЗНДАТ в Microsoft Excel

Способ 3: вычисление количеств рабочих дней

В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:

=ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники])

В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».

Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».

  1. Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».
  2. Переход в Мастер функций в Microsoft Excel

  3. Открывается Мастер функций. В категории «Полный алфавитный перечень» или «Дата и время» ищем элемент «ЧИСТРАБДНИ». Выделяем его и жмем на кнопку «OK».
  4. Переход к аргументам функции ЧИСТОРАБДНИ в Microsoft Excel

  5. Открывается окно аргументов функции. Вводим в соответствующие поля дату начала и конца периода, а также даты праздничных дней, если таковые имеются. Жмем на кнопку «OK».

Аргументы функции ЧИСТОРАБДНИ в Microsoft Excel

После указанных выше манипуляций в предварительно выделенной ячейке отобразится количество рабочих дней за указанный период.

Результат функции ЧИСТОРАБДНИ в Microsoft Excel

Урок: Мастер функций в Excel

Как видим, программа Excel предоставляет своим пользователем довольно удобный инструментарий для расчета количества дней между двумя датами. При этом, если нужно рассчитать просто разницу в днях, то более оптимальным вариантом будет применение простой формулы вычитания, а не использование функции РАЗНДАТ. А вот если требуется, например, подсчитать количество рабочих дней, то тут на помощь придет функция ЧИСТРАБДНИ. То есть, как всегда, пользователю следует определиться с инструментом выполнения после того, как он поставил конкретную задачу.

Нужно посчитать в excel, какое количество дней прошло между двумя датами? В этой статье разберемся во всех нюансах расчета.

  • Количество дней между двумя датами
  • Функция РАЗНДАТ в Excel — как посчитать количество лет, месяцев и дней между двумя датами
  • Сколько дней прошло с указанной даты до сегодняшнего дня

Количество дней между двумя датами

Если просто нужно посчитать в excel количество дней между двумя датами, то можно сделать это простым вычитанием.

Кол-во дней = Более новая дата — Более старая дата

Рассмотрим на примере. 

excel количество дней между двумя датами

Еще один способ, как в excel посчитать количество дней между двумя датами — при помощи функции РАЗНДАТ .

Это хитрая функция, которой нет в мастере формул, и excel не выдает подсказки при ее вводе. Но она прекрасно работает, если ввести ее вручную с клавиатуры.

Поэтому ее синтаксис придется просто запомнить или сохранить.

= РАЗНДАТ(дата_начальная; дата_конечная; аргумент)

дата_начальная и дата_конечная — это две даты, между которыми нужно посчитать разницу. Здесь важно, чтобы конечная дата была больше (более новой), чем начальная — иначе будет ошибка.

аргумент — указывает, в каких единицах времени представить результат. 

Внимание: аргумент указывается в кавычках.

Он может иметь следующие значения:

excel количество дней между двумя датами

Посмотрим пример работы функции РАЗНДАТ с теми же вводными.

excel количество дней между двумя датами

Как видите, результат в днях такой же, как при простом вычитании. Поэтому вся мощь функции РАЗНДАТ — в подсчете не дней, а других временных интервалов.

Посчитаем количество месяцев между этими же датами. 

Как видите, результат вычисления функции РАЗНДАТ с аргументом М — 12 месяцев. Хотя если разделить количество дней от прошлых вычислений на 30 (среднее количество дней в месяце), то получится 13 месяцев. Все дело в том, что функция РАЗНДАТ учитывает количество полных месяцев — а здесь до полного 13-го месяца не хватает одного дня. Поэтому результат 12 месяцев. Учитывайте эту особенность данной функции.

excel количество дней между двумя датами
Посмотрим еще пример, как работает функция РАЗНДАТ с аргументом YD (разница в днях, игнорируя значения года). Получено значение 30 — именно столько дней прошло между датой 5 октября и 4 ноября без учета разницы в один год.

excel количество дней между двумя датами

Особенность функции РАЗНДАТ — она выводит только целые значения. Например, РАЗНДАТ с аргументом “Y” покажет количество целых лет. Т.е. если между датами прошло меньше 1 года, то результат будет 0. 

Если нужно посчитать количество лет с десятыми долями, то можно количество дней разделить на 365 или использовать функцию ДОЛЯГОДА.

Сколько дней прошло с указанной даты до сегодняшнего дня

Для начала вспомним (или узнаем), что сегодняшнюю дату в Excel можно вывести функцией СЕГОДНЯ.

Функция СЕГОДНЯ не принимает на вход никаких аргументов, и ее синтаксис простой:

=СЕГОДНЯ()

excel количество дней между двумя датами

Функцию СЕГОДНЯ часто используют, чтобы посчитать, сколько дней прошло с указанной даты до сегодняшнего дня.

Использовать можно те же способы, которые мы рассмотрели выше, только вместо более поздней даты подставлять функцию СЕГОДНЯ.

Пример с использованием простого вычитания дат.

excel количество дней между двумя датами

Пример с использованием функции РАЗНДАТ. Обратите внимание, что функция СЕГОДНЯ всегда указывается как второй аргумент.

excel количество дней между двумя датами

В этой статье мы узнали, как в excel рассчитать количество дней между двумя датами.

Мы ВКонтакте

Вам может быть интересно:

Понравилась статья? Поделить с друзьями:
  • Excel сколько годов между
  • Excel сквозные строки нумерация
  • Excel сколько всего страниц
  • Excel сквозные строки в таблице
  • Excel сколько времени прошло