| [ Скачать с сервера (23.0 Kb) ] | 29.01.2019, 08:41 |
Надстройки для отображения чисел в ячейках прописью Разместите его в любом удобном каталоге и подключите. Для этого следует пройти следующие этапы:
Данная надстройка работает только для рублей. Если вам нужна другая валюта, скачайте еще файл sumprop.xla. Действуя по аналогии подключите надстройку для получения суммы прописью в Excel. Для проверки введем в ячейке A3 произвольное число. Пусть это будет десятичная дробь. Также вызовем окно вставки функций и найдем новые функции для вывода суммы прописью.
Переведем число в евро. Выбираем соответствующую функцию и кликаем по ячейке с числом. Формула суммы прописью в Excel - как написать числоДля вывода числа прописью в Excel можно создать формулу. Приведем пример: ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);2;1)+1;ПСТР(ТЕКСТ(A3;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);1;3);"миллиард"&ВПР(ПСТР(ТЕКСТ(A3;n0);3;1)*И(ПСТР(ТЕКСТ(A3;n0);2;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);5;1)+1;ПСТР(ТЕКСТ(A3;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);4;3);"миллион"&ВПР(ПСТР(ТЕКСТ(A3;n0);6;1)*И(ПСТР(ТЕКСТ(A3;n0);5;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A3;n0);8;1)+1;ПСТР(ТЕКСТ(A3;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);7;3);ВПР(ПСТР(ТЕКСТ(A3;n0);9;1)*И(ПСТР(ТЕКСТ(A3;n0);8;1)-1);тыс;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);10;1)+1)&ИНДЕКС(ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);n1x;n0x);ПСТР(ТЕКСТ(A3;n0);11;1)+1;ПСТР(ТЕКСТ(A3;n0);12;1)+1));"z";" ")&ЕСЛИ(ОТБР(ТЕКСТ(A3;n0));;"Ноль ")&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);ЕСЛИ(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);11;2)-11;100);9);10);"целых ";"целая ")&ПОДСТАВИТЬ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);14;6)/10^5+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)+1)&ЕСЛИ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000);ВПР(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)*(ОСТАТ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4);10)<>1);тыс;2);"")&ИНДЕКС(n_4;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/100;10)+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6);10)+1);"z";" ")&ИНДЕКС(доля;ДЛСТР(ПСТР(ТЕКСТ(A3;n0);14;6));(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)-11;100);9);10)>0)+1);) Для ее использования вам необходимо указать несколько массивов Excel:
Просто скопируйте эту таблицу на лист Excel, а формулу вставляйте туда, где необходима сумма прописью. Вышеприведенная конструкция предназначена для ячейки A3. Не забудьте поменять адрес. В англоязычном Excel формула суммы прописью будет выглядеть следующим образом:
Как видим, это не самый удобный способ преобразовать число в текст прописью в Excel. Преобразование с помощью макросов ExcelМожно написать собственную функцию, которая произведет конвертацию суммы прописью. Нажмите сочетание ALT+F11 и в открывшемся разработчике Excel VBA вставьте новый модуль.
Function SUMMPROPIS(n As Double) As String
Dim Chis1, Chis2, Chis3, Chis4, Chis5 As Variant
Chis1 = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
Chis2 = Array("", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят", "девяносто ")
Chis3 = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
Chis4 = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
Chis5 = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")
If n <= 0 Then
SUMMPROPIS = "ноль"
Exit Function
End If
cifr = Retclass(n, 1)
des = Retclass(n, 2)
hund = Retclass(n, 3)
thous = Retclass(n, 4)
desthous = Retclass(n, 5)
hundthous = Retclass(n, 6)
mil = Retclass(n, 7)
desmil = Retclass(n, 8)Select Case desmil
Case 1
mil_txt = Chis5(mil) & "миллионов "
GoTo www
Case 2 To 9
desmil_txt = Chis2(desmil)
End Select
Select Case mil
Case 1
mil_txt = Chis1(mil) & "миллион "
Case 2, 3, 4
mil_txt = Chis1(mil) & "миллиона "
Case 5 To 20
mil_txt = Chis1(mil) & "миллионов "
End Select
www:
hundthous_txt = Chis3(hundthous)
Select Case desthous
Case 1
thous_txt = Chis5(thous) & "тысяч "
GoTo eee
Case 2 To 9
desthous_txt = Chis2(desthous)
End Select
Select Case thous
Case 0
If desthous > 0 Then thous_txt = Chis4(thous) & "тысяч "
Case 1
thous_txt = Chis4(thous) & "тысяча "
Case 2, 3, 4
thous_txt = Chis4(thous) & "тысячи "
Case 5 To 9
thous_txt = Chis4(thous) & "тысяч "
End Select
If desthous = 0 And thous = 0 And hundthous <> 0 Then hundthous_txt = hundthous_txt & " тысяч "
eee:
hund_txt = Chis3(hund)
Select Case des
Case 1
cifr_txt = Chis5(cifr)
GoTo rrr
Case 2 To 9
des_txt = Chis2(des)
End Select
cifr_txt = Chis1(cifr)
rrr:
SUMMPROPIS = desmil_txt & mil_txt & hundthous_txt & desthous_txt & thous_txt & hund_txt & des_txt & cifr_txt
End Function
Private Function Retclass(M, I)
Retclass = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1))
End Function
Теперь эту функцию можно вызвать обычным путем и получить сумму прописью. Она находится в разделе функций Excel «Определенные пользователем». =SUMMPROPIS(A7)&" руб. "&ТЕКСТ((A7-ЦЕЛОЕ(A7))*100;"00")&" коп." Вместо ячейки A7 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа. Отличного Вам дня! | |
| Просмотров: 876 | Загрузок: 74 | | |
| Всего комментариев: 0 | |



















