Время прописью |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Пользовательская функция «ДатаПрописью» предназначена для преобразования даты из числового формата 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 должно быть разрешено выполнение макросов.
Функцию «ДатаПрописью» в ячейки рабочего листа можно вписывать и вручную. Текст вводимой формулы будет зависеть от того, где расположен модуль с функцией:
Если вы планируете книгу с функцией «ДатаПрописью» передавать на другой компьютер, модуль с ней должен быть в передаваемой книге.
Узнаем как написать дату и месяц прописью в Excel (в том числе в именительном и родительном падежах).
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
Подписывая какие-либо документы мы помимо собственного автографа очень часто вписываем туда и текущую дату в виде числа, месяца и года. При этом мы почти никогда там не встречаем месяц записанный в численном формате. Ведь, например, дата записанная как 12.11.2016 куда сложнее воспринимается и читается чем 12 ноября 2016 г.
Вот и в Excel иногда требуется указать дату в таком виде, поэтому давайте подробно разберемся какие у нас есть варианты реализации.
Запись с помощью настройки формата ячейки
В Excel существует достаточно большое количество форматов отображения даты.
Давайте запишем дату в произвольную ячейку и перейдем в ее формат (щелкаем по ячейке правой кнопкой мыши и выбираем Формат ячейки, или просто нажимаем сочетание клавиш Ctrl + 1).
В открывшемся окне нас интересует вкладка Число:
Среди форматов дат выбираем запись месяца прописью и получаем:
Можно выбрать запись как со звездочкой (символ «*»), так и без, при этом различие отображения будет заключаться в изменении вида записи при смене настроек времени и даты операционной системы.
Идем дальше и перейдем к формульному решению задачи.
Запись с помощью формул
Как мы уже разбирали в примере визуализации половозрастной пирамиды, формат любой ячейки записывается с помощью маски отображения. В случае с датой наиболее популярный вид записи (например, для 12.11.2016) выглядит как ДД.ММ.ГГГГ, где Д — день, М — месяц, Г — год.
Поэтому такого же результата мы сможем добиться воспользовавшись стандартной функцией ТЕКСТ (в английской версии TEXT), которая преобразует заданный текст в определяемый нами формат записи.
В качестве формата записи в данном случае указываем [$-FC19]Д ММММ ГГГГ г.;@, применяем функцию для даты и получаем:
Чуть подробнее остановимся на формате.
В записи формата [$-FC19] как раз и отвечает за корректный формат отображения даты в родительном падеже (можете попробовать убрать [$-FC19] и посмотреть что получится).
Если же нужно отобразить месяц не на русском, а, например, на украинском языке, то используйте [$-FC22] (для белорусского [$-FC23]):
Ок, с полной записью даты и месяца разобрались, но что если нам нужен только месяц?
Как записать месяц прописью?
Как и в примере выше воспользуемся функцией ТЕКСТ. Формат «ММММ» даст нам полную запись месяца (в именительном падеже):
Ещё одним способом является совместное применение функций МЕСЯЦ (в английской версии MONTH) и ВЫБОР (английский вариант CHOOSE).
Месяц вернёт нам порядковый номер месяца указанной даты (от 1 до 12), а ВЫБОР сопоставит числовому значению текстовое (где 1 — январь, 2 — февраль, …, 12 — декабрь):
Если же мы пишем число с месяцем и годом, то зачастую месяц нужно указать в родительном падеже (а не в именительном как в примере выше), например, 2 февраля 2015 года или 14 августа 2012 года и т.п.
Здесь нам опять поможет формат [$-FC19]ММММ, который записывает месяц в дате в родительном падеже, отличие от предыдущего варианта записи только в том, что мы убрали из записи день и год:
Есть и альтернативный вариант. На помощь опять придут уже знакомые функции МЕСЯЦ и ВЫБОР, только тут вместо именительного падежа для месяцев прописываем родительный (меняем окончания):
На этом все. Выбирайте наиболее понравившийся и удобный для вас способ.
Скачать файл с примером.
Спасибо за внимание!
Если у вас остались вопросы по теме статьи — пишите в комментариях.
Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!
Поделиться с друзьями:
Поиск по сайту:
Пользовательские функции (формулы, 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 |
MulTEx »
1 Май 2011 18913 просмотров
ПрописьДата
Данная функция является частью надстройки 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
Дата прописью
Из большого числа
форматов и функций, имеемых в Excel,
нельзя
найти такую, которая позволяет написать
дату прописью. Устраним этот пробел,
поскольку написание даты прописью может
найти применение в документах, например,
при составлении платежных поручений
и накладных.
Итак, задача состоит
в том, чтобы дату, например, 10.10.2010
представить в виде текста: «от
10 октября 2010 года«.
Технология решения этой задачи состоит
в том, что сначала нужно разбить дату
на составляющие (день, месяц, год), а
затем все
компоненты соединить в текстовой строке.
Дату введем в
ячейку А1. В ячейках А2, А3 и А4 с помощью
соответствующих текстовых функций
определим день, год и месяц исходной
даты. Для дня и года никаких затруднений
нет: вызывается соответствующая функция,
в качестве аргумента вводится дата из
ячейки А1, а функция определяет искомое
значение.
Для определения
месяца: сначала с помощью функции МЕСЯЦ
определяем номер месяца (число от 1 до
12), а затем переводим число в слово с
помощью логической функции ЕСЛИ,
используя в качестве условия равенство
номера месяца конкретной цифре. Если
бы надо было проверить всего 8 условий,
можно было бы обойтись «вложением»
функций ЕСЛИ при невыполнении первого
условия. Однако нам надо проверить 12
значений на соответствие их равенства
заданному, поэтому применим другой
способ использования логической функции.
Он состоит в том, что при невыполнении
заданного условия мы переходим в другую
ячейку и там проверяем следующее
логическое выражение — до тех пор, пока
не будет использована вся цепочка
возможных значений проверяемого
аргумента.
Формулы
для определения имени месяца строим в
ячейках А5:А15 (см.рисунок). Для дат, которые
имеют одну цифру дня, предусмотрим
написание нуля перед этой цифрой (ячейка
А16).
Результат вычислений
формируется в ячейке А17 путем набора
указанной на рисунке формулы. Вместо
нее можно было бы использовать функцию
СЦЕПИТЬ, указав в качестве аргументов
приведенные в формуле значения.
На правом рисунке
указана та же таблица в режиме отражения
результатов вычислений. В ячейке А16
ничего нет (пустая строка), т.к. не
выполняется условие, указанное для нее
в строке формул.
В новой версии
Excel
можно было бы обойтись одной формулой,
вложив все условия внутри функции ЕСЛИ()
(допускается до 64 вложений функций).
Промежуточные
вычисления (выделив строки со 2 по 16)
можно скрыть с помощью контекстного
меню (сначала выделить строки). Дату в
числовом формате в ячейку А1 можно
импортировать с другого (например, с
титульного) листа или задавать с помощью
функции СЕГОДНЯ(), а текстовое выражение
из ячейки А17 использовать на другом
листе (в шаблоне документа).
Функции даты и времени.
Количество функций для работы с
информацией типа Дата/Время в Excel более
двух десятков. Например, чтобы показать
на листе текущую дату, мы уже использовали
функцию СЕГОДНЯ(), а чтобы получить не
только текущую дату, но и время, следует
использовать функцию ТДАТА(). По умолчанию
для первой функции задан формат Дата в
формате операционной системы, однако,
можно задать и формат с показом даты и
времени (время будет равно 00:00). Аналогично
и для второй функции.
С использованием формата ячеекдля типа дата/время можно показать даже
название дня недели и месяца, как показано
на рисунке.
ПЗ-7,8. Учет
и анализ хозяйственных операций.
Основное назначение
занятия – применение табличных формул
для обработки данных. Эта задача решается
в новой
книге (ЖурналОпераций),
которую надо создать.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
На чтение 5 мин Просмотров 4.4к. Опубликовано 19.02.2022
Excel сохраняет даты в виде порядковых номеров. Человеку невозможно их читать и понимать, но, таким образом, можно использовать их в функциях расчета, к примеру добавить к дате или времени какое-то количество времени (день, год и так далее).
Но, довольно часто, вам может быть нужно использовать даты в одних ячейках с текстом, так сказать, объединять.
На картинке пример объединения даты с текстом в одной ячейке. Видите как выглядит наша дата? Это формат порядкового номера Excel.
Именно в таких ситуациях вам может понадобиться привести дату в «читаемый» формат.
Содержание
- Переводим дату в текстовый формат
- Как привести указанную дату в текстовый формат
- Как привести текущую дату в текстовый формат
- Переводим дату в текстовый формат с помощью функции «Текст по столбцам»
- Переводим дату в текстовый формат с помощью копирования и вставки
Переводим дату в текстовый формат
Когда нам нужно привести дату в определенный формат (к примеру, 16-08-2016), мы можем вызвать функцию ТЕКСТ.
Итак, как она работает.
Синтаксис:
=ТЕКСТ(значение; формат_текста)
Она принимает два аргумента:
- Значение — в нашем случае это дата, которую вы хотите преобразовать в текст нужного формата. Это может быть просто дата, ссылка на ячейку с датой, или результат формулы.
- Формат_текста — формат, в котором нужно показать нашу дату. Формат должен быть указан в двойных кавычках.
Какие есть форматы и разделители?
Формат дат состоит из 4 составляющих:
- день
- месяц
- год
- разделитель
Ниже приведены форматы, которые можно использовать для каждой части:
Формат дня:
- Д — день будет отображаться без нуля, т.е. 1 будет отображаться как 1, а 12 как 12.
- ДД — день будет отображаться с нулем, т.е. 1 будет 01, а 12 как 12.
- ДДД — будет отображаться день недели(сокращенно), т.е. «Пятница» будет «Пят».
- ДДДД — будет отображаться день недели(полностью), т.е. «Пятница» будет «Пятница».
Формат месяца:
- М — месяц будет отображаться без нуля, т.е. 1 будет отображаться как 1, а 12 как 12.
- ММ — месяц будет отображаться с нулем, т.е. 1 будет 01, а 12 как 12.
- МММ — месяц будет отображаться с сокращенным названием, т.е. «Сентябрь» будет «Сен».
М — месяц будет отображаться без нуля, т.е. 1 будет отображаться как 1, а 12 как 12.
ММ — месяц будет отображаться с нулем, т.е. 1 будет 01, а 12 как 12.
МММ — месяц будет отображаться с сокращенным названием, т.е. «Сентябрь» будет «Сен».
ММММ — месяц будет отображаться с полным названием, т.е. «Сентябрь» будет «Сентябрь».
Формат года:
- ГГ — год будет отображаться как 2 цифры, т.е. 2019 будет 19.
- ГГГГ — год будет отображаться полностью, т.е. 2019 будет 2019.
Разделитель:
- «/» : это просто разделитель между цифрами в дате, т.е. отображаться будет как 01/01/2019.
- «-»: такой же разделитель между цифрами, т.е. отображаться будет как 01-01-2019.
- Пробелы и запятые: тут немного посложней, вы можете комбинировать и создавать свои форматы отображения, например, 01 января, 2019 года.
Итак, разберем примеры.
Как привести указанную дату в текстовый формат
Пример:
Итак, мы получили дату вместе с текстом, но дата сейчас в формате порядкового номера Excel.
Формула:
="Дата"&A2&"="&B2
Теперь, нам нужно получить дату в «привычном» для нас виде.
Формула будет:
="Дата "&A2&" = "&ТЕКСТ(B2;"ДД.ММ.ГГГГ")
Итак, мы вызвали функцию ТЕКСТ, указали ссылку на ячейку и определили формат, результат вы видите на картинке выше.
Какие еще есть форматы и как они выглядят на «выходе»:
Как привести текущую дату в текстовый формат
Для того чтобы получить текущую дату мы можем использовать функцию СЕГОДНЯ.
Формула:
="Сегодня "&ТЕКСТ(СЕГОДНЯ();"ДД/ММ/ГГГГ")
Эта функция может пригодиться вам в случае, если вы формируете отчеты, где важна, например, дата изменения файла.
Переводим дату в текстовый формат с помощью функции «Текст по столбцам»
Если формулы и вызов функций вам не по душе, есть вариант и для вас.
Допустим, у нас есть следующие данные и нам нужно преобразовать их в текстовый формат:
Пошаговая инструкция:
- Выделите ячейки, которые необходимо преобразовать в текст;
- Перейдите в раздел «Данные» -> «Текст по столбцам»;
- В открывшемся окне:
- Выберите опцию «с разделителями»;
- Снимите все галочки и нажмите «Далее»;
- Выберите формат «текстовый» укажите куда поместить наши, уже текстовые, значения и нажмите «Готово».
Функция сразу же переводит даты в текстовый формат.
Важная информация: эта функция устанавливает формат для дат по умолчанию для настроек вашей системы. То есть если вы хотите записать даты в определенном формате вам нужно использовать способы рассмотренные ранее, но для начала дочитайте нашу статью, возможно следующий вариант подойдет вам.
Переводим дату в текстовый формат с помощью копирования и вставки
Пошаговая инструкция:
- Выделите ячейки с датами, которые нужно преобразовать, и скопируйте их;
- Откройте обычный блокнот и вставьте наши данные туда, как только вы это сделаете, данные сразу же потеряют формат, т.е. станут обычным текстом (потому что в блокноте нет никаких форматов данных, кроме текста);
- Выделите ячейки, куда вы будете вставлять даты и поменяйте их формат на «Текстовый»;
- А теперь, заново скопируйте даты из блокнота, а затем вставьте их в Excel.
Excel сохраняет даты в виде порядковых номеров. Человеку невозможно их читать и понимать, но, таким образом, можно использовать их в функциях расчета, к примеру добавить к дате или времени какое-то количество времени (день, год и так далее).
Но, довольно часто, вам может быть нужно использовать даты в одних ячейках с текстом, так сказать, объединять.
На картинке пример объединения даты с текстом в одной ячейке. Видите как выглядит наша дата? Это формат порядкового номера Excel.