Дата прописью в excel надстройка

Узнаем как написать дату и месяц прописью в Excel (в том числе в именительном и родительном падежах).


Приветствую всех, дорогие читатели блога TutorExcel.Ru.

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

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

Запись с помощью настройки формата ячейки

В Excel существует достаточно большое количество форматов отображения даты.

Давайте запишем дату в произвольную ячейку и перейдем в ее формат (щелкаем по ячейке правой кнопкой мыши и выбираем Формат ячейки, или просто нажимаем сочетание клавиш Ctrl + 1).

В открывшемся окне нас интересует вкладка Число:

Применение формата ячеек

Среди форматов дат выбираем запись месяца прописью и получаем:

Запись через формат ячеек

Можно выбрать запись как со звездочкой (символ «*»), так и без, при этом различие отображения будет заключаться в изменении вида записи при смене настроек времени и даты операционной системы.

Идем дальше и перейдем к формульному решению задачи.

Запись с помощью формул

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

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

В качестве формата записи в данном случае указываем [$-FC19]Д ММММ ГГГГ г.;@, применяем функцию для даты и получаем:

Функция ТЕКСТ и формат FC19 (русский язык)

Чуть подробнее остановимся на формате.

В записи формата [$-FC19] как раз и отвечает за корректный формат отображения даты в родительном падеже (можете попробовать убрать [$-FC19] и посмотреть что получится).

Если же нужно отобразить месяц не на русском, а, например, на украинском языке, то используйте [$-FC22] (для белорусского [$-FC23]):

Функция ТЕКСТ и формат FC22 (украинский язык)

Ок, с полной записью даты и месяца разобрались, но что если нам нужен только месяц?

Как записать месяц прописью?

Как и в примере выше воспользуемся функцией ТЕКСТ. Формат «ММММ» даст нам полную запись месяца (в именительном падеже):

Именительный падеж (Вариант 1)

Ещё одним способом является совместное применение функций МЕСЯЦ (в английской версии MONTH) и ВЫБОР (английский вариант CHOOSE).
Месяц вернёт нам порядковый номер месяца указанной даты (от 1 до 12), а ВЫБОР сопоставит числовому значению текстовое (где 1 — январь, 2 — февраль, …, 12 — декабрь):

Именительный падеж (Вариант 2)

Если же мы пишем число с месяцем и годом, то зачастую месяц нужно указать в родительном падеже (а не в именительном как в примере выше), например, 2 февраля 2015 года или 14 августа 2012 года и т.п.

Здесь нам опять поможет формат [$-FC19]ММММ, который записывает месяц в дате в родительном падеже, отличие от предыдущего варианта записи только в том, что мы убрали из записи день и год:

Родительный падеж (Вариант 1)

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

Родительный падеж (Вариант 2)

На этом все. Выбирайте наиболее понравившийся и удобный для вас способ.

Скачать файл с примером.

Спасибо за внимание!
Если у вас остались вопросы по теме статьи — пишите в комментариях.

Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!

Поделиться с друзьями:
Поиск по сайту:

Пользовательская функция «ДатаПрописью» предназначена для преобразования даты из числового формата Excel в полную текстовую форму. Интервал преобразуемых дат составляет с 2001 по 2099 год. Используется в шаблонах доверенностей, договоров, соглашений, решений, уставов и других документов, заполняющихся в программе Excel и предусматривающих наличие строки с датой прописью. Формат преобразования: 01.01.2001 — «Первого января две тысячи первого года».

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

Импорт готового модуля в книгу Excel — самый простой способ добавления функции «ДатаПрописью».

Если вы хотите, чтобы функция «ДатаПрописью» была доступна из всех рабочих книг на вашем компьютере, импортируйте скачанный модуль в Личную книгу макросов.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

‘Преобразование даты из числового формата в текст с 2001 по 2099 год

Public Function ДатаПрописью(md As Date) As String

If (md < 36892) Or (md > 73050) Then

ДатаПрописью = «Преобразуемая дата должна быть с 2001 по 2099 год!»

Else

Dim den As Byte, dg(1 To 4) As Byte, mes As Byte, god As Byte, _

mespr As String, dmgpr As String

den = Day(md)

mes = Month(md)

god = (Year(md) Mod 100)

dg(1) = god Mod 10

dg(2) = Fix(god / 10)

dg(3) = den Mod 10

dg(4) = Fix(den / 10)

Dim dgpr(1 To 4) As String, i1 As Byte

For i1 = 1 To 4

If (i1 = 1) Or (i1 = 3) Then

If dg(i1 + 1) = 1 Then

dgpr(i1) = Choose(dg(i1) + 1, «десятого «, «одиннадцатого «, «двенадцатого «, _

«тринадцатого «, «четырнадцатого «, «пятнадцатого «, «шестнадцатого «, _

«семнадцатого «, «восемнадцатого «, «девятнадцатого «)

Else

dgpr(i1) = Choose(dg(i1) + 1, «», «первого «, «второго «, _

«третьего «, «четвертого «, «пятого «, «шестого «, _

«седьмого «, «восьмого «, «девятого «)

End If

ElseIf (i1 = 2) Or (i1 = 4) Then

If dg(i1 1) = 0 Then

dgpr(i1) = Choose(dg(i1) + 1, «», «», «двадцатого «, _

«тридцатого «, «сорокового «, «пятидесятого «, «шестидесятого «, _

«семидесятого «, «восьмидесятого «, «девяностого «)

Else

dgpr(i1) = Choose(dg(i1) + 1, «», «», «двадцать «, _

«тридцать «, «сорок «, «пятьдесят «, «шестьдесят «, _

«семьдесят «, «восемьдесят «, «девяносто «)

End If

End If

Next

mespr = Choose(mes, «января «, «февраля «, «марта «, «апреля «, «мая «, _

«июня «, «июля «, «августа «, «сентября «, «октября «, «ноября «, «декабря «)

dmgpr = dgpr(4) & dgpr(3) & mespr & «две тысячи « & dgpr(2) & dgpr(1) & «года»

ДатаПрописью = Replace(dmgpr, Left(dmgpr, 1), UCase(Left(dmgpr, 1)), 1, 1)

End If

End Function

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

Итак, если вы импортировали модуль или создали новый и вставили в него код, можете вызывать Мастер функций и работать с функцией «ДатаПрописью», как с любой другой, встроенной в Excel. Найти ее вы сможете в разделе «Определенные пользователем». В настройках вашей программы Excel должно быть разрешено выполнение макросов.

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

Если вы планируете книгу с функцией «ДатаПрописью» передавать на другой компьютер, модуль с ней должен быть в передаваемой книге.

Пользовательские функции (формулы, UDF) для написания даты прописью
(дата словами, время прописью), доступные при использовании надстройки FillDocuments

Инструкция, где в Excel найти эти функции, и как применить

Функция (формула) Пример получаемого значения
=Пропись_Дата(B18) Восьмое января две тысячи тринадцатого года
=Пропись_Дата_сЧислами(B18) 8 января 2013 года
=Пропись_Время(B18) восемь часов пятьдесят ноль минут сорок пять секунд
=Пропись_Время_сЧислами(B18) 8 часов 50 минут 45 секунд
=Пропись_ДатаВремя(B18) Восьмое января две тысячи тринадцатого года, восемь часов пятьдесят ноль минут сорок пять секунд
=Пропись_ДатаВремя_сЧислами(B18) 8 января 2013 года, 8 часов 50 минут 45 секунд
Исходное значение в ячейке B18 08.01.2013 8:50
ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


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

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

MulTEx »

1 Май 2011              18915 просмотров

ПрописьДата

Данная функция является частью надстройки MulTEx


Дата и время прописью

Функция выводит в пропись дату, т.е. из даты "01.01.2009" делает текст "первое января две тысячи девятого года". Зачем это может быть нужно? Например, когда необходимо записать в шапке(ну или где там еще) отчета не просто дату(01.01.2009), а дату прописью(первое января две тысячи девятого года). Результат доступен на русском и английском языках.

Вызов команды через стандартный диалог:

Мастер функцийКатегория «MulTEx»ПрописьДата

Вызов с панели MulTEx:

Сумма/Поиск/ФункцииТекстовыеПрописьДата

Синтаксис:
=ПрописьДата(I10;1;0;»RUS»)


Дата(

I10

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

=ПрописьДата(09.01.2009;1;0;»RUS»)

Время(1) — необязательный аргумент. Если указан, либо присвоено значение 1 или ИСТИНА — помимо даты, в пропись также выводится значение времени(09.10.2009 18:12:05девятое октября две тысячи девятого года восемнадцать часов двенадцать минут пять секунд).
Если значение времени отсутствует в ячейке, либо равно нулю, то в пропись будет выведено нулевое значение (ноль часов ноль минут ноль секунд). Подписи дней, месяцев,часов и минут склоняются (Тридцатое мая, Первое сентября, Один час, Два часа)

ТолькоПодпись(0) — необязательный аргумент. Если указан, либо присвоено значение 1 или ИСТИНА — в пропись выводится только название месяца и дописывается пропись года (09 октября 2009 года)

Язык(«RUS») — необязательный аргумент. Если не указан или указано «RUS», то текст будет выведен на русском языке. Если указать «EN» («en»,»En» — регистр неважен), то текст будет выведен на английском языке. Если аргумент Время равен 1 или ИСТИНА, то время будет выведено в пропись на том же языке, что и дата.


Расскажи друзьям, если статья оказалась полезной:

  Плейлист   Видеоинструкции по использованию надстройки MulTEx

Like this post? Please share to your friends:
  • Дата последнего изменения файла в excel
  • Дата последнего дня месяца excel
  • Дата понедельника по номеру недели excel
  • Дата подпись расшифровка образец word скачать
  • Дата по номеру месяца excel