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.

Содержание

  1. Первый и последний день месяца в Excel
  2. Первый день месяца в Excel
  3. Последний день месяца в Excel
  4. Как по дате найти первое число данного месяца в Excel
  5. Как получить первый день месяца в Excel (простые формулы)
  6. Получите первый день месяца, используя EOMONTH
  7. Получите первый день месяца по формуле ДАТА / ДЕНЬ
  8. Получите первый понедельник месяца
  9. Извлечение из даты в Excel
  10. Получить день
  11. Получить день недели
  12. Получить месяц
  13. Получить год с даты
  14. Извлечение даты с даты и времени
  15. Извлечение времени с даты и времени
  16. Получить возраст от дня рождения
  17. Получить финансовый квартал с даты
  18. Получить процент завершения года
  19. Получить квартал от даты
  20. Получить ту же дату в следующем месяце
  21. Получить ту же дату в следующем году
  22. Получить дату начала в соответствии с установленной датой
  23. Получить номер недели с даты

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

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

Первый день месяца в Excel

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

  • Первый день текущего месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());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.

Источник

Как по дате найти первое число данного месяца в Excel

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

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

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

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

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

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

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

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

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

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

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

Источник

Как получить первый день месяца в Excel (простые формулы)

Иногда вам может потребоваться знать, какой первый день месяца в зависимости от заданной даты.

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

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

Получите первый день месяца, используя EOMONTH

Функция EOMONTH дает вам последний день месяца для заданной даты (отсюда и называется функция конца месяца).

Но нам не нужен последний день месяца — нам нужен первый день.

Чтобы получить первое число месяца, вам нужно немного изменить формулу EOMONTH.

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

Обратите внимание, что эти даты указаны в формате ММ / ДД / ГГГГ (формат даты, используемый в США). В вашей системе они могут выглядеть по-разному в зависимости от региональных настроек даты.

Ниже приведена формула для этого:
= EOMONTH (A2; -1) +1

В приведенной выше формуле EOMONTH используются два аргумента:

  • Дата начала: дата, с которой Excel использует значение месяца и вычисляет первый день месяца.
  • Месяцы: Количество месяцев до или после даты начала. Если я использую 0, EOMONTH даст мне последний день данного месяца, а если я использую 1, он даст мне последний день следующего месяца.

Поскольку я использовал -1 в качестве второго аргумента в формуле EOMONTH, он дает мне последний день предыдущего месяца (на основе даты в ячейке A2).

А поскольку мне нужен первый день месяца (с заданной даты), я могу просто добавить 1 к результату EOMONTH.

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

Обратите внимание, что функция EOMONTH доступна только в Excel 2007 и более поздних версиях.

Получите первый день месяца по формуле ДАТА / ДЕНЬ

Даты хранятся в Excel в виде чисел, что позволяет нам легко использовать их в вычислениях (например, сложении / вычитании).

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

Например, если у меня есть дата 15 октября 2021-2022 гг., Чтобы получить первый выходной в этом месяце, мне нужно вычесть 14 дней из этой даты.

Теперь давайте посмотрим, как преобразовать эту логику в формулу Excel.

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

Ниже приведена формула, которая сделает это:
= A2-ДЕНЬ (A2) +1

В приведенной выше формуле используется дата в ячейке A2 (которая хранится как серийный номер сзади и в Excel) и вычитается значение дня той же даты (которое задается формулой DAY).

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

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

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

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

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

Позвольте мне взять пример сентября 2021-2022, где первый день месяца — вторник, а первый понедельник — 8 сентября 2021-2022.

Ниже приведена формула, которая даст мне первый понедельник сентября2021-2022 гг.
= (EOMONTH (DATE (2020,7,1), — 1) +1) + (MOD (8-WEEKDAY (EOMONTH (DATE (2020,7,1), — 1) +1,2), 7))
Обратите внимание, что я жестко запрограммировал дату с помощью функции DATE. В этом случае вы также можете использовать ссылку на ячейку с датой. Поэтому вместо DATE (2020,7,1) вы можете использовать ссылку на ячейку (например, A2) с датой.

Теперь позвольте мне объяснить, как работает эта формула!

Первая часть формулы (которая является формулой EOMONTH) дает нам первый день месяца для данной даты.

Вторая часть формулы использует функцию WEEKDAY для анализа этого первого дня месяца. Если уже понедельник, то вся формула MOD возвращает 0, и у нас останется сам первый день.

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

Например, для сентября 2021–2022 гг. Первый день месяца — вторник. В этом случае функция MOD дает нам 6, что при добавлении к результату EOMONTH дает нам 7 сентября 2021-2022 гг. Как первый понедельник месяца.

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

Например, если вы хотите найти первую субботу любого месяца, вы можете настроить формулу, как показано ниже:
= (EOMONTH (DATE (2020,9,1); — 1) +1) + (MOD (8-WEEKDAY (EOMONTH (DATE (2020,9,1); — 1) +1,16), 7))
Единственное изменение, которое я сделал, — это второй аргумент формулы WEEKDAY.

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

Источник

Извлечение из даты в Excel

Получить день

Получить дату с номера дня

Чтобы получить реальную дату из числа дня или «n-го числа года», вы можете использовать функцию ДАТА.

В показанном примере формула в C5:

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

Например, ДАТА возвращает 9 апреля 2016 года со следующими аргументами:

В январе нет 100-го дня, поэтому ДАТА просто продвигается на 100 дней вперед с 1 января, а цифры возвращают правильную дату.

Формула на этой странице использует эту механику. В этом случае предполагается, что в этом году 2015 год, поэтому 2015 год жестко закодирован в течение года, а 1 используется в течение месяца. Значение дня выводится из столбца B, а функция ДАТА рассчитывает дату, как объяснено выше.

Если у вас есть дата в формате Юлиан, например 10015, где используется формат «дддгг», вы можете изменить формулу следующим образом:

Здесь мы используем ПРАВСИМВ, чтобы извлечь 2 символа справа за год, и ЛЕВСИМВ, чтобы извлечь 3 символа слева в течение дня. Месяц представлен как 1, как в первом примере.

Получить день с даты

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

Функция ДЕНЬ принимает только один аргумент — дату, из которой вы хотите извлечь день. В этом примере формула:

B4 содержит значение даты для 5 января 2016 года. Функция ДЕНЬ возвращает число 5, представляющее компонент дня даты.

Обратите внимание: вы можете использовать ДЕНЬ для извлечения дня из дня, введенного как текст:

Но это может привести к непредсказуемым результатам на компьютерах, использующих разные региональные настройки даты. В общем, лучше (и более гибко) указать адрес ячейки, в которой уже есть действительное значение даты в качестве аргумента для ДЕНЬ.

Получить имя дня с даты

Если вам необходимо получить имя дня (например, понедельник, вторник и т. д.) С даты, есть несколько вариантов в зависимости от ваших потребностей.

Если вы хотите отображать имя дня, вам не нужна формула — вы можете использовать формат персонализированного номера. Выберите дату, затем перейдите к Форматирование ячеек (Ctrl + 1 или Cmd + 1)> Custom и введите один из этих настраиваемых форматов:

Excel отобразит только имя дня, но оно оставит неизменным значение даты.

Если вы хотите преобразовать значение даты в текстовое значение, вы можете использовать функцию ТЕКСТ с настраиваемым числовым форматом, например, «ддд». Формула выглядит так:

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

Если вы не хотите использовать вспомогательную таблицу, вы также можете отобразить номер дня недели в название месяца непосредственно в функции ВЫБОР следующим образом:

В этом случае введите имена дней недели, которые вы хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента. ДЕНЬНЕД будет извлекать номер буднего дня, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что ДЕНЬНЕД возвращает число 1-7, соответствующее заданному дню недели. С настройками по умолчанию, воскресенье = 1 и суббота = 7. Смотрите ДЕНЬНЕД для получения дополнительной информации.

ВЫБОР — это больше работы по настройке, но она также более гибкая, так как позволяет привязать дату к любым требуемым значениям (т. е. Вы можете использовать значения, которые являются пользовательскими, сокращенными, не сокращенными, разными языками и т. д.).

Получить дни до даты

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

В примере D5 содержит эту формулу:

В Excel даты — это просто серийные номера. В стандартной системе дат для окон, основанной на 1900 году, где 1 января 1900 года является номером 1. Даты действительны до 9999, что является серийным номером 2 958 465. Это означает, что 1 января 2050 года серийный номер 54789.

В примере датой является 9 марта 2016 года, который является серийным номером 42 438. Так:

= 1 января 2050 — 27 апреля 2014 г.

Это означает, что до 1 января 2050 года, когда отсчитывается с 9 марта 2016 года, существует 13 033 дня.

Примечание: вам не нужно использовать функцию СЕГОДНЯ. Во втором примере формула в D6:

В третьем примере одна и та же базовая формула используется вместе с оператором конкатенации (&) для встраивания вычисленных дней в простое текстовое сообщение:

Поскольку между 10 декабря 2014 года и 25 декабря 2014 года существует 15 дней, результатом является следующее сообщение:

Осталось всего 15 дней!

Получить дни между датами

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

В примере формула в ячейке D6 возвращает 365, поскольку между 1/1/1999 и 1/1/2000 есть 365 дней.

Даты в Excel — это просто серийные номера, которые начинаются 1 января 1900 года.

В примере формула в ячейке D6 просто вычитает числовое значение 1/1/1999 (36161) из числового значения 1/1/2000 (36526), чтобы получить результат 365. Шаги выглядят так:

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

Если вам необходимо вычислить количество дней между более поздней датой и сегодняшним днем, используйте:

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

Функция ДНИ, введенная в Excel 2013, также вычисляет дни между двумя датами.

Получайте дни между датами, игнорируя годы

Для вычисления дней между двумя датами, игнорируя значения года, используйте функцию РАЗНДАТ. В показанном примере формула в D5:

Функция РАЗНДАТ может обрабатывать различные расчеты «разницы дат» для вычисления разницы между двумя датами в годах, месяцах и днях. РАЗНДАТ принимает 3 аргумента: начальную дату, конечную дату и единицу измерения, которая контролирует, какой результат будет возвращен.

В этом случае мы хотим, чтобы дни игнорировались годами, поэтому мы поставляем «yd» для единицы.

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

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

Чтобы получить первый день месяца для определенной даты, вы можете использовать простую формулу, основанную на функции ДЕНЬ.

В показанном примере формула в ячейке B5:

Функция ДЕНЬ возвращает значение дня для даты. В примере показано, что значение дня для даты в B5 (5 июня 2016 года) равно 5. Поскольку даты — это только порядковые номера в Excel, мы можем вычесть 5, а затем добавить 1, чтобы получить значение даты на 1 июня 2016 года.

Получить первый день предыдущего месяца

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

В показанном примере формула в ячейке B5:

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

В показанном примере месяцев указываются как -2, что заставляет КОНМЕСЯЦА возвращаться 4/30/2015. Затем добавляется 1 день для получения 5/1/2015.

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

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

В показанном примере формула в ячейке B5:

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

Чтобы получить последний день предыдущего месяца, используйте:

Чтобы получить последний день следующего месяца, используйте:

Если вы предпочитаете создавать умные формулы, которые озадачивают других, вы также можете использовать функцию ДАТА, чтобы получить последний день месяца:

Трюк с этой формулой дает ноль в течение дня. Когда вы указываете нуль в качестве аргумента дня для ДАТА, функция даты откатывается один день в предыдущий месяц до последнего дня этого месяца. Таким образом, добавляя 1 к месяцу и используя ноль в день, ДАТА возвращается к последнему дню «оригинального» месяца.

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

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

В примере формула в C5:

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

Эта дата переходит в функцию РАБДЕНЬ как «дата начала», а также -1 для «дней». Функция РАБДЕНЬ автоматически отступает на 1 день, принимая во внимание любые выходные. В результате будет последний рабочий день месяца.

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

= РАБДЕНЬ(КОНМЕСЯЦА(B5;0) + 1; -1; праздничные дни)

Функция РАБДЕНЬ предполагает, что выходные — это суббота и воскресенье. Если вам необходимо настроить выходные дни, вы можете использовать функцию РАБДЕНЬ.МЕЖД.

Получить n-ый день года

Если вы хотите получить день года с даты (например, n-го числа года), вы можете использовать формулу, которая использует функции ДАТА и ГОД вместе.

Например, с датой «1 июня 2016 года» в ячейке B4 следующая формула вернет 153:

То есть 1 июня 2016 года — 153-й день этого года.

Эта формула использует тот факт, что даты — это просто порядковые номера в Excel. Он определяет последний день предыдущего года и вычитает его, начиная с исходной даты B4. Результат — n-й день года.

Обратите внимание, что аргумент день в ДАТА предоставляется как ноль. Хорошей особенностью функции ДАТА является то, что она может обрабатывать значения ДЕНЬ, которые находятся «вне диапазона», и соответствующим образом корректировать результат. Когда мы даем ДАТА год, 1 месяц и 0 дней, функция ДАТА возвращает последний день предыдущего года.

Чтобы настроить формулу для возврата n-го дня года для текущей даты, просто используйте функцию СЕГОДНЯ для даты:

Получить день недели

Получить последний день недели

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

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

В примере формула B6 является датой 1/16/2015, а формула в C6:

Число 7 (числовой аргумент в функции ОСТАТ) представляет день недели (день), который вы хотите. Только помните, что 1 — это воскресенье, а 7 — суббота. Так принято в США.

Чтобы решить эту формулу, Excel сначала вычитает день (7 в данном случае) из даты, а затем передает результат в функцию ОСТАТ в качестве числа. ОСТАТ возвращает остаток от деления этого числа на 7, которое затем вычитается из даты.

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

Примечание. Если дата имеет тот же день недели, дата будет возвращена.

Получить следующий день недели

Если вы хотите найти следующий конкретный день недели (т.е. следующую среду, пятницу или понедельник) с определенной датой начала, вы можете использовать общую формулу, которая использует функцию ДЕНЬНЕД с чем-то, называемым «день недели» (день). С помощью этой формулы вы можете делать такие вещи:

  • Получить следующую пятницу
  • Получить следующую субботу
  • Получить следующий вторник

Формулы, в которых используется понятие «день недели», основаны на идее, что каждый день недели имеет определенное число. По умолчанию Excel назначает 1 на воскресенье и 7 на субботу. Таким образом, функция ДЕНЬНЕД при заданной дате возвращает число от 1 до 7. В двух словах эта формула сначала переводит дату вперед на 7 дней, а затем возвращается к правильной дате, вычитая результат вычисления, который использует функцию ДЕНЬНЕД.

В примере формула B6 является датой 1/16/2015, а формула в C6:

Число 2 представляет день недели (день), который вы хотите, в данном случае, понедельник.

Чтобы решить эту формулу, Excel сначала добавляет 7 к начальной дате в C6, а затем уменьшает B6 + 7-2 до 42025 (порядковый номер в системе даты Excel, который представляет 1/21/2015). Затем Excel вычисляет день недели для этой даты (4) и вычитает, что из исходной даты начала + 7 (42027 = 1/23/2015), чтобы получить окончательное значение даты 42013 = 1/9/2015

Если вы хотите получить следующий день недели с текущей даты, вы можете использовать функцию СЕГОДНЯ, например:

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

Получить n-й день недели в месяце

= Дата-ДЕНЬ(дата) + 1 + n * 7-ДЕНЬНЕД(дата-ДЕНЬ (дата) + 8-день)

Чтобы получить n-й день недели в месяце (т. е. первый вторник, третий вторник, четвертый четверг и т. д.), вы можете использовать формулу, основанную на функциях ДЕНЬ и НЕДЕЛЯ.

В показанном примере формула в E5:

Во-первых, эта формула определяет «дату начала». «Первое число месяца» рассчитывается с помощью функции ДЕНЬ:

Затем n * 7 дней до первого числа месяца, чтобы получить дату начала n недель с первого числа месяца. В общей форме формулы n представляет «n-ое».

Следующий шаг — рассчитать корректировку, необходимую для достижения конечного результата. Корректировка рассчитывается с использованием ДЕНЬНЕД и ДЕНЬ:

В ДЕНЬНЕД снова вычисляется первое число месяца, затем добавляются 8 дней и вычитается значение для день (день недели).

День недели сокращенно «день» в общей форме формулы. Это число от 1 (воскресенье) до 7 (суббота), которое может быть изменено по мере необходимости.

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

Получить последний день недели за месяц

= КОНМЕСЯЦА(дата; 0) + 1-ДЕНЬНЕД (КОНМЕСЯЦА(дата; 0) + 1-день)

Чтобы получить последний день недели за месяц (то есть в прошлую субботу, последнюю пятницу, последний понедельник и т. Д.), Вы можете использовать формулу, основанную на функциях КОНМЕСЯЦА и ДЕНЬНЕД.

В показанном примере формула в D5:

Во-первых, эта формула определяет первый день следующего месяца * после * данной даты. Он делает это, используя КОНМЕСЯЦА, чтобы получить последний день месяца, а затем добавить один день:

Затем формула вычисляет количество дней, требуемых для «возврата назад» к последнему запрошенному буднему дню в предшествующем месяце (т. е. Месяце исходной даты):

В ДЕНЬНЕД КОНМЕСЯЦА снова используется для получения первого дня следующего месяца. С этой даты вычитается значение для дня недели, и результат вводится в ДЕНЬНЕД, который возвращает количество дней для отката.

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

В общем виде формулы вверху страницы день недели сокращенно «день». Это число от 1 (воскресенье) до 7 (суббота), которое можно изменить, чтобы получить другой день недели. Например, чтобы получить последний четверг месяца, установите значение день равным 5.

Получить первый понедельник до любой даты

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

Если вы предполагаете, что у вас есть случайная дата и хотите оглянуться назад во времени, чтобы найти ближайший предыдущий понедельник, вы можете увидеть, что вам нужно будет «отбросить» определенное количество дней в зависимости от дня недели (например, понедельник, вторник, и т. д.) даты. Если дата является понедельником, вам нужно будет вернуться на 7 дней, если дата является вторником, вам нужно вернуться на 1 день и так далее. Ниже приведены корректировки, необходимые для каждого дня недели.

Чтобы рассчитать эту корректировку динамически для любой даты, вы можете использовать тот факт, что понедельник — это второй день недели в схеме по умолчанию Excel. Просто вычислите день недели даты на 2 дня раньше и используйте этот результат для значения корректировки. Итак, при допущении даты 4 июня 2015 года (четверг) в ячейке A1 формула решается следующим образом:

= 4;2015 июня — ДЕНЬНЕД(2 июня 2015 г.)

Если вы считаете, что настройка дня недели запутанна и не интуитивна, вы используете альтернативную формулу, которая использует функцию ВЫБОР с жестко заданными значениями регулировки:

В этой версии используется ДЕНЬНЕД, чтобы получить индекс для дня недели (с понедельника как 1), а затем ВЫБОР возвращает правильное количество дней для возврата.

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

Получить месяц

Получить месяц с даты

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

Функция МЕСЯЦ принимает только один аргумент — дату, из которой вы хотите извлечь месяц. В этом примере формула:

B4 содержит значение даты на 5 января 2016 года. Функция МЕСЯЦ возвращает число 1, соответствующее месяцу (январю) даты.

Обратите внимание, что вы можете использовать МЕСЯЦ для извлечения месяца со дня, введенного как текст:

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

Получить название месяца с даты

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

Если вы хотите отображать название месяца, вам не нужна формула — вы можете использовать формат персонализированного номера. Выберите дату и перейдите к Форматирование ячеек (Ctrl + 1 или Cmd +1), затем выберите Custom и введите один из этих настраиваемых форматов:

Excel отобразит только название месяца, но оно оставит неизменным значение даты.

Если вы хотите преобразовать значение даты в текстовое значение, вы можете использовать функцию ТЕКСТ с настраиваемым числовым форматом, например «ммм».

Функция ТЕКСТ преобразует значения в текст с использованием формата чисел, который вы предоставляете. Обратите внимание, что дата теряется при преобразовании: остается только текст для названия месяца.

Если вы хотите максимальной гибкости, вы можете «сопоставить» название месяца с именем месяца непосредственно в функции ВЫБОР следующим образом:

= ВЫБОР (МЕСЯЦ (B4); «Янв»; «Фев»; «Мар»; «Апр»; «Май»; «Июн»; «Июл»; «Авг»; «Сен»; «Окт»; «Ноя» «;» Дек»)

Введите названия месяца, которые хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента, который вводится как МЕСЯЦ (дата). МЕСЯЦ выведет номер месяца, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что МЕСЯЦ возвращает число 1-12, соответствующее имени месяца.

ВЫБОР — это больше работы по настройке, но она также более гибкая, так как позволяет сопоставлять дату с любыми требуемыми значениями (т. е. Вы можете использовать значения, которые являются обычаями, аббревиатурами, аббревиатурами на другом языке и т. д. ).

Получать месяцы между датами

Чтобы рассчитать месяцы между двумя датами как целые числа, вы можете использовать функцию РАЗНДАТ.

В показанном примере формула в D5:

Обратите внимание, что РАЗНДАТ автоматически округляется вниз.

Функция РАЗНДАТ — это функция «совместимости», которая приходит из Лотос 1-2-3. По неизвестным причинам это документировано в Excel 2000, но вы можете использовать его в своих формулах во всех версиях Excel с того времени.

РАЗНДАТ принимает 3 аргумента: дата начала, дата окончания и единица измерения. В этом случае мы хотим месяцы, поэтому мы поставляем «м» для единицы.

РАЗНДАТ автоматически вычисляет и возвращает число в течение месяцев, округленное вниз.

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

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

Получить год с даты

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

Функция ГОД принимает только один аргумент — дату, из которой вы хотите извлечь год. В этом примере формула:

B4 содержит значение даты для 5 января 2016 года. Функция ГОД возвращает число 2016, представляющее год даты.

Обратите внимание, что вы можете использовать ГОД для извлечения года из дня, введенного как текст:

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

Извлечение даты с даты и времени

Excel обрабатывает даты и время, используя схему, в которой даты — это серийные номера, а время — дробные значения. Например, 1 июня 2000 г. 12:00 PM представлено в Excel как число 36678,5, где 36678 — это дата, а 0,5 — время.

Если у вас есть даты со значениями времени, и вы хотите извлечь только часть даты, вы можете использовать формулу, которая использует функцию ЦЕЛОЕ. Итак, если A1 содержит дату и время, 1 июня 2000 г. 12:00, формула, приведенная ниже, возвращает только часть даты (36678):

Временная часть значения (дробная часть) отбрасывается. Вы также можете использовать функцию ОТБР с тем же результатом:

Заметки:

  1. При использовании любого из приведенных выше методов убедитесь, что вы используете формат даты для результата, который не включает время. В противном случае вы увидите время, отображаемое как 12:00 AM.
  2. Для дат и времени (которые должны быть положительными в Excel) нет разницы в использовании ЦЕЛОЕ и ОТБР для извлечения целого числа. Но ЦЕЛОЕ фактически округляет числа до ближайшего целого, что делает разницу, когда значения отрицательные.

Извлечение времени с даты и времени

Excel обрабатывает даты и время, используя схему, в которой даты — это серийные номера, а время — дробные значения. Например, 1 июня 2000 г. 12:00 PM представлено в Excel как число 36678,5, где 36678 — это дата, а .5 — время.

Если у вас есть даты со значениями времени, и вы хотите извлечь только часть времени (дробную часть), вы можете использовать формулу, которая использует функцию ОСТАТ. Если предположить, что A1 содержит дату и время 1 июня 2000 г. 12:00, формула, приведенная ниже, вернет только часть времени (0,5):

Функция ОСТАТ возвращает остаток от деления. Первый аргумент — это число, а второй — делитель. Вот несколько примеров:

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

Короче говоря, = ОСТАТ(число, 1) возвращает только дробную часть числа, отбрасывая целую часть, поэтому это удобный способ извлечь время из даты и времени.

Примечание. Если вы используете эту формулу, чтобы отделить время от даты и времени, вам необходимо настроить формат числа в подходящий формат времени.

Получить возраст от дня рождения

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

В этом примере активная ячейка содержит эту формулу:

ДОЛЯГОДА вычисляет десятичное число, представляющее долю года между двумя датами. Чтобы определить долю года в десятичном значении, Excel использует целые дни между двумя датами. Это просто в Excel, потому что все даты — это просто серийные номера.

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

Результатом ДОЛЯГОДА для Майкла Чанга, здесь в феврале 2016 года, является что-то вроде этого:

Затем функция ЦЕЛОЕ берет на себя и округляет это число до целочисленного значения, которое является числом 14. Хотя Майклу почти 15 лет, ему все еще только 14 по годам, так что это правильный результат.

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

Чтобы проверить день рождения и вернуть «Несовершеннолетний» или «Взрослый», вы можете обернуть формулу возраста в функции ЕСЛИ следующим образом:

= ЕСЛИ(ЦЕЛОЕ(ДОЛЯГОДА(A1; СЕГОДНЯ()))

В показанном примере формула в D5:

Большая часть работы в этой формуле выполняется функцией ТЕКСТ, которая применяет формат часового номера в часах и минутах к значению, созданному путем вычитания даты начала с конечной даты.

Это пример вставки текста в пользовательский формат числа, и этот текст должен быть окружен дополнительной парой двойных кавычек.

Значение для дней вычисляется с помощью функции ЦЕЛОЕ, которая просто удаляет целую часть конечной даты минус дата начала:

Хотя вы можете использовать «д» в настраиваемом числовом формате в течение нескольких дней, значение «перевернется» обратно к нулю, когда число дней больше 31.

Чтобы включить секунды, вы можете расширить формат пользовательских чисел следующим образом:

Получить финансовый квартал с даты

Если вы хотите рассчитать финансовый квартал от даты, а финансовый квартал начинается в месяце, отличном от января, вы можете использовать формулу, основанную на функции ВЫБОР.

Примечание: если вам просто нужно вычислить «нормальный» квартал на основе четвертичной системы, которая начинается в январе, вы можете использовать эту более простую формулу.

В показанном примере формула в ячейке D5:

Эта формула возвращает число 1-4, которое соответствует четвертичной системе, которая начинается в апреле и заканчивается в марте.

Функция выбора использует первый аргумент для «выбора» оставшихся элементов. Например, в схеме, где 1 = маленький, 2 = средний и 3 = большой, эта формула «отобразит» число 2 на «среднее».

В случае фискальных кварталов мы можем использовать эту же идею для сопоставления любого входящего месяца (1-12) с одним из 4 квартальных значений. Нам просто нужно использовать функцию МЕСЯЦ, чтобы получить номер месяца в качестве первого аргумента, а затем предоставить 12 номеров (по одному на каждый месяц года), которые тщательно упорядочены, чтобы отразить желаемый финансовый год:

Если вы хотите, чтобы номер квартала включал «К» со значением года, вы можете объединить его:

Возвращает значения типа: «К1 — 2016», «К2 — 2016» и т. д.

Получить процент завершения года

Если вам необходимо вычислить процент, оставшийся в году, на основе данной даты, вы делаете это с помощью формулы, основанной на функции ДОЛЯГОДА.

В примере формула в C5, которая вычисляет процент оставшегося года, выглядит так:

Функция ДОЛЯГОДА принимает две даты, дату начала и дату окончания и вычисляет время между ними в дробных годах. В этом случае мы используем конечную дату как есть, но генерируем начальную дату, равную первому дню того же года, с этим битом кода:

Это извлекает значение года из даты в B5 и вставляет его в функцию ДАТА, а также 1 для месяца и дня.

В результате функция ДОЛЯГОДА возвращает десятичное значение, соответствующее доле года между двумя датами.

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

Чтобы вычислить процент оставшегося года, просто скорректируйте формулу, чтобы вычесть дробный год из 1. В примере D5 содержит эту формулу:

Получить квартал от даты

Если вы хотите рассчитать квартал (то есть 1,2,3,4) от даты, вы можете использовать функцию ОКРУГЛВВЕРХ вместе с МЕСЯЦ.

В показанном примере формула в ячейке C5:

В этом случае формула сначала извлекает месяц как число от 1 до 12, а затем делит это число на 3. Затем результат округляется до ближайшего целого числа с помощью функции ОКРУГЛВВЕРХ.

Функция ОКРУГЛВВЕРХ работает так же, как функция ОКРУГЛ, за исключением того, что ОКРУГЛВВЕРХ всегда округляет цифры от 1 до 9 до заданного количества цифр.

Если вы хотите, чтобы номер четверти включал «Ч», вы можете конкатенировать. Формула в D5:

Результатом является буква «Ч», добавленная к номеру квартала.

Получить ту же дату в следующем месяце

Чтобы получить ту же дату в следующем месяце с определенной даты, вы можете использовать функцию ДАТАМЕС.

В показанном примере формула в ячейке B5:

ДАТАМЕС может получить «ту же дату» в будущем или в прошлом, исходя из количества предоставленных месяцев. Когда 1 дается месяцами, ДАТАМЕС получает ту же дату в следующем месяце.

Чтобы получить ту же дату за предыдущий месяц, используйте -1:

Получить ту же дату в следующем году

Чтобы получить ту же дату в следующем году с определенной даты, вы можете использовать функцию ДАТАМЕС.

В показанном примере формула в ячейке B5:

ДАТАМЕС может получить «ту же дату» в будущем или в прошлом, исходя из количества предоставленных месяцев. Когда 12 дается на месяцы, ДАТАМЕС получает ту же дату в следующем году.

Чтобы получить ту же дату за предыдущий месяц, используйте -12:

Получить дату начала в соответствии с установленной датой

Чтобы рассчитать требуемую дату начала в соответствии с установленной датой запуска / запуска / завершения, за исключением нерабочих дней, таких как выходные и праздничные дни, вы можете использовать функцию РАБДЕНЬ.

В показанном примере формула в D6:

Начиная с даты окончания Пт, 06-Янв-2015, функция РАБДЕНЬ отсчитывает назад 10 рабочих дней (исключая выходные и праздничные дни) и возвращает Вт, 18-дек-2014. Это необходимая дата начала активности, для которой требуется 10 рабочих дней.

Функция РАБДЕНЬ принимает три аргумента: дата начала, дни и (необязательно) праздники. Затем он добавляет дни к дате, автоматически исключая выходные и праздничные дни (если они предусмотрены).

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

При отрицательном значении дня РАБДЕНЬ вычитает дни с даты начала, принимая во внимание выходные и праздничные дни.

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

Если в вашем расписании пользовательские выходные дни (то есть что-то отличается от субботы и воскресенья), используйте функцию РАБДЕНЬ.МЕЖД вместо РАБДЕНЬ.

Получить номер недели с даты

Если вам необходимо получить номер недели со дня с даты, вы можете использовать функцию НОМНЕДЕЛИ. Дата должна быть в формате, который Excel распознает как действительную дату.

Функция НОМНЕДЕЛИ принимает два аргумента, дату и, необязательно, аргумент с именем Тип возвращаемого значения, который управляет схемой, используемой для вычисления номера недели.

В этом примере формула:

B4 содержит значение даты для 5 января 2016 года. Функция ДЕНЬ возвращает число 2, представляющее число вычисляемой недели.

Обратите внимание, что по умолчанию функция НОМНЕДЕЛИ использует схему, где неделя 1 начинается 1 января, а неделя 2 начинается в следующее воскресенье (когда аргумент Тип возвращаемого значения опущен или поставлен как 1).

При значении Тип возвращаемого значения 2 неделя 1 начинается 1 января, а неделя 2 начинается в следующий понедельник.

С номерами недель в неделю неделя 1 начинается в понедельник первой недели в году с четверга. Это означает, что первый день года для недель ISO — это всегда понедельник в период с 29 января по 4 января.

Начиная с Excel 2010 для Windows и Excel 2011 для Mac, вы можете сгенерировать номер недели ISO, используя 21 как Тип возвращаемого значения:

В Excel 2013 появилась новая функция НОМНЕДЕЛИ.ISO.

Источник

В этой статье мы посмотрим как по дате можно вернуть первое число данного месяца в 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 — но это еще только текст. Чтобы он преобразовался в дату. Выражение нужно вставить в функцию ЗНАЧЕН()

Содержание:

  1. Получите первый день месяца, используя EOMONTH
  2. Получите первый день месяца по формуле ДАТА / ДЕНЬ
  3. Получите первый понедельник месяца

Иногда вам может потребоваться знать, какой первый день месяца в зависимости от заданной даты.

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

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

Итак, приступим!

Получите первый день месяца, используя EOMONTH

Функция EOMONTH дает вам последний день месяца для заданной даты (отсюда и называется функция конца месяца).

Но нам не нужен последний день месяца — нам нужен первый день.

Чтобы получить первое число месяца, вам нужно немного изменить формулу EOMONTH.

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

Обратите внимание, что эти даты указаны в формате ММ / ДД / ГГГГ (формат даты, используемый в США). В вашей системе они могут выглядеть по-разному в зависимости от региональных настроек даты.

Ниже приведена формула для этого:
= EOMONTH (A2; -1) +1

В приведенной выше формуле EOMONTH используются два аргумента:

  • Дата начала: дата, с которой Excel использует значение месяца и вычисляет первый день месяца.
  • Месяцы: Количество месяцев до или после даты начала. Если я использую 0, EOMONTH даст мне последний день данного месяца, а если я использую 1, он даст мне последний день следующего месяца.

Поскольку я использовал -1 в качестве второго аргумента в формуле EOMONTH, он дает мне последний день предыдущего месяца (на основе даты в ячейке A2).

А поскольку мне нужен первый день месяца (с заданной даты), я могу просто добавить 1 к результату EOMONTH.

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

Обратите внимание, что функция EOMONTH доступна только в Excel 2007 и более поздних версиях.

Получите первый день месяца по формуле ДАТА / ДЕНЬ

Даты хранятся в Excel в виде чисел, что позволяет нам легко использовать их в вычислениях (например, сложении / вычитании).

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

Например, если у меня есть дата 15 октября 2021-2022 гг., Чтобы получить первый выходной в этом месяце, мне нужно вычесть 14 дней из этой даты.

Теперь давайте посмотрим, как преобразовать эту логику в формулу Excel.

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

Ниже приведена формула, которая сделает это:
= A2-ДЕНЬ (A2) +1

В приведенной выше формуле используется дата в ячейке A2 (которая хранится как серийный номер сзади и в Excel) и вычитается значение дня той же даты (которое задается формулой DAY).

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

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

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

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

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

Позвольте мне взять пример сентября 2021-2022, где первый день месяца — вторник, а первый понедельник — 8 сентября 2021-2022.

Ниже приведена формула, которая даст мне первый понедельник сентября2021-2022 гг.
= (EOMONTH (DATE (2020,7,1), - 1) +1) + (MOD (8-WEEKDAY (EOMONTH (DATE (2020,7,1), - 1) +1,2), 7))
Обратите внимание, что я жестко запрограммировал дату с помощью функции DATE. В этом случае вы также можете использовать ссылку на ячейку с датой. Поэтому вместо DATE (2020,7,1) вы можете использовать ссылку на ячейку (например, A2) с датой.

Теперь позвольте мне объяснить, как работает эта формула!

Первая часть формулы (которая является формулой EOMONTH) дает нам первый день месяца для данной даты.

Вторая часть формулы использует функцию WEEKDAY для анализа этого первого дня месяца. Если уже понедельник, то вся формула MOD возвращает 0, и у нас останется сам первый день.

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

Например, для сентября 2021–2022 гг. Первый день месяца — вторник. В этом случае функция MOD дает нам 6, что при добавлении к результату EOMONTH дает нам 7 сентября 2021-2022 гг. Как первый понедельник месяца.

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

Например, если вы хотите найти первую субботу любого месяца, вы можете настроить формулу, как показано ниже:
= (EOMONTH (DATE (2020,9,1); - 1) +1) + (MOD (8-WEEKDAY (EOMONTH (DATE (2020,9,1); - 1) +1,16), 7))
Единственное изменение, которое я сделал, — это второй аргумент формулы WEEKDAY.

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

Надеюсь, вы нашли этот урок полезным!

Like this post? Please share to your friends:
  • Excel находим ссылку на другую книгу
  • Excel научиться работать в экселе бесплатно
  • Excel напечатать с фоном
  • Excel напечатать выделенные ячейки
  • Excel нам не удалось найти данные для печати