Excel количество дней до дня рождения

На чтение 2 мин Опубликовано 22.07.2015

Чтобы в Excel рассчитать количество дней до вашего дня рождения, следуйте инструкции ниже:

  1. Выделите ячейку A2 и введите дату рождения.
  2. Выделите ячейку B2 и введите функцию TODAY (СЕГОДНЯ), чтобы вернуть сегодняшнюю дату.Дни до дня рождения в Excel
  3. Самое трудное в расчёте количества дней до вашего рождения – найти следующий день рождения. Формула ниже выполняет этот трюк.

    =DATE(YEAR(A2)+DATEDIF(A2,B2,"y")+1,MONTH(A2),DAY(A2))
    =ДАТА(ГОД(A2)+РАЗНДАТ(A2;B2;"y")+1;МЕСЯЦ(A2);ДЕНЬ(A2))

    Дни до дня рождения в Excel

    Пояснение:

    • Функция DATE (ДАТА) принимает три аргумента: год, месяц и день.
    • Мы использовали функцию DATEDIF (РАЗНДАТ), чтобы найти количество полных лет («у») между датой рождения и сегодняшним днём.
    • Формула РАЗНДАТ(A2;B2;»у») возвращает значение 32.
    • Если 32 полных года прошло с момента вашего дня рождения (другими словами, вы уже отметили свой 32-ой день рождения), значит в следующий день рождения вы будете отмечать 32 + 1 = 33 летие.
  4. Далее используем функцию DATEDIF (РАЗНДАТ), чтобы найти количество дней («d») между прошедшим и следующим днём рождения.

    =DATEIF(B2,C2,"d")
    =РАЗНДАТ(B2;C2;"d")

    Дни до дня рождения в Excel

Оцените качество статьи. Нам важно ваше мнение:

 

VoV4eK

Пользователь

Сообщений: 5
Регистрация: 18.04.2013

Здравствуйте
мне дано задание составить таблицу, которая будет показывать количество дней до дня рождения
Я тут полазил и нашел такие интересные формулы:
=-ВПР(;СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ())+{1:0};МЕСЯЦ(B4);ДЕНЬ(B4));1)
=ДАТА(ГОД(СЕГОДНЯ())+(ДАТА(1;МЕСЯЦ(B5);ДЕНЬ(B5))<ДАТА(1;МЕСЯЦ(СЕГОДНЯ());ДЕНЬ(СЕГОДНЯ())));МЕСЯЦ(B5);ДЕНЬ(B5))-СЕГОДНЯ()
обе прекрасно работают, НО их то написал не я. А мне очень хотелось бы знать логическое пояснение данных формул, потому что сам я пробовал, но у меня получалось только количество дней до будущей даты, а до дня рождения никак.
Или есть какая еще функция для этого, тоже очень хотел бы узнать.
(У меня старый эксель2003)
Заранее благодарен всем за помощь

 

jakim

Пользователь

Сообщений: 1946
Регистрация: 01.03.2013

 

V

Пользователь

Сообщений: 5018
Регистрация: 22.12.2012

становитесь в ячейку с формулой.
Сервис- Зависимости формул- вычислить формулу. жмете далее и вникаете что да почему происходит. Может после этого понятней станет. И справку по функциям использованным в формуле почитайте.

Изменено: V18.04.2013 18:25:13

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

А зачем такие сложности? =A1-СЕГОДНЯ() Формат ячейки числовой.

 

V

Пользователь

Сообщений: 5018
Регистрация: 22.12.2012

в A1 30.05.1975 и что у вас получится?

 

VoV4eK

Пользователь

Сообщений: 5
Регистрация: 18.04.2013

jakim, спасибо, но мой старенький эксель не может открыть (

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

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#7

18.04.2013 19:19:21

V, читаем вопрос автора:

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

Ключевое — ДО. А Вы приводите пример, когда ДР уже был.

 

jakim

Пользователь

Сообщений: 1946
Регистрация: 01.03.2013

Мою формулу обновлять нет необходимости, фактмчески она работает постоянно.

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

=ЕСЛИ(ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(B2);ДЕНЬ(B2))>=СЕГОДНЯ();ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(B2);ДЕНЬ(B2))-СЕГОДНЯ();ДАТА(ГОД(СЕГОДНЯ())+1;МЕСЯЦ(B2);ДЕНЬ(B2))-СЕГОДНЯ())

D3?

 

jakim

Пользователь

Сообщений: 1946
Регистрация: 01.03.2013

Даю мой файл в 97-2003 Excel.

Прикрепленные файлы

  • Book1.xls (26.5 КБ)

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#11

18.04.2013 21:36:04

В B1 — день рождения(например 20.03.1980)
в B2 =сегодня()
в B3 результат

макрос в модуль листа 1, запускается при изменении даты рождения

Код
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim БылДР As Boolean
Dim Kol_Days As Integer
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B1")) Is Nothing Then
        БылДР = CDate(Day(Range("B1")) & "." & Month(Range("B1")) & "." & _
                         Year(Now)) > Now
    If БылДР Then
        Kol_Days = CDate(Day(Range("B1")) & "." & Month(Range("B1")) & "." & _
                         Year(Now)) - Now
        Range("B3") = "До дня рождения осталось дней: " & Kol_Days
    Else
        Kol_Days = Now - CDate(Day(Range("B1")) & "." & Month(Range("B1")) & "." & _
                         Year(Now))
        Range("B3") = "С дня рождения прошло дней: " & Kol_Days
   End If
   End If
End Sub

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#12

18.04.2013 22:03:34

В А1 — дата рождения.

Код
=ПРОСМОТР(ДАТА(ГОД(СЕГОДНЯ())+1;МЕСЯЦ(СЕГОДНЯ());ДЕНЬ(СЕГОДНЯ()));ДАТА(ГОД(A1)+СТРОКА(1:131)-1;МЕСЯЦ(A1);ДЕНЬ(A1)))-СЕГОДНЯ()

в 2007 и выше формула короче

Код
=ПРОСМОТР(ДАТАМЕС(СЕГОДНЯ();12);ДАТАМЕС(A10;(СТРОКА(1:131)-1)*12))-СЕГОДНЯ()
 

Казанский

Пользователь

Сообщений: 8839
Регистрация: 11.01.2013

#13

19.04.2013 00:44:03

До кучи :)

Код
=ДАТА(ГОД(ТДАТА())+(ТЕКСТ(ТДАТА();"ММДД")>ТЕКСТ(A1;"ММДД"));МЕСЯЦ(A1);ДЕНЬ(A1))-СЕГОДНЯ()
 

Mirdv

Пользователь

Сообщений: 179
Регистрация: 15.05.2013

Михаил С., здравствуйте,
— прекрасно работают обе формулы. Объясните, пожалуйста, что выполняет или как работает эта СТРОКА(1:131)-1 или эта (СТРОКА(1:131)-1) часть формулы.
Буду очень признателен.
Спасибо

Изменено: Mirdv16.05.2013 01:45:38

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Виртуальный массив
=СТРОКА(1:5)-1={1;2;3;4;5}-1={0;1;2;3;4}

 

Smiley

Пользователь

Сообщений: 530
Регистрация: 16.05.2013

Попробуйте функцию =РАЗНДАТ()

Изменено: Smiley16.05.2013 11:53:34

 
 

Mirdv

Пользователь

Сообщений: 179
Регистрация: 15.05.2013

#18

16.05.2013 22:03:01

Цитата
vikttur пишет: Виртуальный массив

Большое спасибо

Когда НГ — тут уже всё стало в общем-то понятно! Используя ваши подсказки, попытался создать формулу для подсчёта количества дней до дня рождения (дату поставил произвольно), в середине года. После наступления ДР, получилось (вроде бы) 365 дней. А если год впереди високосный? Посмотрите, пожалуйста, что можно заменить, чтобы формула автоматом учитывала кол-во дней в зависимости от года:

Когда НГ — тут уже всё стало в общем-то понятно! Используя ваши подсказки, попытался создать формулу для подсчёта количества дней до дня рождения (дату поставил произвольно), в середине года. После наступления ДР, получилось (вроде бы) 365 дней. А если год впереди високосный? Посмотрите, пожалуйста, что можно заменить, чтобы формула автоматом учитывала кол-во дней в зависимости от года:

То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение Уважаемые знатоки!

Когда НГ — тут уже всё стало в общем-то понятно! Используя ваши подсказки, попытался создать формулу для подсчёта количества дней до дня рождения (дату поставил произвольно), в середине года. После наступления ДР, получилось (вроде бы) 365 дней. А если год впереди високосный? Посмотрите, пожалуйста, что можно заменить, чтобы формула автоматом учитывала кол-во дней в зависимости от года:

DrMini Дата: Четверг, 14.10.2021, 07:12 | Сообщение № 2
Юрий_Ф Дата: Четверг, 14.10.2021, 11:31 | Сообщение № 3

Знаете, я попробовал экспериментировать со своей формулой. Вместо указанной даты в июне следующего года ставил и 13.10 и 14.10 за этот год. А результат был почему-то один и тот же — 365 дней!
Получается формула не работает правильно?

Знаете, я попробовал экспериментировать со своей формулой. Вместо указанной даты в июне следующего года ставил и 13.10 и 14.10 за этот год. А результат был почему-то один и тот же — 365 дней!
Получается формула не работает правильно? Юрий_Ф

То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Знаете, я попробовал экспериментировать со своей формулой. Вместо указанной даты в июне следующего года ставил и 13.10 и 14.10 за этот год. А результат был почему-то один и тот же — 365 дней!
Получается формула не работает правильно? Автор — Юрий_Ф
Дата добавления — 14.10.2021 в 11:31

DrMini Дата: Четверг, 14.10.2021, 11:50 | Сообщение № 4
Юрий_Ф Дата: Четверг, 14.10.2021, 12:39 | Сообщение № 5

Да нет, это не для того, чтобы проверить учёт високосности, а чтобы посмотреть, как работает формула у самого дня рождения! А, выходит, что работает не совсем корректно! Ну, не может с разницей в один день, а результат одинаковый. Не могу понять, отчего!

Да нет, это не для того, чтобы проверить учёт високосности, а чтобы посмотреть, как работает формула у самого дня рождения! А, выходит, что работает не совсем корректно! Ну, не может с разницей в один день, а результат одинаковый. Не могу понять, отчего! Юрий_Ф

То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Ответить

Да нет, это не для того, чтобы проверить учёт високосности, а чтобы посмотреть, как работает формула у самого дня рождения! А, выходит, что работает не совсем корректно! Ну, не может с разницей в один день, а результат одинаковый. Не могу понять, отчего! Автор — Юрий_Ф
Дата добавления — 14.10.2021 в 12:39

DrMini Дата: Четверг, 14.10.2021, 13:23 | Сообщение № 6
Светлый Дата: Четверг, 14.10.2021, 20:09 | Сообщение № 7

Программировать проще, чем писать стихи.

Юрий_Ф Дата: Четверг, 14.10.2021, 22:30 | Сообщение № 8

Всё отлично работает!
Я чуть подкорректировал вашу формулу для периода! Т.е. чтобы в день рождения (14 октября) появлялся не 0, а 365 дней! Гляньте! Что не так?

Всё отлично работает!
Я чуть подкорректировал вашу формулу для периода! Т.е. чтобы в день рождения (14 октября) появлялся не 0, а 365 дней! Гляньте! Что не так?

То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение Уважаемый DrMini

Всё отлично работает!
Я чуть подкорректировал вашу формулу для периода! Т.е. чтобы в день рождения (14 октября) появлялся не 0, а 365 дней! Гляньте! Что не так?

Юрий_Ф Дата: Четверг, 14.10.2021, 22:32 | Сообщение № 9

1я формула пишет: #ИМЯ?

2я работает корректно! Но я так понял, что в ячейке В1 надо писать заданный день рождения. Это так?
И второе. Непонятно, куда вставлять нижние формулы с =МИН?

1я формула пишет: #ИМЯ?

2я работает корректно! Но я так понял, что в ячейке В1 надо писать заданный день рождения. Это так?
И второе. Непонятно, куда вставлять нижние формулы с =МИН? Юрий_Ф

То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение Уважаемый Светлый!

1я формула пишет: #ИМЯ?

2я работает корректно! Но я так понял, что в ячейке В1 надо писать заданный день рождения. Это так?
И второе. Непонятно, куда вставлять нижние формулы с =МИН? Автор — Юрий_Ф
Дата добавления — 14.10.2021 в 22:32

Юрий_Ф Дата: Четверг, 14.10.2021, 22:57 | Сообщение № 10

Нет, что-то в моей формуле всё же не так! Да, для даты 14.10 считает верно, но для прошедшего времени (от 14.10.21 до 13.10.22) пишет 365 дней тоже!

PS. В общем, придётся после дня рождения в этом году добавлять в формулу к году +1, а после НГ, эту добавку убирать! Я думал, что Ecxel можно озадачить ЭТО делать автоматом!

Нет, что-то в моей формуле всё же не так! Да, для даты 14.10 считает верно, но для прошедшего времени (от 14.10.21 до 13.10.22) пишет 365 дней тоже!

PS. В общем, придётся после дня рождения в этом году добавлять в формулу к году +1, а после НГ, эту добавку убирать! Я думал, что Ecxel можно озадачить ЭТО делать автоматом! Юрий_Ф

То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение Ув. DrMini!

Нет, что-то в моей формуле всё же не так! Да, для даты 14.10 считает верно, но для прошедшего времени (от 14.10.21 до 13.10.22) пишет 365 дней тоже!

PS. В общем, придётся после дня рождения в этом году добавлять в формулу к году +1, а после НГ, эту добавку убирать! Я думал, что Ecxel можно озадачить ЭТО делать автоматом! Автор — Юрий_Ф
Дата добавления — 14.10.2021 в 22:57

Источник

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

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

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

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

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

CЕГОДНЯ

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

СВИДАНИЕ

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

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

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

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

МЕСЯЦ

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

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

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

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

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

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

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

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

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

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

Теперь мы можем объединить результаты оператора IF с MONTH и DAY дня рождения, чтобы определить следующее событие. Введите эту формулу в ячейку G3:

= СЕГОДНЯ (), ГОД (СЕГОДНЯ ()), ГОД (СЕГОДНЯ ()) + 1), МЕСЯЦ (F3), ДЕНЬ (F3)) »в ячейку F3 ′ ширина =« 650 ″ высота = «250 ″ onload =» pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this); ” onerror = ”this.onerror = null; pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this);”>

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

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

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

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

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

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

Источник

Adblock
detector

Если вы хотите знать, сколько дней осталось до вашего следующего дня рождения, как бы вы поступили? На самом деле, если вы используете Microsoft Excel, вы можете использовать формулы на листе, чтобы легко подсчитать дни до следующего дня рождения. Пожалуйста, просмотрите для получения более подробной информации, как показано ниже.

Считайте дни до следующего дня рождения с помощью формул


Считайте дни до следующего дня рождения с помощью формул

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

Шаг 1. Создайте рабочий лист с заголовками, показанными ниже.

На листе последовательно создайте заголовки столбцов, как показано на скриншоте ниже. И введите дату своего дня рождения в ячейку A2 под заголовком «Дата дня рождения».

Шаг 2. Получите сегодняшнюю дату

Теперь нам нужно получить сегодняшнюю дату с помощью формулы. Выберите ячейку B2, введите в нее приведенную ниже формулу и нажмите Enter закон.

=TODAY()

Тогда вы получите сегодняшнюю дату в ячейке B2.

Шаг 3. Получите дату следующего дня рождения

Выберите ячейку C2, скопируйте или введите в нее приведенную ниже формулу и нажмите Enter ключ, 

=DATE(YEAR(A2)+DATEDIF(A2,B2,»y»)+1,MONTH(A2),DAY(A2))

Шаг 4. Получите оставшиеся дни до следующего дня рождения.

Выберите ячейку D2, введите в нее формулу ниже, затем нажмите Enter .

=DATEDIF(B2,C2,»d»)

Тогда вы получите оставшиеся дни до следующего дня рождения в ячейке D2.

Внимание: Помимо приведенных выше формул, здесь также есть одна формула, которая может оказать вам услугу. Введите дату своего рождения в пустую ячейку, например A1, а затем введите следующую формулу: =IF(A1,DATE(YEAR(A1)+DATEDIF(A1+1,TODAY(),»y»)+1,MONTH(A1),DAY(A1))-TODAY(),»»), а затем нажмите Enter ключ, чтобы получить оставшиеся дни до следующего дня рождения.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (6)


Оценок пока нет. Оцените первым!

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

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

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

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

CЕГОДНЯ

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

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

СВИДАНИЕ

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

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

ГОД

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

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

МЕСЯЦ

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

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

ДЕНЬ

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

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

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

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

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

Пример данных

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

Посмотрим на день рождения. Мы уже знаем месяц = ​​МЕСЯЦ (F3) и день = ДЕНЬ (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)

Теперь мы можем объединить результаты оператора IF с MONTH и DAY дня рождения, чтобы определить следующее событие. Введите эту формулу в ячейку G3:

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

Вход = СЕГОДНЯ (), ГОД (СЕГОДНЯ ()), ГОД (СЕГОДНЯ ()) + 1), МЕСЯЦ (F3), ДЕНЬ (F3)) »в ячейку F3 ′ ширина =« 650 ″ высота = «250 ″ onload =» pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this); ” onerror = ”this.onerror = null; pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this);”>

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

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

Результаты следующего вхождения

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

=G3-TODAY()

Войти

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

Результаты Days_Until_Next

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

Примеры результатов

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

0 / 0 / 1

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

Сообщений: 14

1

Вычислить сколько дней до дня рождения

19.03.2016, 09:32. Показов 14518. Ответов 17


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

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



0



5942 / 3154 / 698

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

Сообщений: 10,524

19.03.2016, 09:57

2

т.е. выясняем прошел ДР или еще только будет?



0



0 / 0 / 1

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

Сообщений: 14

19.03.2016, 10:05

 [ТС]

3

Если дней после дня рождения меньше чем до , то выводить после и наоборот также

Добавлено через 5 минут
Количество дней до или после нужно



0



772 / 615 / 294

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

Сообщений: 1,338

19.03.2016, 10:33

4

1. Если дата дня рождения в А1 и нужно узнать сколько осталось на сегдняшную дату

Код

=ЕСЛИ(СЕГОДНЯ()<ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A1);ДЕНЬ(A1));ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A1);ДЕНЬ(A1))-СЕГОДНЯ();ДАТА(ГОД(СЕГОДНЯ())+1;МЕСЯЦ(A1);ДЕНЬ(A1))-СЕГОДНЯ())&" дн."

2. Если дата дня рождения в А2, другая дата в В2

Код

=ЕСЛИ(B2<ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A2);ДЕНЬ(A2));ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A2);ДЕНЬ(A2))-ДАТА(ГОД(B2);МЕСЯЦ(B2);ДЕНЬ(B2));ДАТА(ГОД(СЕГОДНЯ())+1;МЕСЯЦ(A2);ДЕНЬ(A2))-ДАТА(ГОД(B2);МЕСЯЦ(B2);ДЕНЬ(B2)))&" дн."



0



772 / 615 / 294

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

Сообщений: 1,338

19.03.2016, 10:58

5

Эта формула считает, если день рождение еще не наступил, то сколько дней осталось до дня рождения, если прошел то сколько дней прошло после дня рождения.

Код

=ЕСЛИ(B3<ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A3);ДЕНЬ(A3));ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A3);ДЕНЬ(A3))-ДАТА(ГОД(B3);МЕСЯЦ(B3);ДЕНЬ(B3));B3-ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(A3);ДЕНЬ(A3)))&" дн."



1



6169 / 934 / 309

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

Сообщений: 1,359

Записей в блоге: 1

19.03.2016, 12:19

6

Вариант



3



2640 / 1697 / 694

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

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

19.03.2016, 16:48

7

Формула Михаила чуть короче

Код

=ВПР(182;(ДЕНЬ(A2)&-МЕСЯЦ(A2)&-ГОД(B2)+{1:0:-1})-B2;1)



2



2628 / 1634 / 744

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

Сообщений: 5,135

19.03.2016, 17:04

8

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

Формула Михаила чуть короче

и правильней….



0



2640 / 1697 / 694

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

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

19.03.2016, 17:05

9

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

и правильней….

Чем?



0



2628 / 1634 / 744

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

Сообщений: 5,135

19.03.2016, 17:11

10

У AleksSid нужно добавить «=» вот сюда
1 =ЕСЛИ(B3=<ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ

Добавлено через 58 секунд
AlexM,
поробуйте в вашем файле поставить одинаковые даты



0



2640 / 1697 / 694

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

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

19.03.2016, 17:20

11

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

поробуйте в вашем файле поставить одинаковые даты

Попробовал. Формула Михаила и укороченная считает одинаково и правильно. Формулу AleksSid я не смотрел.



0



2628 / 1634 / 744

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

Сообщений: 5,135

19.03.2016, 17:30

12

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

Формула Михаила и укороченная

укороченная и есть формула «m-ch»



0



2640 / 1697 / 694

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

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

19.03.2016, 19:31

13

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

укороченная и есть формула «m-ch»

Ну да. На одну функцию меньше + заменил одну, а в остальном не отличается.

Добавлено через 1 час 56 минут
еще короче

Код

=ВПР(182;(ТЕКСТ(A2;"Д.М")&-ГОД(B2)+{1:0:-1})-B2;1)



0



6169 / 934 / 309

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

Сообщений: 1,359

Записей в блоге: 1

19.03.2016, 21:40

14

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

еще короче

Алексей, можно еще на символ сократить: {1:0:-1}-ГОД(B2)



0



15136 / 6410 / 1730

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

Сообщений: 9,999

19.03.2016, 23:49

15

Если строго по заданию, можно еще символ сократить

Код

=МИН(ABS((ТЕКСТ(A2;"Д.М")&{1:0:-1}-ГОД(B2))-B2))



1



2640 / 1697 / 694

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

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

20.03.2016, 01:25

16

Казанский, Формат ячейки так не работает. Отрицательные значения нужны для формата.



0



0 / 0 / 1

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

Сообщений: 124

26.06.2020, 20:39

17

AlexM, Приветствую, а как рассчитать кол-во дней до дня рождения исходя из текущей даты не вписывая определённой ? Т.е. дата например 01.03.1998 нужно рассчитать кол-во дней до дня рождения исходя из текущей даты



0



2640 / 1697 / 694

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

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

27.06.2020, 07:13

18

OverNiko, вместо В2 напишите СЕГОДНЯ()
Но в этой теме задача немного другая. Определить сколько прошло или сколько осталось дней.
Если вам это не подходит откройте новую тему и приложите файл-пример с разными датами ДР



0



IT_Exp

Эксперт

87844 / 49110 / 22898

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

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

27.06.2020, 07:13

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

Определить, сколько дней осталось до вашего дня рождения
Доброе время суток!!!

Помогите с решение задания:

Определить сколько дней осталось до вашего…

Заданы день и месяц рождения, а также текущие день, месяц и год. Определить, сколько дней осталось до дня рождения
заданы день и месяц рождения, а также текущие день, месяц и год. Определить, сколько дней осталось…

Программа определяет сколько дней от текущей даты осталось до нового года и дня рождения
Программа определяет сколько дней от текущей даты осталось до нового года и дня рождения
,текущую…

Функция, принимающая на вход дату рождения и текущую дату, и вычисляющая число дней до дня рождения
помогите сделать работу по с++
Создать функцию, которая принимает на вход дат рождения и текущую…

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

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

18

Осталось дней до дня рождения

Юрий_Ф

Дата: Четверг, 14.10.2021, 01:07 |
Сообщение № 1

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

Уважаемые знатоки!

Когда НГ — тут уже всё стало в общем-то понятно! Используя ваши подсказки, попытался создать формулу для подсчёта количества дней до дня рождения (дату поставил произвольно), в середине года. После наступления ДР, получилось (вроде бы) 365 дней. А если год впереди високосный? Посмотрите, пожалуйста, что можно заменить, чтобы формула автоматом учитывала кол-во дней в зависимости от года:

Код

=»До дня рождения остал»&ЕСЛИ(И(ДАТА(ГОД(СЕГОДНЯ())+1;6;29)-СЕГОДНЯ()<>{1;21});»ось «;»ся «)&ЕСЛИ(((ДАТА(ГОД(СЕГОДНЯ())+1;6;29)-СЕГОДНЯ())>0);ДАТА(ГОД(СЕГОДНЯ())+1;6;29)-СЕГОДНЯ()&» д»&ВПР(ОСТАТ(ДАТА(ГОД(СЕГОДНЯ())+1;6;29)-СЕГОДНЯ();20);{0;»ней»:1;»ень»:2;»ня»:5;»ней»};2);365)


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение отредактировал Юрий_ФЧетверг, 14.10.2021, 01:08

 

Ответить

DrMini

Дата: Четверг, 14.10.2021, 07:12 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 1019


Репутация:

93

±

Замечаний:
0% ±


Excel LTSC 2021 RUS

что можно заменить, чтобы формула автоматом учитывала кол-во дней в зависимости от года

Ничего менять не надо. Всё работает и в високосном году.
[p.s.]У Вас конечный результат немного отличается от заявленного в теме. Надо было написать «Осталось дней до дня рождения + год».[/p.s.]

Сообщение отредактировал DrMiniЧетверг, 14.10.2021, 07:26

 

Ответить

Юрий_Ф

Дата: Четверг, 14.10.2021, 11:31 |
Сообщение № 3

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

DrMini

Знаете, я попробовал экспериментировать со своей формулой. Вместо указанной даты в июне следующего года ставил и 13.10 и 14.10 за этот год. А результат был почему-то один и тот же — 365 дней!
Получается формула не работает правильно?


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение отредактировал Юрий_ФЧетверг, 14.10.2021, 11:31

 

Ответить

DrMini

Дата: Четверг, 14.10.2021, 11:50 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 1019


Репутация:

93

±

Замечаний:
0% ±


Excel LTSC 2021 RUS

Вместо указанной даты в июне следующего года ставил и 13.10 и 14.10 за этот год

Дык ближайший високосный год 2024, а не как не 2022. По этому и выходит 365 дней.
[p.s.]Для проверки работы формулы я тупо изменил дату на компьютере. Всё работает.[/p.s.]

 

Ответить

Юрий_Ф

Дата: Четверг, 14.10.2021, 12:39 |
Сообщение № 5

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

DrMini

Да нет, это не для того, чтобы проверить учёт високосности, а чтобы посмотреть, как работает формула у самого дня рождения! А, выходит, что работает не совсем корректно! Ну, не может с разницей в один день, а результат одинаковый. Не могу понять, отчего!


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

 

Ответить

DrMini

Дата: Четверг, 14.10.2021, 13:23 |
Сообщение № 6

Группа: Проверенные

Ранг: Старожил

Сообщений: 1019


Репутация:

93

±

Замечаний:
0% ±


Excel LTSC 2021 RUS

как работает формула у самого дня рождения

Задаём например ближайшее число: 1 ноября 2021г.
Вставляем Вашу формулу (чуть, чуть подправленную):

Код

=»До дня рождения остал»&ЕСЛИ(И(ДАТА(ГОД(СЕГОДНЯ());11;1)-СЕГОДНЯ()<>{1;21});»ось «;»ся «)&ЕСЛИ(((ДАТА(ГОД(СЕГОДНЯ());11;1)-СЕГОДНЯ())>0);ДАТА(ГОД(СЕГОДНЯ());11;1)-СЕГОДНЯ()&» д»&ВПР(ОСТАТ(ДАТА(ГОД(СЕГОДНЯ());11;1)-СЕГОДНЯ();20);{0;»ней»:1;»ень»:2;»ня»:5;»ней»};2))

И получается 18 дней.
Всё в файле.
Там же и примитивная проверка — расчёт разности дат.

Сообщение отредактировал DrMiniЧетверг, 14.10.2021, 13:24

 

Ответить

Светлый

Дата: Четверг, 14.10.2021, 20:09 |
Сообщение № 7

Группа: Друзья

Ранг: Старожил

Сообщений: 1742


Репутация:

479

±

Замечаний:
0% ±


Excel 2013, 2016

Получилась такая формула:

Код

=»До дня рождения остал»&ЕСЛИ(СУММ({1;2}*(ОСТАТ(ОТБР(МИН(—ТЕКСТ(ДНИ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1));СЕГОДНЯ());»0;999;0″))/{1;10});10)=1))=1;»ся «;»ось «)&МИН(—ТЕКСТ(ДНИ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1));СЕГОДНЯ());»0;999;0″))&» д»&ВПР(ПРАВБ(МИН(—ТЕКСТ(ДНИ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1));СЕГОДНЯ());»0;999;0″))+9)+5*(ОСТАТ(ОТБР(МИН(—ТЕКСТ(ДНИ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1));СЕГОДНЯ());»0;999;0″))/10);10)=1);{0;»ень»:1;»ня»:4;»ней»};2)

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

Код

=МИН(—ТЕКСТ(ДНИ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1));СЕГОДНЯ());»0;999;0″))

Пока не могу улучшить.
*Чуть-чуть короче:

Код

=»До дня рождения остал»&ЕСЛИ(СУММ({1;2}*(ОСТАТ(ОТБР(МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1))-СЕГОДНЯ();»0;999;0″))/{1;10});10)=1))=1;»ся «;»ось «)&МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1))-СЕГОДНЯ();»0;999;0″))&» д»&ВПР(ПРАВБ(МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1))-СЕГОДНЯ();»0;999;0″))+9)+5*(ОСТАТ(ОТБР(МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1))-СЕГОДНЯ();»0;999;0″))/10);10)=1);{0;»ень»:1;»ня»:4;»ней»};2)

Код

=МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B1);ДЕНЬ(B1))-СЕГОДНЯ();»0;999;0″))


Программировать проще, чем писать стихи.

Сообщение отредактировал СветлыйЧетверг, 14.10.2021, 21:33

 

Ответить

Юрий_Ф

Дата: Четверг, 14.10.2021, 22:30 |
Сообщение № 8

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

Уважаемый DrMini

Всё отлично работает!
Я чуть подкорректировал вашу формулу для периода! Т.е. чтобы в день рождения (14 октября) появлялся не 0, а 365 дней! Гляньте! Что не так?

Код

=»До дня рождения остал»&ЕСЛИ(И(ДАТА(ГОД(СЕГОДНЯ());10;14)-СЕГОДНЯ()<>{1;21});»ось «;»ся «)&ЕСЛИ(((ДАТА(ГОД(СЕГОДНЯ())+1;10;14)-СЕГОДНЯ())>0);ЕСЛИ(((ДАТА(ГОД(СЕГОДНЯ());10;14)-СЕГОДНЯ())>0);ДАТА(ГОД(СЕГОДНЯ());10;14)-СЕГОДНЯ()&» д»&ВПР(ОСТАТ(ДАТА(ГОД(СЕГОДНЯ());10;14)-СЕГОДНЯ();20);{0;»ней»:1;»ень»:2;»ня»:5;»ней»};2))+365)

И! Эти формулы для этого года. А для середины следующего, допустим для даты 29.06?


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение отредактировал Юрий_ФЧетверг, 14.10.2021, 22:38

 

Ответить

Юрий_Ф

Дата: Четверг, 14.10.2021, 22:32 |
Сообщение № 9

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

Уважаемый Светлый!

1я формула пишет: #ИМЯ?

2я работает корректно! Но я так понял, что в ячейке В1 надо писать заданный день рождения. Это так?
И второе. Непонятно, куда вставлять нижние формулы с =МИН?


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение отредактировал Юрий_ФЧетверг, 14.10.2021, 22:35

 

Ответить

Юрий_Ф

Дата: Четверг, 14.10.2021, 22:57 |
Сообщение № 10

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

Ув. DrMini!

Нет, что-то в моей формуле всё же не так! Да, для даты 14.10 считает верно, но для прошедшего времени (от 14.10.21 до 13.10.22) пишет 365 дней тоже!

<_< PS. В общем, придётся после дня рождения в этом году добавлять в формулу к году +1, а после НГ, эту добавку убирать! Я думал, что Ecxel можно озадачить ЭТО делать автоматом!


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение отредактировал Юрий_ФЧетверг, 14.10.2021, 23:51

 

Ответить

Светлый

Дата: Пятница, 15.10.2021, 08:08 |
Сообщение № 11

Группа: Друзья

Ранг: Старожил

Сообщений: 1742


Репутация:

479

±

Замечаний:
0% ±


Excel 2013, 2016

это и есть количество дней. Чтобы в день рождения показывало 365 или 366 будет такая формула:

Код

=МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B2);ДЕНЬ(B2))-СЕГОДНЯ();»0;999;999″))

а полная формула будет:

Код

=»До дня рождения остал»&ЕСЛИ(СУММ({1;2}*(ОСТАТ(ОТБР(МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B2);ДЕНЬ(B2))-СЕГОДНЯ();»0;999;999″))/{1;10});10)=1))=1;»ся «;»ось «)&МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B2);ДЕНЬ(B2))-СЕГОДНЯ();»0;999;999″))&» д»&ВПР(ПРАВБ(МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B2);ДЕНЬ(B2))-СЕГОДНЯ();»0;999;999″))+9)+5*(ОСТАТ(ОТБР(МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(B2);ДЕНЬ(B2))-СЕГОДНЯ();»0;999;999″))/10);10)=1);{0;»ень»:1;»ня»:4;»ней»};2)


Программировать проще, чем писать стихи.

 

Ответить

DrMini

Дата: Пятница, 15.10.2021, 09:32 |
Сообщение № 12

Группа: Проверенные

Ранг: Старожил

Сообщений: 1019


Репутация:

93

±

Замечаний:
0% ±


Excel LTSC 2021 RUS

Вот ещё вариант с началом от Светлый, :

Код

=»До дня рождения остал»&ЕСЛИ(СУММ({1;2}*(ОСТАТ(ОТБР(МИН(—ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ())+{0;1};МЕСЯЦ(A2);ДЕНЬ(A2))-СЕГОДНЯ();»0;999;999″))/{1;10});10)=1))=1;»ся «;»ось «)&A2-СЕГОДНЯ()&» д»&ЕСЛИ(—ПРАВБ(A2-СЕГОДНЯ();2)<20;ПРОСМОТР(—ПРАВБ(A2-СЕГОДНЯ();2);{0;1;2;5};{«ней»;»ень»;»ня»;»ней»});ПРОСМОТР(—ПРАВБ(A2-СЕГОДНЯ());{0;1;2;5};{«ней»;»ень»;»ня»;»ней»}))

Вроде всё работает нормально кроме дня который равняется 1год+1день. Причём показывает и прошедшие даты со знаком
Вдруг пригодится куда.

Сообщение отредактировал DrMiniПятница, 15.10.2021, 09:33

 

Ответить

Юрий_Ф

Дата: Пятница, 15.10.2021, 13:30 |
Сообщение № 13

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

DrMini

Т.е. в ячейке А2 следует ставить интересующую дату?

Мгм. Всё понятно! Спасибо. Пригодится!


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

Сообщение отредактировал Юрий_ФПятница, 15.10.2021, 13:42

 

Ответить

Юрий_Ф

Дата: Пятница, 15.10.2021, 13:41 |
Сообщение № 14

Группа: Проверенные

Ранг: Ветеран

Сообщений: 586


Репутация:

0

±

Замечаний:
60% ±


Excel 2010

Светлый

Спасибо! Теперь всё понятно, для чего была нужна нижняя формула! hands
Очень благодарен вам!


То, что мы делаем, завораживает!
Кстати! Я не могу всем нравиться! И это взаимно!

 

Ответить

DrMini

Дата: Пятница, 15.10.2021, 14:21 |
Сообщение № 15

Группа: Проверенные

Ранг: Старожил

Сообщений: 1019


Репутация:

93

±

Замечаний:
0% ±


Excel LTSC 2021 RUS

Т.е. в ячейке А2 следует ставить интересующую дату?

Да. Но если так не надо, то можете в формуле заменить А2 на нужную Вам дату в формате «ДД.MM.ГГГГ» для даты конкретного года или «ДД.ММ» для текущего года.

 

Ответить

Чтобы в Excel рассчитать количество дней до вашего дня рождения, следуйте инструкции ниже:

  1. Выделите ячейку A2 и введите дату рождения.
  2. Выделите ячейку B2 и введите функцию TODAY (СЕГОДНЯ), чтобы вернуть сегодняшнюю дату.

    Дни до дня рождения в Excel

  3. Самое трудное в расчёте количества дней до вашего рождения – найти следующий день рождения. Формула ниже выполняет этот трюк.

    =DATE(YEAR(A2)+DATEDIF(A2,B2,»y»)+1,MONTH(A2),DAY(A2)) 
    =ДАТА(ГОД(A2)+РАЗНДАТ(A2;B2;»y»)+1; МЕСЯЦ(A2); ДЕНЬ(A2))

    Дни до дня рождения в Excel

    Пояснение:

    • Функция DATE (ДАТА) принимает три аргумента: год, месяц и день.
    • Мы использовали функцию DATEDIF (РАЗНДАТ), чтобы найти количество полных лет («у») между датой рождения и сегодняшним днём.
    • Формула РАЗНДАТ(A2;B2;«у») возвращает значение 32.
    • Если 32 полных года прошло с момента вашего дня рождения (другими словами, вы уже отметили свой 32-ой день рождения), значит в следующий день рождения вы будете отмечать 32 + 1 = 33 летие.
  4. Далее используем функцию DATEDIF (РАЗНДАТ), чтобы найти количество дней («d») между прошедшим и следующим днём рождения.

    =DATEIF(B2,C2,»d») 
    =РАЗНДАТ(B2;C2;»d»)

    Дни до дня рождения в Excel

support.office.com/ru-ru/article/%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%80%D0%B0%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B4%D0%B2%D1%83%D1%85-%D0%B4%D0%B0%D1%82-8235e7c9-b430-44ca-9425-46100a162f38

На чтение 2 мин. Просмотров 26 Опубликовано 21.05.2021

Если вы хотите знать, сколько дней осталось до вашего следующего дня рождения, как бы вы поступили? На самом деле, если вы используете Microsoft Excel, вы можете использовать формулы на листе, чтобы легко подсчитать дни до следующего дня рождения. Просмотрите дополнительные сведения, как показано ниже в руководстве.

Считайте дни до следующего дня рождения с помощью формул


Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и уменьшите тысячи щелчков мышью каждый день!

Считайте дни до следующего дня рождения с помощью формул

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

Шаг 1. Создайте рабочий лист с заголовками, показанными ниже

На листе последовательно создайте заголовки столбцов, как показано на скриншоте ниже. И введите дату своего дня рождения в ячейку A2 под заголовком «Дата дня рождения».

Шаг 2. Получение сегодняшней даты

Теперь нам нужно получить сегодняшнюю дату с помощью формулы. Выберите ячейку B2, введите в нее приведенную ниже формулу и нажмите Enter ley.

Тогда вы получите сегодняшнюю дату в ячейке B2.

Шаг 3. Получите дату следующего дня рождения

Выберите ячейку C2, скопируйте или введите в нее приведенную ниже формулу и нажмите клавишу Enter ,

Шаг 4. Получите количество дней, оставшихся до следующего дня рождения

Выберите ячейку D2, введите в нее приведенную ниже формулу, затем нажмите клавишу Enter .

Тогда вы получите оставшиеся дни до следующего дня рождения в ячейке D2.

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


Дата и время в Excel – это числа сформатированные специальным образом. Датой является целая часть числа, а время (часы и минуты) – это дробная часть.

По умолчанию число 1 соответствует дате 01 января 1900 года. То есть каждая дата – это количество дней прошедших от 01.01.1900. На данном уроке детально рассмотрим даты, а на следующих уроках – время.

Как в Excel посчитать дни между датами?

Так как дата является числом, значит можно проводить с ним математические вычислительные и расчетные операции. Посчитать количество дней между двумя датами Excel не составляет особых проблем. Для наглядного примера сначала выполним сложение, а потом вычитание дат. Для этого:

  1. На чистом листе в ячейку А1 введите текущею дату нажав CTRL+;.
  2. В ячейке A2 введите промежуточный период в днях, например 127.
  3. В ячейку A3 введите формулу:=A1+A2.

Формулы с датами.

Обратите внимание, формат «Дата» автоматически присвоился для ячейки A3. Не сложно догадаться, чтобы посчитать разницу в датах в Excel нужно от новейшей даты отнять старшую дату. В ячейке B1 введите формулу:=A3-A1. Соответственно мы получаем количество дней между этими двумя датами.



Вычисление возраста по дате рождения в Excel

Теперь мы научимся вычислять возраст по дате рождения:

  1. На новый лист в ячейки A1:A3 введите даты: 18.04.1985; 17.08.1977; 08.12.1992
  2. В ячейки B1:B3 проставьте текущею дату.
  3. Теперь нужно воспользоваться функцией по преобразованию количества дней в количество лет. Для этого вручную введите в диапазон 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. То есть прошел один високосный год (366 дней) и 1 день.

Способ отображения даты можно задать с помощью диалогового окна «Формат ячеек». Для его вызова нажмите: CTRL+1. На закладке «Число» выберите в списке «Числовые форматы» — «Дата». В разделе «Тип» отображаются самые популярные форматы для отображения дат.

Форматы дат.

Скачать примеры вычисления даты в Excel

Читайте также: Функции для работы с датами в Excel

На следующем уроке мы на готовых примерах будем работать со временем и периодами суток.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel количество дней в часах
  • Excel количество дней в указанном месяце
  • Excel количество дней в квартале
  • Excel количество дней в интервале
  • Excel количество дней в заданном месяцев

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии