Преобразование даты в формат Excel

Давайте попытаемся решить обратную задачу. Предположим, что элементы даты находятся в разных ячейках и записаны в следующем виде: месяц — прописью, а день месяца и год — числами. Элементы даты нужно соединить и представить в формате Excel. Алгоритм решения этой задачи показан на.
Входами таблицы являются ячейки А1 (год), А2 (число месяца) и A3 (название месяца), а выходом- ячейка А4. Она содержит дату в формате Excel. В диапазоне ячеек А5:А15 определяется номер месяца.
Рассмотрим, как формируется номер месяца. Функция ЕСЛИ проверяет, совпадает ли значение в ячейке A3 с названием месяца, указанным в функции. Если совпадает, то выдается соответствующий месяцу порядковый номер. В противном случае осуществляется переход в ячейку, расположенную ниже. В этой ячейке выполняется аналогичная проверка. Переход к ячейке ниже происходит до тех пор, пока не будет найден месяц или не будет обнаружена ошибка в названии месяца. Таким образом, в ячейку А4 необходимо ввести следующую формулу:

=ЕСЛИ(А3="Январь";1;А5)

В первом аргументе функции ЕСЛИ содержимое ячейки A3 сравнивается с текстом Январь. Если они одинаковы, то функция возвращает значение 1 — первый месяц. В противном случае ячейка A3 будет содержать значение, находящееся в ячейке А5, адрес которой указан в третьем аргументе функции. Формула в ячейке А5 сравнивает значение ячейки A3 с текстом Февраль. Аналогичные формулы содержатся в ячейках по А1.4 включительно. В ячейке А15 расположена формула, которая несколько отличается от предыдущих:

=ЕСЛИ(А3="Декабрь";12;"Уточните  месяц!")

Несовпадение значения в ячейке A3 со словом Декабрь означает, что месяц был введен неправильно. Поэтому в данном случае третьим аргументом является не адрес ячейки, а сообщение Уточните месяц!.
Для формирования даты из отдельных элементов в числовом формате воспользуемся функцией категории Дата и время — ДАТА. Поместите табличный курсор в ячейку А16 и вызовите панель функции ДАТА . Введите в поле Год ссылку на ячейку А1, где указан номер года, в поле Месяц — ссылку на ячейку А4, где определен номер месяца в году, а в поле День — ссылку на ячейку А2, где указан день месяца.
Построив таблицу, методом вложения формул создайте модуль для формирования даты в формате Excel. Модуль можно разместить в диапазоне размером 5 ячеек .
В ячейке А4 модуля должна содержаться такая формула:

=ДАТА(А1;ЕСЛИ(А3="Январь";1; 
ЕСЛИ(А3="Февраль";2 ; 
ЕСЛИ(А3="Март";3;ЕСЛИ(А3="Апрель";4;А5))));А2)

В ячейку А5, которая служит выходом модуля, занесите формулу, приведенную ниже:

=ЕСЛИ (А3="Май"; 5; 
ЕСЛИ(А3="Июнь"; 6;
ЕСЛИ(А3="Июль"; 7; 
ЕСЛИ(А3="Август"; 8;
ЕСЛИ(А3="Сентябрь";9;
ЕСЛИ(А3="Октябрь";10;
ЕСЛИ(А3="Ноябрь";11;
ЕСЛИ(А3="Декабрь"; 12; "Уточните месяц! "))))))))

 

Написание суммы прописью
При заполнении различных документов наряду с суммой в числовом виде требуется указывать ее величину прописью. Конечно, это утомительно. Поэтому давайте создадим небольшую электронную таблицу, которая поможет автоматизировать данную работу.
Существует мнение, что имеется только один способ заставить Excel производить эту операцию — написать программу на языке Visual Basic for Applications, который является встроенным языком программирования для пакета Microsoft Office. Однако мы покажем, как решить эту задачу, не прибегая к программированию.
Алгоритм работы таблицы
Входной информацией для нашей таблицы должно быть числовое значение. На выходе мы хотим получить представление этого числа прописью. Понятно, что нам надо разбить число на разряды, сформировать для каждого из них количественное числительное, а затем соединить эти текстовые компоненты. Кроме того, надо позаботиться о том, чтобы были указаны названия разрядов (тысячи, миллионы и т. д.), а также соответствующая единица измерения (руб., грн, доллар, кг и др.). Алгоритм, по которому работает наша таблица, представлен на.
Таблица занимает диапазон А1:Н21 и состоит из шести областей (по числу блоков в схеме алгоритма).
1. Ячейка А1 — входная. Сюда вводится число или ссылка на ячейку, в которой находится число.
2. Ячейки А2:Н4 — здесь выполняется разделение числа на разряды и определение значения каждого разряда.
3. Ячейки А5:Н13 — блок формирования числительного для каждого разряда. Построен по тому же принципу, что и предыдущие таблицы. Пишет прописью числа: от одного до девятнадцати, двадцать, тридцать, …, сто, двести, …, девятьсот и т. д.
4. Ячейки А14 (тысячи) и D14 (миллионы) — формируют названия разрядов.
5. Ячейка G14 — формирует название единицы измерения в соответствующем падеже. Не обязательно использовать в качестве единицы измерения названия валют. Это могут быть штуки, килограммы и т. п. Язык также может быть любой. Таблицу легко преобразовать так, что она будет формировать текст для валютного платежного поручения, в котором числа записываются прописью на английском или других языках.
6. Ячейки А15:А21 — здесь выполняется объединение и завершающая обработка и результатов, полученных во всех предыдущих блоках. Ячейка А21 является выходом таблицы.
Максимальное число, с которым может работать таблица, равно 9999999,99. Однако ее легко модифицировать, с тем чтобы обрабатывать и большие числа.
ПРИМЕЧАНИЕ

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

Рассмотрим принципы работы таблицы на числе 1111111 руб. 11 коп. Это число введено в ячейку А1 . В строке 2 таблицы содержатся надписи, которые указывают, для какого разряда производятся вычисления в данном столбце. После отладки таблицы эту строку можно удалить.
Разбивка числа на разряды
В строке 3 определяется, сколько целых миллионов, тысяч, десятков и т. д. имеется в числе. Для этого следует разделить число на значение соответствующей разрядности и отбросить дробную часть. Например, для определения количества целых сотен число надо разделить на 100 и с помощью математической функции ОТБР отбросить дробную часть результата. Таким образом, в ячейке ЕЗ должна находиться такая формула:

=ОТБР(А1/100;0)

Если число больше или равно 100, то мы получим количество сотен в этом числе. В противном случае результатом будет 0. Аналогичные формулы используем и для других разрядов. Значение знаменателя дроби в этих формулах изменяется в зависимости от разряда: для тысяч — 1000, для миллионов — 1000000 и т. д.
В строке 4 определяются значения каждого из разрядов. Для этого надо выделить младший разряд в числах, которые находятся в строке 3. Это делается путем вычитания из них значений, которые находятся в ячейке левее, умноженных на 10. Например, в ячейке С4 содержится формула для определения десятков тысяч:

=СЗ-ВЗ*10

Как видите, из определенного в ячейке СЗ количества десятков тысяч вычитается установленное в ячейке ВЗ количество сотен тысяч, умноженное на 10. В случае числа 1111111,11 это будут следующие значения:

111-11*10

В результате мы получим в разряде сотен тысяч значение 1.
Формула для копеек (ячейка НЗ) несколько отличается от остальных формул строки 3. Мы хотим, чтобы в случае, когда число копеек не превышает 9, перед цифрой добавлялся 0. А следовательно, сумма, в которой указаны только целые рубли, должна выглядеть как "20 руб. 00 коп.". Это обеспечивается путем занесения в ячейку Н4 следующей формулы:

=ЕСЛИ(НЗ<=9;0;"")