Модуль для написания даты прописью, который мы сейчас рассмотрим, может найти более широкое применение (в частности, он пригодится при составлении платежных поручений и накладных). Задача состоит в том, чтобы заставить Excel написать дату словами, например, дату 12.02.2002 представить в виде текста "от 12 февраля 2002 года".
Решить эту задачу можно следующим методом: сначала разбить дату на составляющие, день месяц и год (причем для месяца сформировать не его порядковый номер в году, а название), а после этого все компоненты соединить в текстовой строке.
Таблица, построенная на базе этого алгоритма, с формулами и числовым примером показана на рис. 6.7.
Ячейки таблицы выполняют следующие функции:
- ячейка А1 - служит входом (содержит дату в формате Excel);
- ячейка А2 - определяет номер дня месяца;
- ячейка A3 - определяет номер месяца;
- ячейка А4 - определяет год;
- ячейки А5:А15 - обеспечивает написание названия месяца;
- ячейка А16 - добавляет нуль перед номером дня месяца, если этот номер меньше или равен 9;
- ячейка А17 - служит выходом (содержит дату прописью).
Рис. 6.7.
Итак, нам необходимо выделить в дате день, месяц и год (ячейки А2, A3 и А4). Для определения дня задействуем функцию ДЕНЬ, принадлежащую к категории Дата и время. Функция возвращает номер дня в месяце для даты, указанной в числовом формате. День возвращается как целое число из диапазона от 1 до 31. Синтаксис функции имеет следующий вид:
ДЕНЬ(дата_в_числовом_формате)
Поместите табличный курсор в ячейку А2 и вызовите панель функции ДЕНЬ (рис. 6.8). В поле Дата_как_число введите адрес ячейки А1. Вы должны получить в ячейке А2 формулу, которая определяет день месяца, указанный во введенной в ячейку А1 дате:
ДЕНЬ(А1)
Для определения года используем функцию ГОД, которая также принадлежит к категории Дата и время. Функция возвращает год, соответствующий аргументу дата_в_числовом_формате. Год определяется как целое число в интервале от 1900 до 9999. Синтаксис функции следующий:
ГОД(дата_в_числовом_формате)
Рис. 6.8.
Разместите табличный курсор в ячейке A3 и вызовите панель функции ГОД (рис. 6.9). В поле Дата_как_число введите адрес ячейки А1. Формула в ячейке A3 должна имеет такой вид:
ГОД(А1)
Таким образом, в этой ячейке будет содержаться номер года от рождества Христова в дате, указанной в ячейке А1.
Рис. 6.9.
ГОДТеперь приступим к формированию названия месяца. Для определения номера месяца воспользуемся функцией МЕСЯЦ, принадлежащей к категории Дата и время. Функция возвращает месяц, соответствующий аргументу дата_в_число-вом_формате. Месяц определяется как целое в интервале от 1 (январь) до 12 (декабрь). Синтаксис функции такой:
МЕСЯЦ(дата_в_числовом_формате)
Установите табличный курсор в ячейку А4 и вызовите панель функции МЕСЯЦ (рис. 6.10). В поле Дата_как_число введите адрес ячейки А1. Полученная формула должна иметь вид:
МЕСЯЦ(А1)
В данном случае функция МЕСЯЦ определяет, какой номер месяца указан в дате, находящейся в ячейке А1.
Рис. 6.10.
В области А5:А15 необходимо разместить формулы, построенные на базе логической функции ЕСЛИ. С их помощью реализуется алгоритм, который аналогичен алгоритму, использованному для определения названия дня недели. Однако теперь вместо номеров дней недели указаны номера месяцев в году. В ячейке А5 формируется название месяца в родительном падеже. Занесите в ячейку А5 следующую формулу:
В ячейках А6:А14 расположите аналогичные формулы для других месяцев, а в ячейку А15 введите несколько другую формулу:
Мы хотим, чтобы номер дня, если он меньше 10, был представлен с предшествующим нулем. Реализовать это можно с применением помещенной в ячейку А16 формулы
ЕСЛИ(А2
Если порядковый номер дня месяца меньше или равен 9, функция ЕСЛИ возвращает 0. В противном случае она выдает пустую строку, потому что между кавычками в третьем аргументе ничего не введено.
Результат формируется в ячейке А17 с использованием формулы
="от"&А16&А2&" "&А5&" "&АЗ&" года."
В этой формуле при помощи символов "&" производится конкатенация (соединение) текстовых строк и содержимого ячеек, в которых находятся определенные ранее элементы даты. Перед датой добавляется предлог "от" (это нужно, в частности, для платежного поручения). Далее следует адрес ячейки А16. Она предназначена для вставки предшествующего нуля перед датой в случае, когда номер дня меньше 10. Указание адреса ячейки А2 приводит к вставке дня месяца. Дальше следует пробел (" "), перед названием месяца. В ячейке А5 находится название месяца. После него опять надо вставить пробел (" "). Ячейка A3 содержит год. Предлог " от " в начале формулы можно удалить или заменить другим.
Для конкатенации элементов можно использовать не только символ "&". В Excel есть текстовая функция СЦЕПИТЬ. Для ее вызова также применяется мастер функций. Панель функции приведена на рис. 6.11. С помощью этой функции можно получить формулу, которая аналогична предыдущей, но более удобна для восприятия:
СЦЕПИТЬ("от";А16;А2;" ";А5;" ";АЗ;" года.")
Каждая строчка — это отдельная сделка. Вам необходимо сделать отчет за месяц. Какое количество товаров было продано в каждом месяце. Есть разные способы решения данной задачи, но предположим, что у нас стоит задача вытащить из даты месяц, чтобы потом было легко просуммировать по ним данные.
Способ 1 . Получить месяц из даты с помощью функции МЕСЯЦ в Excel
Прописываем формулу:
МЕСЯЦ(A2)
Протягиваем формулу и получаем месяц из даты в виде цифры. 5 — это месяц май, 8 — это август и так далее.
Есть аналогичные функции: ГОД, МЕСЯЦ, НЕДЕЛЯ, ДЕНЬ, ЧАС, МИНУТЫ, СЕКУНДЫ, которые работают аналогичным способом. Например, если в нашем примере написать =ГОД(A2), то в результате получим 2013 и так далее
Иногда требуется получить месяц из даты в формате текста: "Январь, Февраль, Март... " в этом случае воспользуемся другой функцией.
Способ 2 . Получить месяц из даты с помощью функции ТЕКСТ в Excel
Синтаксис будет следующий
ТЕКСТ(значение, формат)
Значение это ссылка на ячейку с датой
Формат — для получения месяцев необходимо использовать заглавную букву «М». Причем от ее количества будет зависеть формат отображения (Первая буква месяца, Полное название месяца, короткое название, в виде двойной цифры и одной цифры)
Наглядно это можно посмотреть на скриншоте.
Дата и время прописью
Функция выводит в пропись дату, т.е. из даты "01.01.2009" делает текст "первое января две тысячи девятого года" . Зачем это может быть нужно? Например, когда необходимо записать в шапке(ну или где там еще) отчета не просто дату(01.01.2009), а дату прописью(первое января две тысячи девятого года). Результат доступен на русском и английском языках.
Вызов команды через стандартный диалог:
Вызов с панели 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 или ИСТИНА, то время будет выведено в пропись на том же языке, что и дата.
должен быть введен датами.
- Этот принцип лежит в в сообщение №
- десятков.
- MCH
- : В ячейку А1 эту формулу что
- Код200?"200px":""+(this.scrollHeight+5)+"px");">=ТЕКСТ(A2;"[$-419]ММММ;@") 40602, так как ВПР() выбирать название
- дата, то используйте 01.05.2000 из которой
май=МЕСЯЦ("1" & B1 Range("a1") Поэтому формула считает, посредством функции ДАТААргументы: основе расчетов временных
7 от 06.01.2012,
удачи!: Игорь, не знаю вводим дату, скажем бы после годаАльтернатива: Код200?"200px":""+(this.scrollHeight+5)+"px");">=ВПР(МЕСЯЦ(A2);{1;"январь":2;"февраль":3;"март":4;"апрель":5;"май":6;"июнь":7;"июль":8;"август":9;"сентябрь":10;"октябрь":11;"ноябрь":12;"декабрь"};2;) интервал между этими
Функция ГОД в Excel
месяца по его Формат ячеек (нажмите функция МЕСЯЦ уже. & "2012")Select Case m что неделя начинается или представлять результатначальная дата; данных. Чтобы найти 04:29 написал:MCH
как по украински,
Функция МЕСЯЦ в Excel: пример
15.06.2011. Что надо была буква гtanver датами составляет 40 номеру (см. файл сочетание клавиш извлекает порядковый номерSerge 007Serge 007Case "Jan" с понедельника (второй
вычисления других формул.
Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel
конечная дата; количество дней междуQuote: Ну и мой но по русски сделать, чтобы в с точкой и: Спасибо, за быстрый
602 дня. О примера).CTRL+1 месяца - пятый
: Вариант: Вариант покороче:MsgBox 1
день недели).Пример использования функции ГОД:код, обозначающий единицы подсчета двумя датами, достаточно
(MCH)200?"200px":""+(this.scrollHeight+5)+"px");">возможно числительные не вариант, будет: "двадцать пер ячейке А2 эта в данном примере
ответ. Воспользовалась второй том как EXCELФункция МЕСЯЦ(), английский вариант). О форматах датыКак-то такBusine2012
Код =МЕСЯЦ(B1&0)Case "Feb"
Скачать примеры функций дляВозвращает месяц как целое (дни, месяцы, годы от более позднего правильно записаны, проверяйтедолжна работать отвое
Функция для перевода названия месяца в число (Макросы Sub)
дата отображалась прописью
был результат Март формулой. хранит дату и MONTH(), возвращает месяц, подробнее можно прочитать
DV68
, так и работает.
xtreme
MsgBox 2
работы с датами
число (от 1
и др.).
временного периода отнять
Во вложении 3
01.01.1900 до 31.12.2299
.... шестьдесят пер на украинском языке 2017 г.
Никанор
время, читайте эту
соответствующий заданной дате.
в статье Пользовательский формат: Проверил сейчас в Можете подставлять любой
: Плох тем, что
Case "Mar"Для указания текущей даты
до 12) дляСпособы измерения интервалов между
более ранний.
варианта: с доп.
возможно числительные не
вого
(п’ятнадцятого червня дві
sboy
:
статью.
Месяц определяется как
ДАТЫ и ВРЕМЕНИ
ячейке, все так
день и любой
может возникунуть вопрос
MsgBox 3
используется функция СЕГОДНЯ
заданной в числовом
заданными датами:
листом, с помощью
правильно записаны, проверяте
года"
тисячі одинадцятого року)?
: Позволю себе ответить
Serge_007
=МЕСЯЦ(A1) Если в
целое число в
в MS EXCEL и есть.
год, преобразование в
а почему именно
Преобразование название месяца в номер месяца в году
Case "Apr" (не имеет аргументов). формате даты. Аргументдля отображения результата в
Построение значение даты, составляя
имен и UDF(ТЕКСТ своровал уЧислительные для дней
MCH за Сергея
, Здравствуйте!
ячейке диапазоне от 1
Формула =ТЕКСТ(B6;"МММ") выведет сокращенное название месяца
Спасибо за разъяснения!
дату будет происходить
01 ММ 2012
MsgBox 4 Чтобы отобразить текущее – дата месяца, днях – «d»;
его из отдельныхГость IgorGo) и лет в: сделал на формулах
Serge_007
Извините за беспокойство
А1 (январь) до 12
(3 буквы).Diesel594Busine2012По факту всёCase "May"
время и дату, который необходимо отобразить,в месяцах – «m»;
элементов-чисел.
: СПАСИБО!!!MCH разных падежах, в (без макросов), на
=ТЕКСТ(A2;"[$-419]ДД ММММ ГГГГ \г.;@") и что задаювведена дата в (декабрь).Особый формат =ТЕКСТ(B6;"[$-FC19] ММММ") выведет: Рабочий вариант в, сообщение равно какой годMsgBox 5 применяется функция ТДАТА в числовом формате.
в годах – «y»;
Синтаксис: год; месяц, день.
Для работы с датами: вариант без доп.
украинском, думаю, также
русском.а зачем Вы похожий вопрос. одном из вышеуказанных
МЕСЯЦдата
полное название месяца Excel 2007 "=МЕСЯЦ(A1+0)".
#2 и число, главное
Case "Jun" (). Даты в текстовомв месяцах без учетаВсе аргументы обязательные. Их в Excel в
ячеек (на именах)
Хотя в примереДумаю что на
в каждом своемВы извините, я форматов, то формулой)
с учетом склонения,
Прошу прощения: был
- это Ваше
чтобы преобразование вMsgBox 6olega34 формате функция обрабатывает лет – «ym»; можно задать числами разделе с функциямиivanov1974 ТС - падеж украинский легко будет посте пишите разноцветными не знаю можно будет возвращен месяцДата т.е. сентября. Этот
не прав.
сообщение
дату прошлоCase "Jul": Подскажите как сделать
неправильно.
перевести (только я