Excel первое число месяца


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

ДАТА()

или

КОНМЕСЯЦА()

.

Если ячейка

А2

содержит дату, то нижеследующие формулы вернут первый день месяца этой даты (см.

файл примера

):

=КОНМЕСЯЦА(A2;-1)+1

=ДАТА(ГОД(A2);МЕСЯЦ(A2);1)

Если

А2

содержит дату, а

B

2

число месяцев, то формула

=ДАТА(ГОД(A2);МЕСЯЦ(A2)+B2;1)

вернет первое число месяца, отстоящего от исходного на число месяцев из ячейки

B

2

(т.е. если

А2

содержит 05/08/1999, а

B

2

– 3, то результат будет = 01/11/1999).

Тот же результат вернет формула

=КОНМЕСЯЦА(A2;B2-1)+1

Последний день месяца определяется в статье

Последний день месяца

.

Формулы для определения первого и последнего дней месяца от текущей или произвольной даты. Использовать можно в шаблонах различных документов и отчетов, при заполнении которых требуется отобразить интервал дат с участием первого и(или) последнего дня месяца.

Для формулы, преобразующей текущую или другую дату в первый день месяца, используем функции «ДАТА», «ГОД» и «МЕСЯЦ»:

  • Первый день текущего месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1)
  • Первый день прошлого месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())-1;1)
  • Первый день текущего месяца предыдущего года от текущей даты: =ДАТА(ГОД(СЕГОДНЯ())-1;МЕСЯЦ(СЕГОДНЯ());1)
  • Первый день месяца от произвольной даты, записанной в ячейку «A1»: =ДАТА(ГОД(A1);МЕСЯЦ(A1);1)

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

Последний день месяца в Excel

Для определения последнего месяца от текущей или произвольной даты в Excel, начиная с версии 2007 года, существует функция «КОНМЕСЯЦА» с двумя аргументами: «Начальная дата» и «Количество месяцев». Если «Количество месяцев» равно 0, то будет возвращен последний день того месяца, который содержится в аргументе «Начальная дата».

Примеры для Excel 2007-2016:

  • Последний день текущего месяца от текущей даты: =КОНМЕСЯЦА(СЕГОДНЯ();0)
  • Последний день прошлого месяца от текущей даты: =КОНМЕСЯЦА(СЕГОДНЯ();-1)
  • Последний день текущего месяца предыдущего года от текущей даты: =КОНМЕСЯЦА(СЕГОДНЯ();-12)
  • Последний день месяца от произвольной даты, записанной в ячейку «A1»: =КОНМЕСЯЦА(A1;0)

Функция «КОНМЕСЯЦА» возвращает значение в числовом виде, поэтому для правильного отображения последнего дня месяца следует к ячейке с формулой применить формат даты.

В версиях Excel по 2003 год функция «КОНМЕСЯЦА» по-умолчанию отсутствует, поэтому будем применять формулу, составленную, как и для первого дня месяца, из функций «ДАТА», «ГОД» и «МЕСЯЦ».

Примеры для Excel 2000-2003:

  • Последний день текущего месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())+1;0)
  • Последний день прошлого месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());0)
  • Последний день текущего месяца предыдущего года от текущей даты: =ДАТА(ГОД(СЕГОДНЯ())-1;МЕСЯЦ(СЕГОДНЯ())+1;0)
  • Последний день месяца от произвольной даты, записанной в ячейку «A1»: =ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;0)

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

Как вариант, для определения последнего дня месяца можно использовать формулу, возвращающую первый день следующего месяца, из значения которой вычитается единица: =ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;1)-1

Определение первого и последнего дня месяца имеет большую актуальность для автоматического заполнения интервала дат в диалоговых формах с помощью VBA Excel.

 

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

 

Haken

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

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

=КОНМЕСЯЦА(A1;-1)+1  

  A1 — ячейка с текущей датой

 

не забудтьте активировать надстройку пакет анализа  
иначе работать не будет  
без него:  
=ДАТА(год(ссылка);месяц(ссылка);1)

 

DV_68

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

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

Если не подключен пакет анализа, то можно так:  
=A1-ДЕНЬ(A1)+1

 

Serge

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

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

Можно и с извращениями :-)  

  =ТЕКСТ(«01″&».»&МЕСЯЦ(A1)&».»&ГОД(A1);»ДД.ММ.ГГГГ»)  

  20.05.2010 в А1.

 

слэн

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

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

или  =(«01.»&ТЕКСТ(a1;»ММ.ГГГГ»))+0  

  :)

 

Пока писал, слэн опередил :)  

  =СЦЕПИТЬ(«01.»;(ЕСЛИ(МЕСЯЦ(A1)<10;СЦЕПИТЬ(«0″;МЕСЯЦ(A1));МЕСЯЦ(A1)));».»;ГОД(A1))

 

Извините за … флуд. Жалко редактировать нельзя.  

  «Serge 007 и слэн»

 

слэн

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

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

{quote}{login=Serge 007}{date=21.05.2010 01:21}{thema=}{post}Можно и с извращениями :-)  

  =ТЕКСТ(«01″&».»&МЕСЯЦ(A1)&».»&ГОД(A1);»ДД.ММ.ГГГГ»)  

  20.05.2010 в А1.{/post}{/quote}  

  ну это уж слишком :)  

  тогда уж  

  =дата(год(a1);месяц(a1);1)

 

vikttur

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

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

 

Serge

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

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

{quote}{login=ТолькоУчусь}{date=21.05.2010 01:30}{thema=}{post}Извините за … флуд. Жалко редактировать нельзя.  
«Serge 007 и слэн»{/post}{/quote}Это наезд или повод для драки? :-)))  

  ЗЫ А в чём флуд?

 

Serge

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

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

{quote}{login=vikttur}{date=21.05.2010 01:34}{thema=}{post}Кто больше? Макросом? :){/post}{/quote}Есть такая игра «Поддавки» :-)  
Это как избушка, только наоборот :-) Шиворот-навыворот, так сказать :-)))  

  ЗЫ Слэн, с извращениями не нравится? :-)))

 

Serge 007, скорее это галантность ;)  

  Никого не хочу обидеть, но мне мой вариант больше нравится :)

 

vikttur

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

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

По поводу пятницы — форуму остро не хватает функции =КОНРАБНЕД() :)

 

слэн

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

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

или КОНЬРАБНЕД() — типа пусть кони работают..  

  или не работают — т.е. дохнут

 

Serge

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

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

{quote}{login=слэн}{date=21.05.2010 01:57}{thema=}{post}или КОНЬРАБНЕД() — типа пусть кони работают..  

  или не работают — т.е. дохнут{/post}{/quote}Надеюсь фанов ЦСКА на форуме нет? :-)))  

  ЗЫ Микки за коней как-раз болел…

 

{quote}{login=тухачевский}{date=21.05.2010 01:15}{thema=}{post}не забудтьте активировать надстройку пакет анализа  
иначе работать не будет  
без него:  
=ДАТА(год(ссылка);месяц(ссылка);1){/post}{/quote}  
Спасибо!  
Правда,не получилось,а как активировать надстройку Пакет анализа?

 

{quote}{login=DV}{date=21.05.2010 01:16}{thema=}{post}Если не подключен пакет анализа, то можно так:  
=A1-ДЕНЬ(A1)+1{/post}{/quote}  
УРА!!!!Получилось именно так!  
Видимо,не активирован Пакет анализа.  
Спасибо!

 

Юрий М

Модератор

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

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

Сервис — Надстройки (2003)

 

vikttur

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

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

Сервис-Надстройки. Если в списке есть Пакет анализа, поставить галку  
Если нет — или догрузить, или пользоваться другими формулами, Вам их накидали достаточно :)

 

Tany

Гость

#21

22.05.2010 16:08:54

Спасибо огромное всем!  
Рада,что нашла такой замечательный форум!

Я уже тут писал о том, как получить первое число месяца в Transact-SQL. Сейчас напишу как это сделать в Excel’e.
Существуют много способов сделать это. Мне нравятся два из них:
1) От исходной даты вычитаем номер дня в месяце – получаем последний день месяца предшествующий месяцу исходной даты. К этому результату прибавляем один день. Эта дата и будет нашим результатом. Формула для этого способа: “=A1-ДЕНЬ(A1)+1″.
=A1-ДЕНЬ(A1)+1

2) С помощью функции ДАТА(год;месяц;день) и из составляющих исходной даты (год и месяц) получаем первое число: “=ДАТА(ГОД(A1);МЕСЯЦ(A1);1)”.
=ДАТА(ГОД(A1);МЕСЯЦ(A1);1)

В этой статье мы посмотрим как по дате можно вернуть первое число данного месяца в Excel.

В комментариях к данной статье дали 2 более удобных способа:
=ДАТА(ГОД(E7);МЕСЯЦ(E7);1)
=КОНМЕСЯЦА(E7;-1)+1

То есть, например у нас есть ячейка с произвольной датой — например 30.08.2016. Нам необходимо по данной дате с помощью формул найти 01.08.2016 года. Стандартными способами я не нашел как это можно сделать. Можно по дате найти месяц, а вот первое число данного месяца нет.

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

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

Решение задачи будет выглядеть следующим образом.

=ЗНАЧЕН("01."&ТЕКСТ(A1;"ММ")&"."&ТЕКСТ(A1;"ГГГГ"))

Где в A1 — дата, по которой нам необходимо определить 1 число этого месяца.

Суть решения задачи следующая:

1. Находим месяц указанной даты. Указав «ММ» — мы найдем месяц в формате двух чисел. Так, например август месяц будет 08, а не просто 8

ТЕКСТ(A1;"ММ")

2. Находим год указанной даты в формате 4-х чисел. В нашем случае это 2016

ТЕКСТ(A1;"ГГГГ")

3. С помощью знака & склеиваем первое число месяца 01 с полученными данными

01.+08+"."+2016

В итоге мы получаем 01.08.2016 — но это еще только текст. Чтобы он преобразовался в дату. Выражение нужно вставить в функцию ЗНАЧЕН()

Понравилась статья? Поделить с друзьями:
  • Excel первое число в таблице
  • Excel первое слово в ячейке по буквам
  • Excel первое слово в тексте
  • Excel первое не пустое значение в строке
  • Excel первое значение по условию