Сколько дней до дня рождения 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

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

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

 

V

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

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

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

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

 

Юрий М

Модератор

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

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

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

 

V

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

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

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

 

VoV4eK

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

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

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

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

 

Юрий М

Модератор

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

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

#7

18.04.2013 19:19:21

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

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

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

 

jakim

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

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

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

 

Nic70y

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

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

Win7 MSO 2013

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

D3?

 

jakim

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

Сообщений: 1947
Регистрация: 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 пишет: Виртуальный массив

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

Если вы хотите знать, сколько дней осталось до вашего следующего дня рождения, как бы вы поступили? На самом деле, если вы используете 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.

Чтобы в 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

Like this post? Please share to your friends:
  • Сколько дней вы прожили excel
  • Сколько дней в периоде excel
  • Сколько графиков на диаграмме excel
  • Сколько встроенных функций содержит ms excel
  • Сколько всего ячеек содержит лист excel