Перейти к содержимому

Как из номера месяца получить дату

  • автор:

Как из номера месяца получить дату

Чтобы просмотреть более подробные сведения о функции, щелкните ее название в первом столбце.

Примечание: Маркер версии обозначает версию Excel, в которой она впервые появилась. В более ранних версиях эта функция отсутствует. Например, маркер версии 2013 означает, что данная функция доступна в выпуске Excel 2013 и всех последующих версиях.

Возвращает заданную дату в числовом формате.

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

Преобразует дату из текстового формата в числовой.

Преобразует дату в числовом формате в день месяца.

ДНИ
Excel 2013

Возвращает количество дней между двумя датами.

Вычисляет количество дней между двумя датами на основе 360-дневного года.

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

Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.

Преобразует дату в числовом формате в часы.

НОМНЕДЕЛИ.ISO
Excel 2013

Возвращает номер недели по ISO для заданной даты.

Преобразует дату в числовом формате в минуты.

Преобразует дату в числовом формате в месяцы.

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

ЧИСТРАБДНИ.МЕЖД
Excel 2010

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

Возвращает текущую дату и время в числовом формате.

Преобразует дату в числовом формате в секунды.

Возвращает заданное время в числовом формате.

Преобразует время из текстового формата в числовой.

Возвращает текущую дату в числовом формате.

Преобразует дату в числовом формате в день недели.

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

Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней.

РАБДЕНЬ.МЕЖД
Excel 2010

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

Преобразует дату в числовом формате в год.

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

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

Функции и формулы для преобразования номера в название месяца

Время от времени возникает необходимость изменить порядковый номер месяца на название и наоборот (например, 3 на «Март» или «Октябрь» на 10).

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

Изменение порядкового номера месяца на его название в Excel

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

где $A$2:$A$13 – это, конечно, диапазон с названиями месяцев, а B2 — ячейка с порядковым номером в году, для которого мы ищем его название.

Пример 1.

По схожему принципу с функцией ИНДЕКС работает другая функция, которую вы можете использовать — ВЫБОР. Разница состоит в том, что она не использует ячейки листа, в которых хранятся названия месяцев. Названия месяцев просто даем в качестве аргумента функции.

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

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

ВЫБОР.

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

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

Подобно тому как показано выше, в случае, когда необходимо «вытянуть» название месяца из даты, необходимо воспользоваться помощью функции МЕСЯЦ.

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

по дате.

Еще один способ (возможно, самый удобный) — использовать функцию ТЕКСТ (все, что делает функция ТЕКСТ, это преобразует числовое значение в текст с соответствующим форматированием).

Если у вас есть список с датами и нужно «вытянуть» из них название месяцев, просто введите:

где E2 – это, конечно, ячейка с датой.

ИНДЕКС.

Если вы работаете только с числами (1-12), функция в приведенной выше форме будет работать неправильно. Вы должны помнить, что число 1 для Excelя это 1 января 1900 года, число 2 — 2 января 1900 года и так далее. Это все тот же месяц — январь. Поэтому ТЕКСТ(E2;»ММММ») возвращает «Январь» для каждого номера месяца.

Однако вы можете легко изменить последовательные числа на номера месяцев. Например, вы можете умножить каждое число на среднее количество дней в месяце (30).

ТЕКСТ.

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

Как преобразовать название месяца в порядковый номер

Теперь будем преобразовывать обратно – имя месяца в соответствующий ему порядковый номер в году.

Пример1. Формула первая:

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

Значение Декабрь1 Excel автоматически преобразует в дату дек.01. Далее функция ДАТАЗНАЧ преобразует дату в число после с помощью функции МЕСЯЦ мы получаем порядковый номер в году для текущего названия месяца. По сути формулу можно упростить:

Пример2. Формула вторая:

преобразовать название месяца в номер.

Пример3. Формула третья:

ВПР.

Наиболее оптимальным вариантом является лаконичная формула =МЕСЯЦ(A2&»1″). В ней не нужно резервировать названия месяцев и присваивать им соответственные порядковые номера. К тому же в ней используется всего лишь одна функция.

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

выдержка из СП:
<. >
Вариант синтаксиса: По составляющим
Описание:
Преобразует полученный параметр (параметры) в значение типа Дата.
Допускаются следующие формы задания параметров:
Дата(Год, Месяц, День);
Дата(Год, Месяц, День, Час, Минута, Секунда);
Синтаксис:
Дата(<Год>, <Месяц>, <День>, <Час>, <Минута>, <Секунда>)
<. >

EXTRACT — извлечение из даты части (год, месяц, день. )

Функция extract получает из значений даты/времени поля, такие как год или час. Здесь source — значение типа timestamp , time или interval . (Выражения типа date приводятся к типу timestamp , так что допускается и этот тип.) Указанное поле представляет собой идентификатор, по которому из источника выбирается заданное поле. Функция extract возвращает значения типа numeric . Допустимые поля:

century

# date_part
1 20
# date_part
1 21

Первый век начался 0001-01-01 00:00:00, хотя люди в то время и не считали так. Это определение распространяется на все страны с григорианским календарём. Века с номером 0 не было; считается, что 1 наступил после -1. Если такое положение вещей вас не устраивает, направляйте жалобы по адресу: Ватикан, Собор Святого Петра, Папе.

Для значений timestamp это день месяца (1–31); для значений interval — число дней

# date_part
1 16
# date_part
1 40

decade

Год, делённый на 10

# date_part
1 200

День недели, считая с воскресенья (0) до субботы (6)

# date_part
1 5

Заметьте, что в extract дни недели нумеруются не так, как в функции to_char(. ‘D’).

День года (1–365/366)

# date_part
1 47

epoch

Для значений timestamp with time zone это число секунд с 1970-01-01 00:00:00 UTC (отрицательное для предшествующего времени); для значений date и timestamp — номинальное число секунд с 1970-01-01 00:00:00 без учёта часового пояса, переходов на летнее время и т. п.; для значений interval — общее количество секунд в интервале

# date_part
1 982384720.12
# date_part
1 982355920.12
# date_part
1 442800

Преобразовать время эпохи назад, в значение timestamp with time zone, с помощью to_timestamp можно так:

# to_timestamp
1 2001-02-17 10:38:40.12+06

Имейте в виду, что применяя to_timestamp к времени эпохи, извлечённому из значения date или timestamp, можно получить не вполне ожидаемый результат: эта функция подразумевает, что изначальное значение задано в часовом поясе UTC, но это может быть не так.

# date_part
1 20

isodow

День недели, считая с понедельника (1) до воскресенья (7)

# date_part
1 7

Результат отличается от dow только для воскресенья. Такая нумерация соответствует ISO 8601.

isoyear

Год по недельному календарю ISO 8601, в который попадает дата (неприменимо к интервалам)

# date_part
1 2005
# date_part
1 2006

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

Этого поля не было в PostgreSQL до версии 8.3.

julian

Юлианская дата, соответствующая дате или дате/времени (для интервала не определена). Значение будет дробным, если заданное время отличается от начала суток по местному времени. За дополнительной информацией обратитесь к Разделу B.7.

# date_part
1 2453737
# date_part
1 2453737.5

microseconds

Значение секунд с дробной частью, умноженное на 1 000 000; заметьте, что оно включает и целые секунды

# date_part
1 28500000

millennium

# date_part
1 3

Годы 20 века относятся ко второму тысячелетию. Третье тысячелетие началось 1 января 2001 г.

milliseconds

Значение секунд с дробной частью, умноженное на 1 000; заметьте, что оно включает и целые секунды.

# date_part
1 28500

minute

# date_part
1 38

month

Для значений timestamp это номер месяца в году (1–12), а для interval — остаток от деления числа месяцев на 12 (0–11)

# date_part
1 2
# date_part
1 3
# date_part
1 1

quarter

Квартал (1–4), к которому относится дата

# date_part
1 1

second

Секунды, включая дробную часть

# date_part
1 40
# date_part
1 28.5

timezone

Смещение часового пояса от UTC, представленное в секундах. Положительные значения соответствуют часовым поясам к востоку от UTC, а отрицательные — к западу. (Строго говоря, в Postgres Pro используется не UTC, так как секунды координации не учитываются.)

timezone_hour

Поле часов в смещении часового пояса

timezone_minute

Поле минут в смещении часового пояса

Номер недели в году по недельному календарю ISO 8601. По определению, недели ISO 8601 начинаются с понедельника, а первая неделя года включает 4 января этого года. Другими словами, первый четверг года всегда оказывается в 1 неделе этого года.

В системе нумерации недель ISO первые числа января могут относиться к 52-ой или 53-ей неделе предыдущего года, а последние числа декабря — к первой неделе следующего года. Например, 2005-01-01 относится к 53-ей неделе 2004 г., а 2006-01-01 — к 52-ей неделе 2005 г., тогда как 2012-12-31 включается в первую неделю 2013 г. Поэтому для получения согласованных результатов рекомендуется использовать поле isoyear в паре с week.

# date_part
1 7

Поле года. Учтите, что года 0 не было, и это следует иметь в виду, вычитая из годов нашей эры годы до нашей эры.

# date_part
1 2001

Примечание

С аргументом +/-бесконечность extract возвращает +/-бесконечность для монотонно увеличивающихся полей (epoch, julian, year, isoyear, decade, century и millennium). Для других полей возвращается NULL. До версии 9.6 Postgres Pro возвращал ноль для всех случаев с бесконечными аргументами.

Функция extract в основном предназначена для вычислительных целей. Функции форматирования даты/времени описаны в Разделе 9.8.

Функция date_part эмулирует традиционный для Ingres эквивалент стандартной SQL-функции extract:

date_part(‘поле’, источник)

Заметьте, что здесь параметр поле должен быть строковым значением, а не именем. Функция date_part воспринимает те же поля, что и extract. По историческим причинам функция date_part возвращает значения типа double precision. В некоторых случаях это может привести к потере точности. Поэтому вместо неё рекомендуется использовать функцию extract.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *