Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
50
Добавлен:
20.04.2015
Размер:
52.74 Кб
Скачать

Microsoft Excel (Лабораторный практикум) – 2

Работа №8. Сумма прописью

Построить функцию преобразования суммы (до 99 999 руб.), представленной числом, в “сумму прописью”. Необходимость в ней возникает по формировании различных платежных документов. На рисунке ниже в клетке В1 представлено исходное число в цифровой форме, а в В2 – результат преобразования.

A

B

1

Всего:

45 103,2

2

Прописью:

сорок пять тыс. сто три руб. 20 коп.

Для указанной цели в отдельный лист вносятся (рисунок ниже) две таблицы. Таблица, связывающая числа от 0 до 99 с соответствующими числительными (десятки и единицы), и аналогичная таблица чисел от 0 до 9 (для сотен). Все числительные в таблицах имеют по одному пробелу в конце текста. С целью сокращения формул введем для этих блоков имена: блоку А3:В102 присвоим имя ЕД (от слова единицы), блоку D3:E12 – СТ (от слова сотни). Использование имен позволяет также не указывать в формулах имена листов, где находятся поименованные блоки.

A

B

C

D

E

1

ДЕСЯТКИ и ЕДИНИЦЫ

СОТНИ

2

число

текст

число

текст

3

0

0

4

1

один

1

сто

5

2

два

2

двести

6

3

три

3

триста

7

4

четыре

4

четыреста

8

5

пять

5

пятьсот

9

6

шесть

6

шестьсот

10

7

семь

7

семьсот

11

8

восемь

8

восемьсот

12

9

девять

9

девятьсот

. . .

102

99

девяносто девять

Используемая функция и связи ее компонент с преобразуемым числом приведены на следующем рисунке. Она состоит из 6-и текстовых составляющих, объединенных знаком сцепления символьных данных “&”. Первая строка преобразует два старших разряда (разряды десятков тысяч) исходного числа с помощью данных, содержащихся в блоке ЕД. Вторая – вставляет слово “тыс.” (если тысячи есть). Третья – один разряд сотен. Четвертая – два следующих разряда из блока ЕД. Пятая – включает слово ”руб.”. В каждой из строк, отвечающей за какие-либо цифры (кроме копеек, которые не нужно преобразовывать в текст), применяется функция ВПР(). Однако, чтобы воспользоваться ею необходимо выполнить действия по извлечению нужных компонент числа, используемых в качестве аргументов функции ВПР().

Рассмотрим только первую строку. Здесь исходное число, находящееся в ячейке В1, сначала преобразуется в текстовую форму выражением ТЕКСТ(B1;"00000,00"), чтобы затем выделить из числа отдельные разряды функцией ПСТР(). В данном случае функция ПСТР(ТЕКСТ(B1;"00000,00");1;2) извлекает из него фрагмент, начиная с первой позиции длиной в два символа (т.е. две первые цифры числа). Далее это число из текстовой формы снова обращается в числовую функцией ЗНАЧЕН(…), с тем чтобы можно было подставить ее в функцию ВПР(…), разыскивающую цифру прописью в блоке ЕД. Таким образом, первые цифры числа 45 103,2 преобразуется в слово "сорок пять".

45 тыс. 1 03 руб. 20 коп.

=ВПР(ЗНАЧЕН(ПСТР(ТЕКСТ($B$1;"0000000,00");3;2));ед;2)

&ЕСЛИ(B1>999;"тыс. ";"")

&ВПР(ЗНАЧЕН(ПСТР(ТЕКСТ($B$1;"0000000,00");5;1));ст;2)

&ВПР(ЗНАЧЕН(ПСТР(ТЕКСТ($B$1;"0000000,00");6;2));ед;2)

&ЕСЛИ(B1>=1;"руб.";"")

&ЕСЛИ(B1>ЦЕЛОЕ(B1);ПРАВСИМВ(ТЕКСТ($B$1;" #,00");2)&" коп.";"")

Замечание. Довольно скучно вводить числа прописью от 1 до 99 в блок ЕД. Это можно сделать довольно быстро, если воспользоваться средствами копирования и преобразования данных. Числительные от 1 до 19, конечно, придется ввести непосредственно. Далее следует ввести слово “двадцать ” и скопировать его в следующие девять строк. Затем “тридцать ” и сделать тоже самое и так до “девяносто ” включительно. Теперь нужно присоединить к этим словам числительные “один”, “два”, … “девять”. Это удобно сделать так:

  • Ввести в столбец С указанные числительные рядом с клетками, содержащими слово “двадцать ”, получив, например, такие строки смежных клеток  двадцать   один ,  двадцать   два   и т.п.).

  • Скопировать несколько раз весь блок числительных “один”, “два”, … “де­вять” вниз, чтобы они стали рядом со словами “тридцать ”, “сорок ” и т.д.

  • Соединить в столбце D оба слова так, что бы   двадцать   один   превратилось в  двадцать один . Для этого нужно воспользоваться формулой вида D24=B24&C24, скопировав ее затем вниз до конца таблицы.

  • Созданные таким образом данные переместить из столбца D на положенное место в столбец В, используя механизм переноса только значений (Правка+Специальная вставка+Вставить Значения).

Задание. Усложните функцию таким образом, чтобы было возможно выводить прописью шестизначные числа (до 999 999,99).

Соседние файлы в папке Excel