Формирование числительных
Формирование количественных числительных осуществляется в третьем блоке таблицы, в диапазоне ячеек А5:Н13 (рис. 6.19). Описание его работы начнем со столбца "Единицы". Формулы данного столбца составлены с учетом особенности образования числительных для значений с 11 по 19. В ячейке G5 содержится такая формула:
=
ЕСЛИ(G4
=
1
; ЕСЛИ(F4
=
1
;
"одиннадцать"
;
"один"
); G6)
Если в ячейках G4 и F4 находится число 1, то функция ЕСЛИ возвратит текст одиннадцать. Если же значение 1 находится только в ячейке F4, а ячейка G4 содержит другое число, то возвращается текст один (рубль). Если в ячейке F4 находится значение, отличное от 1, то формула переадресовывает решение задачи в ячейку G6. В ячейке G6 находится аналогичная формула:
=
ЕСЛИ(G4
-
2
; ЕСЛИ(F4
=
1
;
"двенадцать"
;
"два"
); G7)
В ней производится анализ значений ячеек G4 и F4 на предмет того, какое числительное писать: двенадцать или два. Если условия не выполняются, то осуществляется переадресация в ячейку G7 и т. д. Аналогичными формулами заполняются ячейки столбца G по 13-ю включительно.
В столбце "Десятки" находятся формулы, которые формируют количественные числительные для десятков. Рассмотрим, по какому алгоритму они работают. В ячейке F5 содержится такая формула:
=
ЕСЛИ(F4
=
0
;
""
; ЕСЛИ(F4
=
1
; ЕСЛИ(G4
-
0
;
"десять"
;
""
); F6))
Сначала она производит проверку ячейки F4 на предмет наличия там значения 0. Если это значение присутствует (то есть в числе нуль десятков), формула выдает пустое значение.
Если же в ячейке F4 находится другое значение, то начинает работу первая функция ЕСЛИ. Она проверяет, находится ли в ячейке F4 значение 1. Если это так, то надо посмотреть, какое значение находится в столбце "Единицы" (ячейка G4). Это делает вторая функция ЕСЛИ. В случае, когда там находится значение О, формула выдает текст десять. Если же в ячейке G4 находится любое другое значение, формула выдает пустое значение (""). Таким образом учитывается тот факт, что числительные для значений с 1 1 по 19 уже сформированы в столбце "Единицы".
Если в ячейке F4 находится значение, отличное от 1, управление передается в ячейку F6. В ячейке F6, в свою очередь, записана следующая формула:
=
ЕСЛИ(F4
=
2
;
"двадцать"
; F7)
Когда в ячейке F4 находится значение 2, формула возвращает текст двадцать. В противном случае происходит переадресация в ячейку F7.
Формулы, аналогичные этой, необходимо занести в ячейки столбца F по 12-ю включительно.
Числительные для сотен формируются в столбце Е. В ячейке Е5 содержится такая формула:
=
ЕСЛИ(F4
=
0
;
""
; ЕСЛИ(E4
=
1
;
"сто"
; E6))
Сначала она производит проверку ячейки Е4 на предмет нахождения там значения 0. Если это значение присутствует, формула выдает пустое значение (в числе нуль сотен).
Если же там находится другое значение, формула продолжает проверку при помощи второй логической функции ЕСЛИ. Когда в ячейке Е4 находится значение 1, выдается текст сто. В противном случае выполняется переадресация в ячейку Е6.
В ячейке Е6 находится следующая формула:
=
ЕСЛИ(E4
=
2
;
"двести"
; E7)
Она выдает текст двести, если в ячейке Е4 находится значение 2, и передает управление в ячейку Е7 в противном случае.
Аналогичными формулами следует заполнить ячейки столбца Е по 12-ю включительно.
Примечание
Примите во внимание тот факт, что в последних формулах, формирующих единицы, десятки и прочие разряды, при невыполнении условия передача управления в расположенную ниже ячейку не производится.