Функции и формулы для преобразования номера в название месяца
Время от времени возникает необходимость изменить порядковый номер месяца на название и наоборот (например, 3 на «Март» или «Октябрь» на 10).
Сначала рассмотрим, каким способом изменить номер месяца его название. А после речь пойдет о том, как выполнить обратный процесс, то есть изменить название на соответствующий ему порядковый номер.
Изменение порядкового номера месяца на его название в Excel
Первый способ, который пришел мне на ум, это просто составить список ячеек с последовательными названиями месяцев, а затем использовать функцию:
=ИНДЕКС($A$2:$A$13;B2)
где $A$2:$A$13 – это, конечно, диапазон с названиями месяцев, а B2 - ячейка с порядковым номером в году, для которого мы ищем его название.
По схожему принципу с функцией ИНДЕКС работает другая функция, которую вы можете использовать - ВЫБОР. Разница состоит в том, что она не использует ячейки листа, в которых хранятся названия месяцев. Названия месяцев просто даем в качестве аргумента функции.
Функция ВЫБОР принимает в качестве аргументов номер индекса (который определяет какой из элементов в списке значений вернуть в качестве результата) и список значений. Интересующиеся подробностями, конечно же, могут скачать файл с примерами.
Если в качестве списка значений указать названия месяцев (по очередности), а в качестве индекса - ячейку с номером месяца, то функция вернет соответствующее ему название для каждого заданного числа.
Вариант2 автономный и более удобный для использования формулы на разных листах или рабочих книга без применения внешних ссылок.
Примеры как получить название месяца из даты в Excel
Подобно тому как показано выше, в случае, когда необходимо "вытянуть" название месяца из даты, необходимо воспользоваться помощью функции МЕСЯЦ.
Если у вас есть список с датами и нужно «вытянуть» из них название месяцев, то функция ИНДЕКС в приведенном выше виде выдаст ошибку. Если вы хотите, чтобы формула работала правильно, необходимо при помощи функции МЕСЯЦ "вытянуть" номер месяца из ячейки с датой. Формула будет выглядеть следующим образом:
=ИНДЕКС($A$2:$A$13;МЕСЯЦ(E2))
Еще один способ (возможно, самый удобный) - использовать функцию ТЕКСТ (все, что делает функция ТЕКСТ, это преобразует числовое значение в текст с соответствующим форматированием).
Если у вас есть список с датами и нужно «вытянуть» из них название месяцев, просто введите:
=ТЕКСТ(E2;"mmmm")
где E2 – это, конечно, ячейка с датой.
Если вы работаете только с числами (1-12), функция в приведенной выше форме будет работать неправильно. Вы должны помнить, что число 1 для Excelя это 1 января 1900 года, число 2 - 2 января 1900 года и так далее. Это все тот же месяц - январь. Поэтому ТЕКСТ(E2;"ММММ") возвращает «Январь» для каждого номера месяца.
Однако вы можете легко изменить последовательные числа на номера месяцев. Например, вы можете умножить каждое число на среднее количество дней в месяце (30).
Формула функции:
=ТЕКСТ(B2*30;"mmmm")
будет работать правильно, и в качестве результата вернет названия месяцев.
Как преобразовать название месяца в порядковый номер
Теперь будем преобразовывать обратно – имя месяца в соответствующий ему порядковый номер в году.
Пример1. Формула первая:=МЕСЯЦ(ДАТАЗНАЧ(A2&"1"))
Значение Декабрь1 Excel автоматически преобразует в дату дек.01. Далее функция ДАТАЗНАЧ преобразует дату в число после с помощью функции МЕСЯЦ мы получаем порядковый номер в году для текущего названия месяца. По сути формулу можно упростить:
=МЕСЯЦ(A2&"1")
Пример2. Формула вторая:
=ВПР(A2;$G$1:$H$12;2;0)
Пример3. Формула третья:
Наиболее оптимальным вариантом является лаконичная формула =МЕСЯЦ(A2&"1"). В ней не нужно резервировать названия месяцев и присваивать им соответственные порядковые номера. К тому же в ней используется всего лишь одна функция.