Поиск по сайту:

Используйте Excel, чтобы рассчитать, сколько дней до события


Excel хранит даты как целые числа. По умолчанию Excel использует «1» для представления 01.01.1900, и каждый последующий день на единицу больше. Введите 01/01/2000 и измените формат на «Число», и вы увидите «36526». Если из 36526 вычесть 1, то можно увидеть, что в 20 веке было 36525 дней. В качестве альтернативы вы можете ввести дату в будущем и вычесть результат функции СЕГОДНЯ, чтобы узнать, сколько дней от этой даты до сегодняшнего дня.

Краткий обзор функций, связанных с датами

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

СЕГОДНЯ

Синтаксис: =СЕГОДНЯ()

Результат: текущая дата

ДАТА

Синтаксис: =ДАТА(год,месяц,день)

Результат: дата, обозначенная введенным годом, месяцем и днем.

ГОД

Синтаксис: =ГОД(дата)

Результат: год введенной даты

МЕСЯЦ

Синтаксис: =МЕСЯЦ(дата)

Результат: Числовой месяц введенной даты (от 1 до 12)

ДЕНЬ

Синтаксис: =ДЕНЬ(дата)

Результат: День месяца введенной даты

Некоторые примеры расчетов

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

Вот наши примерные данные. У нас настроены четыре столбца: событие, дата, следующее_происшествие и дни_до_следующего. Мы ввели случайную дату рождения, дату уплаты налогов в США и Хэллоуин. Такие даты, как дни рождения, годовщины и некоторые праздники, отмечаются в определенные дни каждого года и хорошо подходят для этого примера. Другие праздники, такие как День Благодарения, отмечаются в определенный будний день в определенном месяце; этот пример не охватывает эти типы событий.

Есть два варианта заполнения столбца Next_Occurrence. Вы можете вручную ввести каждую дату, но каждую запись нужно будет обновлять вручную в будущем по мере прохождения даты. Вместо этого давайте напишем формулу оператора «ЕСЛИ», чтобы Excel мог сделать всю работу за вас.

Посмотрим на день рождения. Мы уже знаем месяц =MONTH(F3)  и день =DAY(F3) следующего события. Это легко, но как насчет года? Нам нужно, чтобы Excel знал, наступил ли день рождения в этом году или нет. Во-первых, нам нужно рассчитать дату дня рождения в текущем году, используя эту формулу:

=DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))

Затем нам нужно узнать, прошла ли уже эта дата, и вы можете сравнить этот результат с TODAY(), чтобы выяснить это. Если это июль, а день рождения приходится на каждый сентябрь, то следующее вхождение будет в текущем году, показанном с помощью =YEAR(TODAY()) . Если это декабрь, а день рождения приходится на каждый май, то следующее вхождение произойдет в следующем году, поэтому =YEAR(TODAY())+1 даст следующий год. Чтобы определить, что использовать, мы можем использовать оператор «IF»:

=IF(DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))>=TODAY(),YEAR(TODAY()),YEAR(TODAY())+1)

Теперь мы можем объединить результаты оператора ЕСЛИ с МЕСЯЦ и ДЕНЬ дня рождения, чтобы определить следующее событие. Введите эту формулу в ячейку G3:

=DATE(IF(DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))>=TODAY(),YEAR(TODAY()),YEAR(TODAY())+1),MONTH(F3),DAY(F3))

Нажмите Enter, чтобы увидеть результат. (Эта статья была написана в конце января 2019 года, поэтому даты будут… ну… устаревшими.)

Заполните эту формулу в ячейках ниже, выделив ячейки и нажав Ctrl + D.

Теперь мы можем легко определить количество дней до следующего события, вычитая результат функции TODAY() из результатов Next_Occurrence, которые мы только что вычислили. Введите следующую формулу в ячейку H3:

=G3-TODAY()

Нажмите Enter, чтобы увидеть результат, а затем заполните эту формулу в ячейках ниже, выделив ячейки и нажав Ctrl + D.

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

И да, это довольно конкретные примеры, которые могут быть вам полезны, а могут и не быть. Но они также служат для иллюстрации того, что можно делать с функциями, связанными с датами, в Excel.