Excel сумма прописью по английски

  • Число прописью в Excel – формула
  • Сумма прописью с копейками в Excel
    • В русских рублях, все буквы строчные
    • В русских рублях, первая буква заглавная
    • В русских рублях с копейками прописью
    • В белорусских рублях
  • Сумма прописью — формула для Openoffice Calc
  • Сумма прописью в Google Spreadsheets
  • UDF-функции надстройки !SEMTools
  • Процедуры !SEMTools
  • Перевод чисел прописью в другие падежи

Число или сумма прописью — в ручном исполнении — непростая задача. А если его нужно печатать десятки раз на дню и с множеством документов, точно нужна автоматизация.

Идеальным решением была бы формула в Excel.

Есть ли такая формула? Да! А главное, что вам делать ничего не придется (только скопировать), потому что я уже сделал её за вас! Но обо всем по порядку.

Сопоставление чисел, сумм и их эквивалентов прописью

Если попытаться описать алгоритм, который будет учитывать все нюансы написания числа или суммы прописью, окажется, что все на так просто, как кажется:

  • в зависимости от того, на какую цифру заканчивается число, его падеж и число могут быть:
    • единственное, именительный (двадцать один рубль)
    • единственное, родительный (двадцать два/три/четыре рубля)
    • множественное, родительный (двадцать, двадцать пять/шесть/семь/восемь/девять рублей)
  • При этом даже из этого правила уже есть исключения – числа от 11 до 14 – множественного числа, хотя числа от 1 до 4 – единственного.
  • Ноль пишется цифрами, но не пишется прописью. Кроме случая с копейками – там он пишется в прописи, но цифрами.
  • При этом от нуля может зависеть то, как будет выглядеть число или сумма прописью.
  • Копейки женского рода, а рубли – мужского. Одна копейка, но один рубль.

И это далеко не все нюансы. Есть ли варианты, которые их все учитывают?

Большинство руководств в интернете предлагают надстройки. Также предлагаются формулы на основе именованных диапазонов.

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

В случае с именованными диапазонами – нужно будет создавать их заново (а их около десятка!).

Число прописью в Excel – примеры сопоставления

Возможна ли формула без применения VBA, макросов и надстроек?

Черт возьми, да! Я долго размышлял, прежде чем ее сделать, но мне это удалось.

Вот эта формула! Вставьте ее в любую ячейку, кроме A1, т.к. она преобразует значение этой самой ячейки:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ЦЕЛОЕ(A1))>6;РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);1;ДЛСТР(ЦЕЛОЕ(A1))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-2;3)+0);ЕСЛИ(ДЛСТР(ЦЕЛОЕ(A1))>3;РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);1;ДЛСТР(ЦЕЛОЕ(A1))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-2;3)+0);РИМСКОЕ(ЦЕЛОЕ(A1))));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")

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

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

на

Сумма прописью с копейками в Excel

Для записи суммы прописью с копейками по всем канонам, нужно соблюсти ряд условий:

  • Рубли пишутся словами, первая буква обычно заглавная;
  • Словоформа слова “рубль” должна соответствовать количеству;
  • Копейки пишутся цифрами, но падеж и число слова “копейка” тоже должны соответствовать числу.
Пример написания суммы прописью с копейками в Excel
Сумма прописью с копейками в Excel – пример таблицы соответствия суммы и текста

Трудно в это поверить, но и такая формула тоже существует. Аналогично, без применения VBA, макросов и надстроек.

Формула огромна, но замечательно справляется с любыми суммами до миллиарда. Работать будет в любой версии Excel от 2007 и старше – в 2003 не была доступна такая глубина вложений функций.

Вот и она, просто скопируйте ее, и она преобразует числовое значение ячейки A1 в сумму прописью с копейками.

В русских рублях, все буквы строчные

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

Тройной клик по формуле выделит её целиком

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек")

В русских рублях, первая буква заглавная

В Excel нет простой функции, которая бы позволила сделать только первую букву ячейки заглавной, поэтому в первой конфигурации формула была в 2 раза длиннее из-за использования ЛЕВСИМВ и ДЛСТР.

Но в комментариях было предложено отличное решение – функцией ПОДСТАВИТЬ заменить пробелы на букву, которой в числах нет (например, Ф или Z), что сделает все как бы одним словом, на результате использовать функцию ПРОПНАЧ, и после заменить букву обратно на пробелы. Сейчас используется этот вариант формулы, он короче.

Тройной клик по формуле выделит её целиком.

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРОПНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек");" ";"Z"));"z";" ");"Z";" ")

В русских рублях с копейками прописью

Если нужно, чтобы копейки тоже были написаны прописью, то формула будет чуть длиннее, такой:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРОПНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2))="1";ИНДЕКС({"десять";"одиннадцать";"двенадцать";"тринадцать";"четырнадцать";"пятнадцать";"шестнадцать";"семнадцать";"восемнадцать";"девятнадцать"};ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)-9);ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2));"2";"двадцать");"3";"тридцать");"4";"сорок");"5";"пятьдесят");"6";"шестьдесят");"7";"семьдесят");"8";"восемьдесят");"9";"девяносто");"0";"")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2));"1";"одна");"2";"две");"3";"три");"4";"четыре");"5";"пять");"6";"шесть");"7";"семь");"8";"восемь");"9";"девять");"0";""))&" копеек";"одна копеек";"одна копейка");"две копеек";"две копейки");"три копеек";"три копейки");"четыре копеек";"четыре копейки");"  копеек";"");" ";"Z"));"z";" ");"Z";" "))

В белорусских рублях

Тройной клик по формуле выделит ее целиком.

=ПРОПИСН(ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" белорусских рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один белорусских рублей";"один белорусский рубль");"два белорусских рублей";"два белорусских рубля");"три белорусских рублей";"три белорусских рубля");"четыре белорусских рублей";"четыре белорусских рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов");1))&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" белорусских рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один белорусских рублей";"один белорусский рубль");"два белорусских рублей";"два белорусских рубля");"три белорусских рублей";"три белорусских рубля");"четыре белорусских рублей";"четыре белорусских рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов");2;200)&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек")

Если вам не нужно делать первую букву заглавной, просто “оберните” всю эту гигантскую формулу функцией СТРОЧН.

Сумма прописью — формула для Openoffice Calc

У формулы выше были проблемы с импортом в Openoffice, т.к. тот в отличие от Excel (2007 и старше), поддерживает максимум 42 уровня вложенности в формулах, а не 64.

Поэтому пришлось полностью переделать логику формулы и сделать ее сложной формулой массивов.

Так она выглядит в Excel:

=ПРОПИСН(ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A1));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр")))&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A1));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)&" "&ЕСЛИ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2))="1";ПРАВСИМВ(ОКРУГЛ(A1*100;0);2) &" копеек";ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&ИНДЕКС({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};ПРАВСИМВ(ОКРУГЛ(A1*100;0))+1))

А так – после импорта в Openoffice Calc:

=UPPER(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(MID(TEXT(A1;"000000000");1;3)+0>0;IF(MID(TEXT(A1;"000000000");2;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1);INDEX({"dь один m"|"dь два mа"|"dь три mа"|"dь cе mа"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");3;1));INDEX({"одиннаe mов"|"двенаe mов"|"тринаe mов"|"cнаe mов"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");3;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");4;3)+0>0;IF(MID(TEXT(A1;"000000000");5;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1);INDEX({"dь одна тысяча"|"dь две тысячи"|"dь три тысячи"|"dь cе тысячи"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");6;1));INDEX({"одиннаe тысяч"|"двенаe тысяч"|"тринаe тысяч"|"cнаe тысяч"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");6;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");8;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1);INDEX({"dь один rь"|"dь два rя"|"dь три rя"|"dь cе rя"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};RIGHT(A1));INDEX({"одиннаe rей"|"двенаe rей"|"тринаe rей"|"cнаe rей"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};RIGHT(A1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1))&" "&IF(LEFT(RIGHT(ROUND(A1*100;0);2))="1";RIGHT(ROUND(A1*100;0);2) &" копеек";RIGHT(ROUND(A1*100;0);2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(ROUND(A1*100;0))+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр")))&MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(MID(TEXT(A1;"000000000");1;3)+0>0;IF(MID(TEXT(A1;"000000000");2;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1);INDEX({"dь один m"|"dь два mа"|"dь три mа"|"dь cе mа"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");3;1));INDEX({"одиннаe mов"|"двенаe mов"|"тринаe mов"|"cнаe mов"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");3;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");4;3)+0>0;IF(MID(TEXT(A1;"000000000");5;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1);INDEX({"dь одна тысяча"|"dь две тысячи"|"dь три тысячи"|"dь cе тысячи"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");6;1));INDEX({"одиннаe тысяч"|"двенаe тысяч"|"тринаe тысяч"|"cнаe тысяч"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");6;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");8;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1);INDEX({"dь один rь"|"dь два rя"|"dь три rя"|"dь cе rя"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};RIGHT(A1));INDEX({"одиннаe rей"|"двенаe rей"|"тринаe rей"|"cнаe rей"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};RIGHT(A1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1))&" "&IF(LEFT(RIGHT(ROUND(A1*100;0);2))="1";RIGHT(ROUND(A1*100;0);2) &" копеек";RIGHT(ROUND(A1*100;0);2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(ROUND(A1*100;0))+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)

Сумма прописью в Google Spreadsheets

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

Ниже пример таблицы с суммой прописью:

Посмотреть сам файл и скопировать к себе можно по ссылке:

https://docs.google.com/spreadsheets/d/1dmqEB3TehEGmWfaxRmIQ9LXjGal439_YgKxZhbK0Ods/edit?usp=sharing

UDF-функции надстройки !SEMTools

Для тех, у кого ОС Windows и Excel 2010 и выше, и кто не готов пользоваться указанными формулами, есть простое решение – установить надстройку, в которой присутствует код, скрывающий все эти вычисления “под капот”. Одна из таких – разработанная мной надстройка !SEMTools.

В ней для решения задачи преобразования числа и суммы в их прописной вариант есть 2 лаконичные функции:

Они доступны абсолютно бесплатно безо всяких ограничений в любой версии надстройки, приобретать полную версию не обязательно.

Единственное ограничение – эти формулы будут работать только на тех компьютерах, где установлена надстройка.

Процедуры !SEMTools

Еще более простое, но не всегда удобное решение – процедуры (макросы). В надстройке для Excel !SEMTools доступны макросы преобразования чисел в сумму и число прописью в 1 клик.

Вызов процедур находится в меню “Изменить символы” в группе “ИЗМЕНИТЬ” на панели надстройки. Макрос преобразует числа на месте, превращая их в текст. Можно выделить как одну, так и несколько ячеек:

демонстрация работы процедур число прописью и сумма прописью в !SEMTools
Число и сумма прописью – процедуры в !SEMTools

Функционал доступен в полной версии надстройки.

Перевод чисел прописью в другие падежи

Зачастую после получения числа или суммы прописью нужно указать его в другом падеже.

Например, “сумма в размере пятисот тысяч трехсот трех рублей”. !SEMTools справляется и с этой задачей – смотрите раздел склонение по падежам в Excel.

Надстройка !SEMTools для Excel поможет буквально за пару кликов написать числа или суммы прописью.
Скачайте и убедитесь в этом сами!

Excel для Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше

В Excel нет функции по умолчанию, которая отображает числа в качестве английских слов на листах, но вы можете добавить эту возможность, вклеив следующий код функции SpellNumber в модуль VBA (Visual Basic для приложений). Эта функция позволяет преобразовать суммы в рублях и центах в слова с помощью формулы, поэтому 22,50 будет читаться как Twenty-Two рублях и fifty Cents. Это может быть очень полезно, если вы используете Excel в качестве шаблона для печати проверок.

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

Примечание: Корпорация Майкрософт предоставляет примеры программирования только для иллюстрации без каких-либо гарантий, как выраженных, так и подразумеваемых. При этом подразумеваемые гарантии пригодности для определенной цели включают, но не ограничив эту возможность. В этой статье предполагается, что вы знакомы с языком программирования VBA и средствами, которые используются для создания и отлагки процедур. Инженеры службы поддержки Майкрософт могут объяснить функциональные возможности конкретной процедуры. Однако они не будут изменять эти примеры, чтобы обеспечить дополнительные функции или создавать процедуры в порядке, отвечая вашим требованиям.

Создание функции SpellNumber для преобразования чисел в слова

  1. Используйте клавиши ALT+F11, чтобы открыть редактор Visual Basic (VBE).

  2. На вкладке Insert (Вставка) нажмите кнопку Module (Модуль).

    В меню Insert выберите пункт Module.

  3. Скопируйте приведенный ниже код.

    Примечание: Этот код автоматизирует преобразование чисел в текст на всем компьютере.

    Option Explicit
    
    'Main Function
    
    Function SpellNumber(ByVal MyNumber)
    
    Dim Dollars, Cents, Temp
    
    Dim DecimalPlace, Count
    
    ReDim Place(9) As String
    
    Place(2) = " Thousand "
    
    Place(3) = " Million "
    
    Place(4) = " Billion "
    
    Place(5) = " Trillion "
    
    ' String representation of amount.
    
    MyNumber = Trim(Str(MyNumber))
    
    ' Position of decimal place 0 if none.
    
    DecimalPlace = InStr(MyNumber, ".")
    
    ' Convert cents and set MyNumber to dollar amount.
    
    If DecimalPlace > 0 Then
    
    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
    
    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    
    End If
    
    Count = 1
    
    Do While MyNumber <> ""
    
    Temp = GetHundreds(Right(MyNumber, 3))
    
    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
    
    If Len(MyNumber) > 3 Then
    
    MyNumber = Left(MyNumber, Len(MyNumber) - 3)
    
    Else
    
    MyNumber = ""
    
    End If
    
    Count = Count + 1
    
    Loop
    
    Select Case Dollars
    
    Case ""
    
    Dollars = "No Dollars"
    
    Case "One"
    
    Dollars = "One Dollar"
    
    Case Else
    
    Dollars = Dollars & " Dollars"
    
    End Select
    
    Select Case Cents
    
    Case ""
    
    Cents = " and No Cents"
    
    Case "One"
    
    Cents = " and One Cent"
    
    Case Else
    
    Cents = " and " & Cents & " Cents"
    
    End Select
    
    SpellNumber = Dollars & Cents
    
    End Function
    
    
    ' Converts a number from 100-999 into text
    
    Function GetHundreds(ByVal MyNumber)
    
    Dim Result As String
    
    If Val(MyNumber) = 0 Then Exit Function
    
    MyNumber = Right("000" & MyNumber, 3)
    
    ' Convert the hundreds place.
    
    If Mid(MyNumber, 1, 1) <> "0" Then
    
    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    
    End If
    
    ' Convert the tens and ones place.
    
    If Mid(MyNumber, 2, 1) <> "0" Then
    
    Result = Result & GetTens(Mid(MyNumber, 2))
    
    Else
    
    Result = Result & GetDigit(Mid(MyNumber, 3))
    
    End If
    
    GetHundreds = Result
    
    End Function
    
    
    ' Converts a number from 10 to 99 into text.
    
    
    Function GetTens(TensText)
    
    Dim Result As String
    
    Result = "" ' Null out the temporary function value.
    
    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
    
    Select Case Val(TensText)
    
    Case 10: Result = "Ten"
    
    Case 11: Result = "Eleven"
    
    Case 12: Result = "Twelve"
    
    Case 13: Result = "Thirteen"
    
    Case 14: Result = "Fourteen"
    
    Case 15: Result = "Fifteen"
    
    Case 16: Result = "Sixteen"
    
    Case 17: Result = "Seventeen"
    
    Case 18: Result = "Eighteen"
    
    Case 19: Result = "Nineteen"
    
    Case Else
    
    End Select
    
    Else ' If value between 20-99...
    
    Select Case Val(Left(TensText, 1))
    
    Case 2: Result = "Twenty "
    
    Case 3: Result = "Thirty "
    
    Case 4: Result = "Forty "
    
    Case 5: Result = "Fifty "
    
    Case 6: Result = "Sixty "
    
    Case 7: Result = "Seventy "
    
    Case 8: Result = "Eighty "
    
    Case 9: Result = "Ninety "
    
    Case Else
    
    End Select
    
    Result = Result & GetDigit _
    
    (Right(TensText, 1)) ' Retrieve ones place.
    
    End If
    
    GetTens = Result
    
    End Function
    
    
    ' Converts a number from 1 to 9 into text.
    
    Function GetDigit(Digit)
    
    Select Case Val(Digit)
    
    Case 1: GetDigit = "One"
    
    Case 2: GetDigit = "Two"
    
    Case 3: GetDigit = "Three"
    
    Case 4: GetDigit = "Four"
    
    Case 5: GetDigit = "Five"
    
    Case 6: GetDigit = "Six"
    
    Case 7: GetDigit = "Seven"
    
    Case 8: GetDigit = "Eight"
    
    Case 9: GetDigit = "Nine"
    
    Case Else: GetDigit = ""
    
    End Select
    
    End Function

  4. Вставьте строки кода в поле Module1 (Code) (Модуль 1 — код).

    Код, вставленный в поле Module1 (Code).

  5. Нажмите ALT+Q, чтобы вернуться в Excel. Функция SpellNumber готова к использованию.

    Примечание: Эта функция работает только для текущей книги. Чтобы использовать эту функцию в другой книге, необходимо повторить действия по копированию и вкопии кода в нее.

К началу страницы

Использование функции SpellNumber в отдельных ячейках

  1. Введите формулу =SpellNumber(A1)в ячейку, в которой нужно отобразить записанное число, где A1 — это ячейка с числом, преобразуемом в ячейку. Вы также можете ввести значение вручную, например =SpellNumber(22,50).

  2. Нажмите ввод, чтобы подтвердить формулу.

К началу страницы

Сохранение книги с функцией SpellNumber

В Excel не удается сохранить книгу с функциями макроса в стандартном формате книги без макроса (XLSX). Если нажать кнопку «>сохранить». Откроется диалоговое окно проекта VB. щелкните Нет.

В диалоговом окне проекта VB щелкните "Нет".

Вы можете сохранить файл как книгу Excel Macro-Enabled (XLSM), чтобы сохранить его в текущем формате.

  1. На вкладке Файл выберите команду Сохранить как.

  2. В меню «Тип сохранения» выберите пункт «Macro-Enabled Excel».

  3. Нажмите кнопку Сохранить.

К началу страницы

Нужна дополнительная помощь?

Часто нужно перевести число в текст в Excel так, чтобы оно отображалось прописью (словами) на русском или других языках. Так как по умолчанию нет готовой функции, создадим свою пользовательскую функцию с помощью макросов.

Пример использования пользовательской функции для преобразования числа суммы в текстовые слова, которую можно скачать в конце статьи:

числа словами в Excel.

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

  1. Открыть редактор макросов ALT+F11.
  2. Создать новый модуль и в нем нужно написать функцию особенным способом: Function вместо Sub. Тогда наша функция «ЧислоПропись» будет отображаться в списке мастера функций (SHIFT+F3), в категории «Определенные пользователем».
  3. Module.

  4. Вставить в модуль следующий код и сохранить:



Function ЧислоПропись(Число As CurrencyAs String
‘до 999 999 999 999
On Error GoTo Число_Error
Dim strМиллиарды As String, strМиллионы As String, strТысячи As String, strЕдиницы As String, strСотые As String
Dim Поз As Integer

 
strЧисло = Format(Int(Число), 

«000000000000»)

‘Миллиарды’
Поз = 1
strМиллиарды = Сотни(Mid(strЧисло, Поз, 1))
strМиллиарды = strМиллиарды & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
strМиллиарды = strМиллиарды & ИмяРазряда(strМиллиарды, Mid(strЧисло, Поз + 1, 2), «миллиард ««миллиарда ««миллиардов «)

‘Миллионы’
Поз = 4
strМиллионы = Сотни(Mid(strЧисло, Поз, 1))
strМиллионы = strМиллионы & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
strМиллионы = strМиллионы & ИмяРазряда(strМиллионы, Mid(strЧисло, Поз + 1, 2), «миллион ««миллиона ««миллионов «)

‘Тысячи’
Поз = 7
strТысячи = Сотни(Mid(strЧисло, Поз, 1))
strТысячи = strТысячи & Десятки(Mid(strЧисло, Поз + 1, 2), «ж»)
strТысячи = strТысячи & ИмяРазряда(strТысячи, Mid(strЧисло, Поз + 1, 2), «тысяча ««тысячи ««тысяч «)

‘Единицы’
Поз = 10
strЕдиницы = Сотни(Mid(strЧисло, Поз, 1))
strЕдиницы = strЕдиницы & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
If strМиллиарды & strМиллионы & strТысячи & strЕдиницы = «» Then strЕдиницы = «ноль «
‘strЕдиницы = strЕдиницы & ИмяРазряда(» «, Mid(strЧисло, Поз + 1, 2), «рубль «, «рубля «, «рублей «)

‘Сотые’
‘strСотые = strКопейки & » » & ИмяРазряда(strКопейки, Right(strКопейки, 2), ‘»копейка», «копейки», «копеек»)

 
ЧислоПропись = strМиллиарды & strМиллионы & strТысячи & strЕдиницы
ЧислоПропись = UCase(Left(ЧислоПропись, 1)) & Right(ЧислоПропись, Len(ЧислоПропись) — 1)

Exit Function

 
Число_Error:
    MsgBox Err.Description

End Function

Function Сотни(n As StringAs String
Сотни = «»
Select Case n
    Case 0: Сотни = «»
    Case 1: Сотни = «сто «
    Case 2: Сотни = «двести «
    Case 3: Сотни = «триста «
    Case 4: Сотни = «четыреста «
    Case 5: Сотни = «пятьсот «
    Case 6: Сотни = «шестьсот «
    Case 7: Сотни = «семьсот «
    Case 8: Сотни = «восемьсот «
    Case 9: Сотни = «девятьсот «
End Select
End Function

Function Десятки(n As String, Sex As StringAs String
Десятки = «»
Select Case Left(n, 1)
    Case «0»: Десятки = «»: n = Right(n, 1)
    Case «1»: Десятки = «»
    Case «2»: Десятки = «двадцать «: n = Right(n, 1)
    Case «3»: Десятки = «тридцать «: n = Right(n, 1)
    Case «4»: Десятки = «сорок «: n = Right(n, 1)
    Case «5»: Десятки = «пятьдесят «: n = Right(n, 1)
    Case «6»: Десятки = «шестьдесят «: n = Right(n, 1)
    Case «7»: Десятки = «семьдесят «: n = Right(n, 1)
    Case «8»: Десятки = «восемьдесят «: n = Right(n, 1)
    Case «9»: Десятки = «девяносто «: n = Right(n, 1)
End Select

Dim Двадцатка As String
Двадцатка = «»
Select Case n
    Case «0»: Двадцатка = «»
    Case «1»
        Select Case Sex
            Case «м»: Двадцатка = «один «
            Case «ж»: Двадцатка = «одна «
            Case «с»: Двадцатка = «одно «
        End Select
    Case «2»:
        Select Case Sex
            Case «м»: Двадцатка = «два «
            Case «ж»: Двадцатка = «две «
            Case «с»: Двадцатка = «два «
        End Select
    Case «3»: Двадцатка = «три «
    Case «4»: Двадцатка = «четыре «
    Case «5»: Двадцатка = «пять «
    Case «6»: Двадцатка = «шесть «
    Case «7»: Двадцатка = «семь «
    Case «8»: Двадцатка = «восемь «
    Case «9»: Двадцатка = «девять «
    Case «10»: Двадцатка = «десять «
    Case «11»: Двадцатка = «одиннадцать «
    Case «12»: Двадцатка = «двенадцать «
    Case «13»: Двадцатка = «тринадцать «
    Case «14»: Двадцатка = «четырнадцать «
    Case «15»: Двадцатка = «пятнадцать «
    Case «16»: Двадцатка = «шестнадцать «
    Case «17»: Двадцатка = «семнадцать «
    Case «18»: Двадцатка = «восемнадцать «
    Case «19»: Двадцатка = «девятнадцать «
End Select

 
Десятки = Десятки & Двадцатка

End Function

Function ИмяРазряда(Строка As String, n As String, Имя1 As String, Имя24 As String, ИмяПроч As StringAs String

If Строка <> «» Then
    ИмяРазряда = «»
    Select Case Left(n, 1)
        Case «0»«2»«3»«4»«5»«6»«7»«8»«9»: n = Right(n, 1)
    End Select

Select Case n
        Case «1»: ИмяРазряда = Имя1
        Case «2»«3»«4»: ИмяРазряда = Имя24
        Case Else: ИмяРазряда = ИмяПроч
    End Select
End If

End Function

ЧислоПропись.

Можно написать алгоритм макро программы по-другому и еще сделать так, чтобы она дописывала валюту суммы прописью. Для этого создайте Module2 и введите в него следующий код:

Function ЧислоПрописьюВалюта(Число As DoubleOptional Валюта As Integer = 1, Optional Копейки As Integer = 1)
Attribute ЧислоПрописьюВалюта.VB_Description = «Функция преобразовывает число суммы текстовыми словами»
Attribute ЧислоПрописьюВалюта.VB_ProcData.VB_Invoke_Func = » n1″
Dim Edinicy(0 To 19) As StringDim EdinicyPoslednie(0 To 19) As String
Dim Desyatki(0 To 9) As StringDim Sotni(0 To 9) As StringDim mlrd(0 To 9) As String
Dim mln(0 To 9) As StringDim tys(0 To 9) As String
Dim SumInt, x, shag, vl As IntegerDim txt, Sclon_Tys As String
‘———————————————
Application.Volatile
‘———————————————
Edinicy(0) = «»: EdinicyPoslednie(0) = IIf(Валюта = 0, «евро», IIf(Валюта = 1, «рублей»«долларов»))
Edinicy(1) = «один «: EdinicyPoslednie(1) = IIf(Валюта = 0, «один евро», IIf(Валюта = 1, «один рубль»«один доллар»))
Edinicy(2) = «два «: EdinicyPoslednie(2) = IIf(Валюта = 0, «два евро», IIf(Валюта = 1, «два рубля»«два доллара»))
Edinicy(3) = «три «: EdinicyPoslednie(3) = IIf(Валюта = 0, «три евро», IIf(Валюта = 1, «три рубля»«три доллара»))
Edinicy(4) = «четыре «: EdinicyPoslednie(4) = IIf(Валюта = 0, «четыре евро», IIf(Валюта = 1, «четыре рубля»«четыре доллара»))
Edinicy(5) = «пять «: EdinicyPoslednie(5) = IIf(Валюта = 0, «пять евро», IIf(Валюта = 1, «пять рублей»«пять долларов»))
Edinicy(6) = «шесть «: EdinicyPoslednie(6) = IIf(Валюта = 0, «шесть евро», IIf(Валюта = 1, «шесть рублей»«шесть долларов»))
Edinicy(7) = «семь «: EdinicyPoslednie(7) = IIf(Валюта = 0, «семь евро», IIf(Валюта = 1, «семь рублей»«семь долларов»))
Edinicy(8) = «восемь «: EdinicyPoslednie(8) = IIf(Валюта = 0, «восемь евро», IIf(Валюта = 1, «восемь рублей»«восемь долларов»))
Edinicy(9) = «девять «: EdinicyPoslednie(9) = IIf(Валюта = 0, «девять евро», IIf(Валюта = 1, «девять рублей»«девять долларов»))
Edinicy(11) = «одиннадцать «: EdinicyPoslednie(11) = IIf(Валюта = 0, «одиннадцать евро», IIf(Валюта = 1, «одиннадцать рублей»«одиннадцать долларов»))
Edinicy(12) = «надцать «: EdinicyPoslednie(12) = IIf(Валюта = 0, «надцать евро», IIf(Валюта = 1, «надцать рублей»«надцать долларов»))
Edinicy(13) = «тринадцать «: EdinicyPoslednie(13) = IIf(Валюта = 0, «тринадцать евро», IIf(Валюта = 1, «тринадцать рублей»«тринадцать долларов»))
Edinicy(14) = «четырнадцать «: EdinicyPoslednie(14) = IIf(Валюта = 0, «четырнадцать евро», IIf(Валюта = 1, «четырнадцать рублей»«четырнадцать долларов»))
Edinicy(15) = «пятнадцать «: EdinicyPoslednie(15) = IIf(Валюта = 0, «пятнадцать евро», IIf(Валюта = 1, «пятнадцать рублей»«пятнадцать долларов»))
Edinicy(16) = «шестнадцать «: EdinicyPoslednie(16) = IIf(Валюта = 0, «шестнадцать евро», IIf(Валюта = 1, «шестнадцать рублей»«шестнадцать долларов»))
Edinicy(17) = «семнадцать «: EdinicyPoslednie(17) = IIf(Валюта = 0, «семнадцать евро», IIf(Валюта = 1, «семнадцать рублей»«семнадцать долларов»))
Edinicy(18) = «восемнадцать «: EdinicyPoslednie(18) = IIf(Валюта = 0, «восемнадцать евро», IIf(Валюта = 1, «восемнадцать рублей»«восемнадцать долларов»))
Edinicy(19) = «девятнадцать «: EdinicyPoslednie(19) = IIf(Валюта = 0, «девятнадцать евро», IIf(Валюта = 1, «девятнадцать рублей»«девятнадцать долларов»))
»———————————————
Desyatki(0) = «»: Sotni(0) = «»: tys(0) = «тисячь «: mln(0) = «миллионов «: mlrd(0) = «миллиардов «
Desyatki(1) = «десять «: Sotni(1) = «сто «: tys(1) = «тысяча «: mln(1) = «миллион «: mlrd(1) = «миллиарда «
Desyatki(2) = «двадцать «: Sotni(2) = «двести «: tys(2) = «тысячи «: mln(2) = «миллиона «: mlrd(2) = «миллиарда «
Desyatki(3) = «тридцать «: Sotni(3) = «триста «: tys(3) = «тысячи «: mln(3) = «миллиона «: mlrd(3) = «миллиарда «
Desyatki(4) = «сорок «: Sotni(4) = «четыреста «: tys(4) = «тысячи «: mln(4) = «миллиона «: mlrd(4) = «миллиарда «
Desyatki(5) = «пятьдесят «: Sotni(5) = «пятьсот «: tys(5) = «тысяч «: mln(5) = «миллионов «: mlrd(5) = «миллиардов «
Desyatki(6) = «шестьдесят «: Sotni(6) = «шестьсот «: tys(6) = «тысяч «: mln(6) = «миллионов «: mlrd(6) = «миллиардов «
Desyatki(7) = «семьдесят «: Sotni(7) = «семьсот «: tys(7) = «тысяч «: mln(7) = «миллионов «: mlrd(7) = «миллиардов «
Desyatki(8) = «восемьдесят «: Sotni(8) = «восемьсот «: tys(8) = «тысяч «: mln(8) = «миллионов «: mlrd(8) = «миллиардов «
Desyatki(9) = «девяносто «: Sotni(9) = «девятьсот «: tys(9) = «тысяч «: mln(9) = «миллионов «: mlrd(9) = «миллиардов «
‘———————————————

On Error Resume Next
SumInt = Int(Число)
For x = Len(SumInt) To 1 Step -1
    shag = shag + 1
    Select Case x
        Case 12 ‘ — сотни миллиардов
            vl = Mid(SumInt, shag, 1)
            txt = txt & Sotni(vl)
        Case 11 ‘ — десятки  миллиардов
            vl = Mid(SumInt, shag, 1)
            If vl = «1» And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl)  ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
        Case 10 ‘ — единицы  миллиардов
            vl = Mid(SumInt, shag, 1)
            If shag > 1 Then
                If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & «миллиарда « Else txt = txt & Edinicy(vl) & mlrd(vl) ‘числа в диапозоне от 11 до 19 склоняются на «мільярдов» независимо от последнего числа триады
            Else
                txt = txt & Edinicy(vl) & mlrd(vl)
            End If

‘-КОНЕЦ БЛОКА_______________________

Case 9 ‘ — сотни миллионов
            vl = Mid(SumInt, shag, 1)
            txt = txt & Sotni(vl)
        Case 8 ‘ — десятки  миллионов
            vl = Mid(SumInt, shag, 1)
            If vl = «1» And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl)  ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
        Case 7 ‘ — единицы  миллионов
            vl = Mid(SumInt, shag, 1)
            If shag > 2 Then
                If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = «0»Then GoTo 10
            End If
            If shag > 1 Then
                If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & «миллиона « Else: txt = txt & Edinicy(vl) & mln(vl)  ‘числа в диапозоне от 11 до 19 склоняются на «миллиардов» независимо от последнего числа триады
            Else
                txt = txt & Edinicy(vl) & mln(vl)
            End If
        ‘-КОНЕЦ БЛОКА_______________________

Case 6 ‘ — сотни тысяч
            vl = Mid(SumInt, shag, 1)
            txt = txt & Sotni(vl)
        Case 5 ‘ — десятки  тысяч
            vl = Mid(SumInt, shag, 1)
            If vl = 1 And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl)  ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
        Case 4 ‘ — единицы  тысяч
            vl = Mid(SumInt, shag, 1)
            If shag > 2 Then
                If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = «0»Then GoTo 10
            End If
            Sclon_Tys = Edinicy(vl) & tys(vl) ‘ — вводим переменную Sclon_Tys из-за иного склонения  тысяч в русском языке
            If vl = 1 Then Sclon_Tys = «одна « & tys(vl) ‘ — для тысяч склонение «один» и «два» неприменимо ( поэтому вводим переменную  Sclon_Tys )
            If vl = 2 Then Sclon_Tys = «две « & tys(vl) ‘ — для тысяч склонение «один» и «два» неприменимо ( поэтому вводим переменную  Sclon_Tys )
            If shag > 1 Then
                If Mid(SumInt, shag — 1, 1) = 1 Then Sclon_Tys = Edinicy(Mid(SumInt, shag — 1, 2)) & «тисяч «
            End If
            txt = txt & Sclon_Tys

‘-КОНЕЦ БЛОКА_______________________
        Case 3 ‘ — сотни
            vl = Mid(SumInt, shag, 1)
            txt = txt & Sotni(vl)
        Case 2 ‘ — десятки
            vl = Mid(SumInt, shag, 1)
            If vl = «1» And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl)  ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
        Case 1 ‘ — единицы
            If Mid(SumInt, shag — 1, 1) <> 1 Or Mid(SumInt, shag — 1, 2) = «10» Then vl = Mid(SumInt, shag, 1) Else vl = Mid(SumInt, shag — 1, 2)
                txt = txt & EdinicyPoslednie(vl)

‘-КОНЕЦ БЛОКА_______________________

End Select
10:    Next x
a = Число
b = Int(a)
c = (Round(a — b, 2)) * 100
If c < 10 And c >= 1 Then c = «0» + CStr(c)
If c = 0 Then c = CStr(c) + «0»
d = «»
If Валюта = 1 Then d = «коп.» Else d = «цен.»
If Валюта > 2 Or Валюта < 0 Then MsgBox «Укажите параметр 0-2»
If Валюта > 2 Or Валюта < 0 Then GoTo 11
If Копейки = 0 Then
d = «»
c = «»
End If
If Копейки = 2 Then d = «»
If Копейки > 2 Or Копейи < 0 Then MsgBox «Укажите параметр 0, 1 или 2»
If Копейки > 2 Or Копейки < 0 Then GoTo 11
ЧислоПрописьюВалюта = UCase(Left(txt, 1)) & LCase(Mid(txt, 2)) + » « + CStr(c) + d
11:
End Function

Sub DescribeFunction()
   Dim FuncName As String
   Dim FuncDesc As String
   Dim Category As String
   Dim ArgDesc(1 To 3) As String

 
   FuncName = 

«ЧислоПрописьюВалюта»
   FuncDesc = «Функция преобразовывает число суммы текстовыми словами»
   Category = 1 ‘Text category
   ArgDesc(1) = «Исходная сумма»
   ArgDesc(2) = «(необязательный) Тип отображаемой валюты 0-Евро, 1-Рубли, 2-Доллары.»
   ArgDesc(3) = «(необязательный) Нужны ли копейки: 0-нет, 1-отображать копейи стандартно, 2-отображать только дробную часть (без слов).»

 
   Application.MacroOptions _
      Macro:=FuncName, _
      Description:=FuncDesc, _
      Category:=Category, _
      ArgumentDescriptions:=ArgDesc

End Sub
 

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

Private Sub Workbook_Open()
DescribeFunction
End Sub
 

Кроме того благодаря данному макросу DescribeFunction функция будет доступна в группе: «ФОРМУЛЫ»-«Библиотека функций»-«Финансовые»-«ЧислоПрописьюВалюта»

ЧислоПрописьюВалюта.

Если мы указываем число (от 0 до 2)в параметре второй функции «ЧислоПрописьюВалюта» то функция автоматически подставит нужную валюту в сумме прописью:

  • 1-рубли;
  • 2-доллары;
  • 0-евро;

Как видите, этот VBA-код макроса преобразует числа в слова. После вставки данного кода в модуль редактора макросов, у нас работает новая функция, которую можно вызвать из мастера (кнопка fx возле строки формул).

Скачать число прописью в Excel руб RUB.

Украинская версия функции ЧислоСловоВалюта для перевода сумм в гривны находиться в следующем файле:

Скачать функцию ЧислоСловоВалюта ГРН UAH

ЧислоСловоВалюта гривня.

Теперь вы можете быстро перевести сумму в слова прописью. Чтобы воспользоваться готовым решением рекомендуем скачать пример числа прописью в Excel. Данный файл содержит уже готовую пользовательскую функцию и VBA-код макроса, который доступен в модуле из редактора.

Функция Propis

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

Сумма прописью на русском и английском языке функцией Propis

Синтаксис

=Propis(Amount; Money; Lang; Prec)

где

  • Amount — ячейка с суммой, которую надо представить прописью
  • Money — код валюты (RUB, EUR, USD)
  • Lang — на каком языке вывести сумму (RU или EN)
  • Prec — надо (1) или нет (0) выводит дробную часть числа, т.е. копейки или центы.

Полный список всех инструментов надстройки PLEX

20.04.2017 08:34:46

Добрый день!
есть ли возможность вывести сумму на украинском языке?

22.04.2017 10:18:13

23.04.2017 00:12:20

было под носом и не увидел :(
Спасибо!

20.05.2017 13:15:42

Формула вида =Propis(Почта!$Q$2;RUB;RU;0) не работает выдается ошибка…это вставлена через мастер формул в надстройке…работает только =Propis(Q2)

26.10.2017 08:36:27

«RUB» и «RU» должны быть в кавычках — это же текстовые строки, они в любой функции и формуле должны быть заключены в кавычки.

24.08.2018 14:00:51

Николай, это PLEX так ставит

23.08.2017 15:30:06

Добрый день, в данном выше примере функция работает как мне необходимо, но в скачанной версии от мая 2017 понимает только =PropisRus(A2;1) такой вариант, а мне нужно чтобы выводилось полное название копеек рублей и после запятой выводилось 00 копеек а не 0 копеек. Это можно исправить?

26.10.2017 08:42:05

Используйте функцию =Propis(A2) вместо PropisRus.

13.09.2017 02:39:08

А если мне просто число написать нужно, или в конце добавить шткгтоннящиковбанок и т.д.? типа 12,5- двенадцать целых пять десятых или 3шт- три шт?

26.10.2017 08:39:05

Для целых чисел можно использовать функцию PropisRus без дополнительных аргументов и приклеить к ней нужные единицы измерения, т.е. =PropisRus(A1)&» шт.»

25.10.2017 12:17:03

Будьте добры, подскажите, какую формулу можно использовать, чтобы сумму писало прописью русским текстом, а денежную единицу выдавало в укр.валюте (гривне), копейки тоже нужны.
Функция =PropisUkr(N; Hryvnias; Kopecks)  работает отлично, но текст только на украинском языке.

26.10.2017 08:35:22

Такого нет. Есть Propis на русском-английском, которая умеет выводить рубли, доллары, евро. И есть PropisUkr, которая выводит гривны на украинском. Если нужна функция-мутант, то придется либо писать свою, либо ждать, когда я добавлю гривны в Propis :)

26.10.2017 09:50:57

Благодарю за ответ. Все функции Propis уже обошла вдоль и поперёк.
Значит, придётся к макросу обращаться.  Но мутация — это хорошо:D  Спасибо!

22.03.2018 10:27:30

Добрый день! а если нужно чтобы при использовании функции Propis текст выводился не в рублях а в кг?

20.07.2018 10:34:30

Нужно лезть в исходный код функции на VBA и заменить там везде рубли на «кг».
Либо использовать функцию PropisRus для вывода числа без единиц измерения и приклеить потом к результату «кг»:

17.07.2018 23:37:47

Доброго времени суток! Есть ли возможность вывода на немецком языке суммы прописью? Заранее спасибо за ответ!

20.07.2018 10:31:50

Ну, готовой функции у меня для немецкого языка нет, к сожалению.

11.12.2019 17:57:19

Николай, добрый день!

Обнаружил,  чо данная функция некорректно работает со значениями начиная от 10 000 000 000.
Например:

10 000 000 000,00 #ЗНАЧ!
10 000 000 010,00 Десять рублей 00 копеек
15 000 000 000,00 Пять миллиардов рублей 00 копеек

Спасибо.
Алексей

13.12.2019 21:32:11

А первую строчку статьи прочитать? :)

16.12.2019 10:36:06

Да, действительно, написано. Прошу извинить.
Я давно работаю с этой функцией, по этому подсознательно думал, что все про нее знаю.

К сожалению (или к счастью) приходится работать с большими суммами. Жаль, что функция не работает с ними.

20.12.2019 12:55:52

Добрый день! Пожалуйста, добавьте к функцию сумма прописью национальную валюту Узбекистана — сум и тийин, а также возможность загрузки курсы валют Центрального банка Узбекистана. Спасибо.

21.08.2020 17:01:59

Добрый день. Можно сделать что бы скобки были после слова рубль, а копейки были после скобок?

Цена контракта составляет: 10 500 (Десять тысяч пятьсот рублей) 00 копеек

30.10.2020 18:13:14

Добрый день! Функция PropisRus не работает, пишет #ЗНАЧ. Хотя при выборе аргументов показывает верное значение, но как только нажимаешь ок, то в ячейке высвечивается ошибка. Подскажите что делать?

04.11.2020 17:20:00

Вы бы хоть описали, что именно делаете или скриншот приложили. Как я догадаюсь, в чем проблема? :)

05.11.2020 11:39:36

Вроде заработало. Открыл отдельный лист в ексель, попробовал и функция заработала. Значит это у меня в другой книге проблемы.

11.02.2021 17:12:27

Добрый день! Николай, отличная надстройка, купил с удовольствием. Но есть одно маленькое но, так как живу в Казахстане очень нужен вывод прописью тенге.

03.08.2021 14:26:39

Добрый день! Если копейки равны 00 или их нет то прописью выводит, если есть копейки то выдает ошибку. Как это исправить.

10.03.2022 11:18:06

Добрый день! Подскажите пожалуйста по этой функции планируется доработка на тенге_тиын. Или может она уже есть. П
опробовала на всякий случай =propiskz ничего не получилось)))

Сумма прописью формула эксель

Как создается сумма прописью в Excel?

Добрый день уважаемый читатель!

Статья посвящена такому интересному вопросу: «Как создается сумма прописью в Excel?». Эта возможность позволяет нам всю массу информации и расчетов, которые сведены в один результат, оформить как финансовой документ, которые нельзя трактовать двузначно. Недаром же любые банковские, юридические и финансовые документы оформляются и цифрами и буквами. Окромя всего, такие суммы не позволяют ошибаться, где же должна стоять запятая и просто отлично выглядят в сравнении с рядом цифр. Подведя итог, скажу, что любой пользователь Excel, который работает с цифрами и временем, а также печатает документы с их использованием, очень нуждается в инструменте создающим сумму прописью.

Решить эту проблему можно несколькими способами:

Создание сумм прописью с помощью формул

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

Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.

С помощью пользовательской функции

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

Для этого вам необходимо выполнить некоторые действия. Сначала скачиваете файл надстройки здесь. После, переносите его в папку AddIns, которую можно найти по пути C:Documents and SettingsUserApplication DataMicrosoftAddIns, только вы вместо «User» подставляете имя вашего пользователя Windows. Еще может возникнуть проблема в отображении папки «Application Data», она может быть скрыта, тогда вам в настройках «Свойства папки» нужно активировать пункт «Показать скрытые файлы и папки». Теперь собственно и приступим к включении этой надстройки. В Excel выбираем «Файл» — «Параметры» — «Надстройки». В диалоговом окне «Настройки» ставим галочку напротив включаемой надстройки «Сумма Прописью» и нажимаем «ОК». Следующим шагом, ставим курсор на нужную ячейку и вызываем «Мастер функций». В разделе «Категория» выбираем пункт «Определенные пользователем» и теперь весть список встроенных функций по написанию сумм прописью нам доступен. Кстати как видите, доступен даже выбор функций в разрезе валют. Сразу замечу, что надстроек бывает много, есть и более расширенные, но эта меня полностью устраивает, вот я ее и описываю. В результате мы получаем возможность получить следующие данные:

С помощью VBA

Вот еще один способ на любителя. Конечно создать сумму прописью в Excel с помощью макроса не самый распространённый способ, но им достаточно часто пользовались и пользуются до сих пор. Большой сложности он не представляет, вам нужно:

  • Комбинацией горячих клавиш ALT+F11 вызвать редактор Visual Basic;
  • С помощью меню «Insert» — «Module», создать пустой новый модуль;
  • Скопировать предоставленный код макроса в тело модуля.

Получается готовая пользовательская функция VBA, которая умеет превращать любую сумму от 0 до 9 999 999 в ее текстовое воплощение, создается сумма прописью.

Сумма прописью в excel

Функция сумма прописью на русском языке

После установки надстройки VBA-Excel добавится функционал для вставки суммы прописью. Он содержит удобную форму для ввода (см. рисунок справа), а также функцию СУММАПРОПИСЬЮ, которой можно пользоваться так же как и любой встроенной в Excel.

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

Вы можете указать сумму прописью в договоре в рублях (как с копейками так и без), в долларах США или евро (с центами или без). Помимо суммы договора можно прописывать прописью и срок в календарных или рабочих днях. Можно указывать количество товара прописью в штуках.

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

Вставка суммы прописью через пользовательскую форму

Наиболее простой способ вставить сумму прописью — это заполнить специальную форму.

  1. Выберите ячейку, в которую необходимо вставить число прописью.
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Русский.
  3. Появится диалоговое окно для выбора параметров функции. Заполните ее так как необходимо Вам. Настройки автоматически сохраняются, чтобы не пришлось повторять действия в следующий раз.
  4. Нажмите Вставить текстом, тогда сумма прописью будет вставлена в ячейку как текст. Нажмите Вставить формулой в случае если в ячейку должна быть вставлена формула, в этом случае сумма прописью будет автоматически изменяться при редактировании числа.

Второй способ вставить сумму прописью — это ввести формулу в ячейку: =СУММАПРОПИСЬЮ(A1), где A1 — ссылка на ячейку с формулой.

Далее рассмотрим подробнее синтаксис функции.

Подробный синтаксис функции

Для использования функции не обязательно постоянно вызывать форму с параметрами. Функцию можно использовать также как и прочие функции Excel. Функция имеет следующие переменные:

=СУММАПРОПИСЬЮ(Число; [Падеж]; [Тип_данных] ; [Дробь_прописью] ; [Дублировать_число] ; [Скобки] ; [Заглавная] )

Квадратные скобки означают что переменная не обязательная, в этом случае используется значение по умолчанию.

  • Число — ссылка на ячейку или число (не обязательно в числовом формате), которое необходимо написать прописью.
  • [Падеж] — число от 1 до 6, определяющее падеж
  1. Именительный (по умолчанию если параметр не указан)
  2. Родительный
  3. Дательный
  4. Винительный
  5. Творительный
  6. Предложный
  • [Тип_данных] — число от 0 до 8 для добавления после суммы прописью в нужном падеже тип данных
  1. Ничего (по умолчанию если параметр не указан)
  2. Рубли
  3. Доллары США
  4. Евро
  5. Календарные дни
  6. Рабочие дни
  7. Дни
  8. Штуки
  9. Целое + дробная часть
  • [Дробь_прописью] — значение 0 или 1, которое указывает на необходимость записи дробной части числа прописью
  1. Не выводить прописью дробную часть числа (по умолчанию)
  2. Указать прописью также и дробную часть числа
  • [Дублировать_число] — значение 0 или 1, которое указывает на необходимость дублирования числа перед суммой прописью
  1. Скрыть число перед суммой прописью
  2. Продублировать числовое значение суммы прописью (по умолчанию)
  • [Скобки] — значение 0 или 1, которое указывает на необходимость записывать сумму прописью в скобках
  1. Убрать скобки из суммы прописью
  2. Поместить сумму прописью в скобки (по умолчанию)
  • [Заглавная] — значение 0 или 1, которое указывает на необходимость делать первую букву суммы прописью заглавной
  1. Все буквы суммы прописью строчные
  2. Сделать первую букву заглавной (по умолчанию)

Разберем синтаксис функции на примерах:

Склонение числительных по падежам.

Добавление типа данных после указания суммы прописью. Обратите внимание, что если вторая переменная (падеж) не задана, то указывается по умолчанию в именительном падеже.

Как прописать дробную часть числа с помощью функции.

Различные форматы вывода суммы прописью.

Функция сумма прописью на украинском языке

Аналогичный функционал для вставки суммы прописью есть и для украинского языка. Также имеется похожая форма для удобной вставки и функция СУММАПРОПИСЬЮУКР.

Чтобы вызвать форму для вставки суммы прописью на украинском языке, выполните следующие действия:

  1. Выберите ячейку, в которую необходимо вставить число прописью.
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Украинский.
  3. Дальнейшие действия аналогичны

Функция сумма прописью на английском языке

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

Чтобы вставить число прописью на английском языке нужно:

  1. Выбрать ячейку в которую необходимо вставить результат
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Английский.
  3. Укажите число и нажмите одну из кнопок Вставить формулой или Вставить текстом.

Вместо формы ввода, Вы также можете пользоваться функцией =СУММАПРОПИСЬЮEN(ЧИСЛО). Функция имеет один аргумент: ЧИСЛО — значение или ссылка на ячейку с числом, которое необходимо преобразовать в текст прописью.

Сумма прописью в Microsoft Excel

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

Использование надстройки

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

Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.

  1. Открываем программу Excel и переходим во вкладку «Файл».

Перемещаемся в раздел «Параметры».

В активном окне параметров переходим в раздел «Надстройки».

Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».

В открывшемся окне ищем предварительно скачанный и сохраненный на жесткий диск компьютера файл надстройки NUM2TEXT.xla. Выделяем его и жмем на кнопку «OK».

Мы видим, что данный элемент появился среди доступных надстроек. Ставим галочку около пункта NUM2TEXT и жмем на кнопку «OK».

Запускается Мастер функций. В полном алфавитном перечне функций ищем запись «Сумма_прописью». Её раньше не было, но она появилась тут после установки надстройки. Выделяем эту функцию. Жмем на кнопку «OK».

Отрывается окно аргументов функции Сумма_прописью. Оно содержит только одно поле «Сумма». Сюда можно записать обычное число. Оно в выделенной ячейке отобразиться в формате записанной прописью денежной суммы в рублях и копейках.

Можно в поле занести адрес любой ячейки. Это делается либо путем ручной записи координат этой ячейки, либо простым кликом по ней в то время, когда курсор находится в поле параметра «Сумма». Жмем на кнопку «OK».

  • После этого, любое число, которое записано в ячейку, указанную вами, будет отображаться в денежном виде прописью в том месте, где установлена формула функции.
  • Функцию можно также записать и вручную без вызова мастера функций. Она имеет синтаксис Сумма_прописью(сумма) или Сумма_прописью(координаты_ячейки). Таким образом, если вы в ячейке запишите формулу =Сумма_прописью(5) , то после нажатия кнопки ENTER в этой ячейке отобразиться надпись «Пять рублей 00 копеек».

    Если вы введете в ячейку формулу =Сумма_прописью(A2) , то в таком случае, любое число, внесенное в ячейку A2 будет отображаться тут денежной суммой прописью.

    Как видим, несмотря на то, что в Excel нет встроенного инструмента для преобразования чисел в сумму прописью, эту возможность можно довольно легко получить, просто установив необходимую надстройку в программу.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Число прописью в Excel: инструкция, как написать сумму

    Сумма прописью в Excel

    Windows 10 на калькуляторе

    Windows 10 не видит флешку

    Не работают наушники на компьютере Windows 10

    Ноутбук с Windows 10 не видит наушники

    Не видит компьютеры в сети Windows 10

    Во многих документах мы можем видеть строку, в которой требуется указать сумму не в числовом виде, а прописью. Это защищает отчетность от подделки, ведь цифру легко переправить. А вот длинную запись незаметно исправить не так-то просто. Сумма прописью в Excel доступна только в виде надстроек или с использованием формул. Встроенного инструмента не имеется.

    Как в Excel сделать сумму прописью

    Чтобы получить эту возможность, вы можете скачать надстройку «Сумма прописью» в Excel бесплатно на нашем сайте.

    Разместите его в любом удобном каталоге и подключите. Для этого следует пройти следующие этапы:

    Эта функция «сумма_прописью» работает в Excel 2007, 2010, 2016

    Данная надстройка работает только для рублей. Если вам нужна другая валюта, скачайте еще файл sumprop.xla. Действуя по аналогии подключите надстройку для получения суммы прописью в Excel.

    Для проверки введем в ячейке A3 произвольное число. Пусть это будет десятичная дробь. Также вызовем окно вставки функций и найдем новые функции для вывода суммы прописью.

    Как видите, нам стали доступны:

    • Сумма Прописью
    • Сумма Прописью Доллары
    • Сумма Прописью Евро
    • Сумма Прописью Евро

    Переведем число в евро. Выбираем соответствующую функцию и кликаем по ячейке с числом.

    После нажатия ОК получаем результат.

    С помощью этих инструментов преобразование числа в текст прописью в Excel выполняется очень просто. Если по каким-то причинам вы не хотите устанавливать их в Excel, можно воспользоваться другим способом.

    Формула суммы прописью в Excel — как написать число

    Для вывода числа прописью в Excel можно создать формулу. Приведем пример:

    Для ее использования вам необходимо указать несколько массивов Excel:

    Просто скопируйте эту таблицу на лист Excel, а формулу вставляйте туда, где необходима сумма прописью. Вышеприведенная конструкция предназначена для ячейки A3. Не забудьте поменять адрес.

    В англоязычном Excel формула суммы прописью будет выглядеть следующим образом:

    SUBSTITUTE(PROPER(INDEX(n_4,MID(TEXT(A1,n0),1,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),2,1)+1,MID(TEXT(A1,n0),3,1)+1)&IF(-MID(TEXT(A1,n0),1,3),»миллиард»&VLOOKUP(MID(TEXT(A1,n0),3,1)*AND(MID(TEXT(A1,n0),2,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),4,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),5,1)+1,MID(TEXT(A1,n0),6,1)+1)&IF(-MID(TEXT(A1,n0),4,3),»миллион»&VLOOKUP(MID(TEXT(A1,n0),6,1)*AND(MID(TEXT(A1,n0),5,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),7,1)+1)&INDEX(n1x,MID(TEXT(A1,n0),8,1)+1,MID(TEXT(A1,n0),9,1)+1)&IF(-MID(TEXT(A1,n0),7,3),VLOOKUP(MID(TEXT(A1,n0),9,1)*AND(MID(TEXT(A1,n0),8,1)-1),тыс,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),10,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),11,1)+1,MID(TEXT(A1,n0),12,1)+1)),»z»,» «)&IF(TRUNC(TEXT(A1,n0)),»»,»Ноль «)&»рубл»&VLOOKUP(MOD(MAX(MOD(MID(TEXT(A1,n0),11,2)-11,100),9),10),<0,»ь «;1,»я «;4,»ей «>,2)&RIGHT(TEXT(A1,n0),2)&» копе»&VLOOKUP(MOD(MAX(MOD(RIGHT(TEXT(A1,n0),2)-11,100),9),10),<0,»йка»;1,»йки»;4,»ек»>,2)

    Как видим, это не самый удобный способ преобразовать число в текст прописью в Excel.

    Преобразование с помощью макросов Excel

    Можно написать собственную функцию, которая произведет конвертацию суммы прописью. Нажмите сочетание ALT+F11 и в открывшемся разработчике Excel VBA вставьте новый модуль.

    В него добавьте следующий код.

    Теперь эту функцию можно вызвать обычным путем и получить сумму прописью. Она находится в разделе функций Excel «Определенные пользователем».

    В качестве аргумента укажите адрес с числом.

    Перевод в сумму прописью осуществляется только для целых чисел.

    Дробное число требует дополнительной формулы:

    Вместо ячейки A7 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа.

    Мы рассмотрели все способы представления суммы прописью в Excel. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!

    Для экономистов Макрос для Эксела сумма прописью

    СУММА ПРОПИСЬЮ в Excel 2007, 2010 Макрос для бухгалтеров на русском

    Бухгалтеру при работе в Эксел при печати платежек, приходников, счетов-фактур, необходимо заполнять поля суммы прописью . Корпорация Майкрософт об этом не подумала, а Андрей Коцюбинский подумал. Он писал книги по компьютерной тематике, и среди них значительной популярностью пользовалась книга « Excel для бухгалтера в примерах ». С этой книгой распространялся макрос для Excel , автоматизирующий печать суммы прописью в электронных таблицах.

    Вот с сайта его веб-студии е-КАО мы и взяли этот доработанный макрос.

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

    Поэтому в приложенном для скачивания zip-файле находится два файла:

    1. sumprop.xla — файл надстройки
    2. sumprop.xls — файл макроса

    Макрос: сумма прописью в Excel 2007, 2010

    Можно использовать как обычный макрос, размещенный в обычной рабочей книге Excel (sumprop.xls). Я тоже так делаю, потому что не использую чужих, непроверенных макросов. После того, как вы скачаете файл с макросом Сумма Прописью , необходимо подключить данный макрос. Но для этого сначала необходимо разрешить выполнение макросов в MS Excel.

    Для включения макросов при работе с версией Excel 2002 , входящей в состав Microsoft Office XP, или с версией Microsoft Office Excel 2003 , нужно выбрать команду меню Сервис — Параметры. Будет открыт диалог настройки, имеющий несколько вкладок. Необходимо открыть вкладку Безопасность, на которой следует нажать кнопку Безопасность макросов. На экране появится диалог настройки безопасности Excel. С помощью переключателя, расположенного в диалоге, установите низкий уровень безопасности, чтобы выполнялись все макросы. Далее необходимо закрыть оба диалога, для чего следует нажать кнопки OK в них.

    В Excel 2000 для вызова аналогичного диалога необходимо выбрать команду меню Сервис — Макрос — Безопасность.

    Если же используется версия Excel 97 , нужно выбрать команду меню Сервис — Параметры. В диалоге настройки следует выбрать вкладку Общие и снять флажок Защита от макровирусов. Следует заметить, что если вы не снимите защиту от макровирусов в Excel 97 или установите средний уровень безопасности в других версиях программы, при запуске Excel будет задан вопрос, хотите ли вы выполнять макросы, на который следует ответить утвердительно.

    Как подключить программу макрос Сумма прописью в Excel 2007, 2010 на русском языке

    Чтобы подключать программу печати суммы прописью ко всем электронным таблицам, следует поместить полученный файл в папку автозапуска Excel . Данная папка называется XLStart , и расположена она в папке, в которой установлен Microsoft Office.

    Вначале найдите папку Program Files . Скорее всего, она расположена на диске C вашего компьютера. В этой папке следует найти папку Microsoft Office или Microsoft Office 2003, а в ней папку Office 10, Office 11, Office12 или Office , в зависимости от используемой вами версии. Вне зависимости от конкретных названий папок, в последней папке вы должны обнаружить папку XLStart . Поместите скачанный ранее файл sumprop.xls в данную папку, после чего при каждом запуске Excel будет открываться таблица, в которой располагается макрос печати суммы прописью.

    Использование программы печати суммы прописью в Excel (Ексел)

    Работа с ней ведется через использование функций Excel. Введите в первую ячейку третьей строки формулу =СуммаПрописью(836) и вы увидите результат вычислений:

    Введите после этого в первую ячейку второй строки формулу = СуммаПрописью (A1). Так как пока в ячейку A1 ничего не введено, то результатом будет:

    После того, как в первую ячейку будет введено число, например, 3743917034,51, результат изменится на:

    При вводе другого числа результат соответственно изменится. Кроме печати суммы прописью доступна стала и еще одна дополнительная функция. Введите в первую ячейку число 582,43, а в любую свободную ячейку формулу =ЧислоПрописью(A1) . Результатом будет пятьсот восемьдесят два , то есть первая буква уже не прописная, копейки отброшены и нет названия рублей. Также имеется возможность вывода суммы для названий женского рода – пятьсот восемьдесят две . Для этого следует использовать формулу =ЧислоПрописью(A1;ЛОЖЬ) . Если второй параметр опущен, выводится сумма для названий мужского рода.

    Надстройка: сумма прописью в Excel

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

    Нужно поместить полученный файл sumprop.xla в папку, в которой хранятся дополнительные надстройки. Конкретный путь к этой папке зависит от версии Excel, но скорее всего он будет похожим на этот:

    C:Documents and SettingsUserApplication DataMicrosoftAddIns

    где: вместо User следует подставить имя пользователя Windows.

    Дополнительное неудобство вызывается тем, что папка Application Data может быть скрыта, то есть не видна при просмотре в проводнике Windows.

    Проще всего для размещения скачанного файла в нужной папке нужно:

    1. Выбрать в Excel команду меню Сервис — Надстройки и в появившемся диалоге нажать кнопку Обзор . Будет открыт диалог выбора файла с надстройкой, причем текущей окажется нужная вам папка.
    2. Запустите проводник Windows и перейдите в нем к папке, в которой находится скачанный ранее из интернета файл. Перетащите с помощью мыши значок файла из окна проводника в открытый диалог. Теперь файл с нужной надстройкой находится в нужной папке.
    3. Щелкните на нем мышью и нажмите кнопку OK, чтобы закрыть диалог. В списке доступных надстроек должна появиться строка Сумма Прописью.
    4. Установите флажок рядом с этой строкой и нажмите кнопку OK,
    5. После чего вы сможете использовать функцию печати суммы прописью в Excel .

    Как использовать мастер функций, для работы с функциями вывода суммы прописью и числа прописью

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

    В ранних версиях программы аналогичная кнопка расположена на панели инструментов. Каким бы способом не вызван был мастер функций, в появившемся диалоге необходимо выбрать категорию Определенные пользователем . В списке функций данной категории должны находиться СуммаПрописью и ЧислоПрописью . Выбрав нужную функцию, нажмите кнопку OK , чтобы перейти к следующему диалогу мастера функций. В нем задаются аргументы, то есть вы должны ввести число, которое будет преобразовано в слова.

    Можно ввести непосредственно значение или сослаться на ячейку, в которой это значение расположено. Нажав кнопку OK , вы закроете диалог и вставите результат в текущую ячейку.

    1. флешка USB Flash: УТИЛИТЫ ПРОГРАММЫ для восстановления, форматирования флешек
      Фирменные универсальные утилиты софт для восстановления объема, тестирования флешек USB Flash. Драйвера для USB Flash. Производители: Sony, Seitec, IOSELL, Transcend , A-Data, SanDisk, EasyDisk, Patriot, Panasonic, Traxdata.

    Во многих документах мы можем видеть строку, в которой требуется указать сумму не в числовом виде, а прописью. Это защищает отчетность от подделки, ведь цифру легко переправить. А вот длинную запись незаметно исправить не так-то просто. Сумма прописью в Excel доступна только в виде надстроек или с использованием формул. Встроенного инструмента не имеется.

    Как в Excel сделать сумму прописью

    Скачать файл надстройки

    Чтобы получить эту возможность, вы можете скачать надстройку «Сумма прописью» в Excel бесплатно на нашем сайте.

    Разместите его в любом удобном каталоге и подключите. Для этого следует пройти следующие этапы:

    Эта функция «сумма_прописью» работает в Excel 2007, 2010, 2016

    Данная надстройка работает только для рублей. Если вам нужна другая валюта, скачайте еще файл sumprop.xla. Действуя по аналогии подключите надстройку для получения суммы прописью в Excel.

    Для проверки введем в ячейке A3 произвольное число. Пусть это будет десятичная дробь. Также вызовем окно вставки функций и найдем новые функции для вывода суммы прописью.

    Как видите, нам стали доступны:

    • Сумма Прописью
    • Сумма Прописью Доллары
    • Сумма Прописью Евро
    • Сумма Прописью Евро

    Переведем число в евро. Выбираем соответствующую функцию и кликаем по ячейке с числом.

    После нажатия ОК получаем результат.

    С помощью этих инструментов преобразование числа в текст прописью в Excel выполняется очень просто. Если по каким-то причинам вы не хотите устанавливать их в Excel, можно воспользоваться другим способом.

    Формула суммы прописью в 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:

    • n_1 ={«»;»одинz»;»дваz»;»триz»;»четыреz»;»пятьz»;»шестьz»;»семьz»;»восемьz»;»девятьz»}
    • n_2 ={«десятьz»;»одиннадцатьz»;»двенадцатьz»;»тринадцатьz»;»четырнадцатьz»;»пятнадцатьz»;»шестнадцатьz»;»семнадцатьz»;»восемнадцатьz»;»девятнадцатьz»}
    • n_3 ={«»:1:»двадцатьz»:»тридцатьz»:»сорокz»:»пятьдесятz»:»шестьдесятz»:»семьдесятz»:»восемьдесятz»:»девяностоz»}
    • n_4 ={«»;»стоz»;»двестиz»;»тристаz»;»четырестаz»;»пятьсотz»;»шестьсотz»;»семьсотz»;»восемьсотz»;»девятьсотz»}
    • n_5 ={«»;»однаz»;»двеz»;»триz»;»четыреz»;»пятьz»;»шестьz»;»семьz»;»восемьz»;»девятьz»}
    • n0 =»000000000000″&ПСТР(1/2;2;1)&»0#####»
    • n0x =ЕСЛИ(n_3=1;n_2;n_3&n_1)
    • n1x =ЕСЛИ(n_3=1;n_2;n_3&n_5)
    • доля ={«десятая»;»десятых»:»сотая»;»сотых»:»тысячная»;»тысячных»:»десятитысячная»;»десятитысячных»:»стотысячная»;»стотысячных»:»миллионная «;»миллионных»}
    • мил ={0;»овz»:1;»z»:2;»аz»:5;»овz»}
    • тыс ={0;»тысячz»:1;»тысячаz»:2;»тысячиz»:5;»тысячz»}

    Просто скопируйте эту таблицу на лист Excel, а формулу вставляйте туда, где необходима сумма прописью. Вышеприведенная конструкция предназначена для ячейки A3. Не забудьте поменять адрес.

    В англоязычном Excel формула суммы прописью будет выглядеть следующим образом:

    SUBSTITUTE(PROPER(INDEX(n_4,MID(TEXT(A1,n0),1,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),2,1)+1,MID(TEXT(A1,n0),3,1)+1)&IF(-MID(TEXT(A1,n0),1,3),»миллиард»&VLOOKUP(MID(TEXT(A1,n0),3,1)*AND(MID(TEXT(A1,n0),2,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),4,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),5,1)+1,MID(TEXT(A1,n0),6,1)+1)&IF(-MID(TEXT(A1,n0),4,3),»миллион»&VLOOKUP(MID(TEXT(A1,n0),6,1)*AND(MID(TEXT(A1,n0),5,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),7,1)+1)&INDEX(n1x,MID(TEXT(A1,n0),8,1)+1,MID(TEXT(A1,n0),9,1)+1)&IF(-MID(TEXT(A1,n0),7,3),VLOOKUP(MID(TEXT(A1,n0),9,1)*AND(MID(TEXT(A1,n0),8,1)-1),тыс,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),10,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),11,1)+1,MID(TEXT(A1,n0),12,1)+1)),»z»,» «)&IF(TRUNC(TEXT(A1,n0)),»»,»Ноль «)&»рубл»&VLOOKUP(MOD(MAX(MOD(MID(TEXT(A1,n0),11,2)-11,100),9),10),{0,»ь «;1,»я «;4,»ей «},2)&RIGHT(TEXT(A1,n0),2)&» копе»&VLOOKUP(MOD(MAX(MOD(RIGHT(TEXT(A1,n0),2)-11,100),9),10),{0,»йка»;1,»йки»;4,»ек»},2)

    Как видим, это не самый удобный способ преобразовать число в текст прописью в 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 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа.

    Мы рассмотрели все способы представления суммы прописью в Excel. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!

    Отличного Вам дня!

    Очень распространенная задача написать числа прописью в Excel. Встроенной функции пока еще в Excel нет, поэтому мы можем создать пользовательскую функцию, которая и будет заменять цифры, числа текстом.

    Сумма прописью в Excel

    Как правило, это требуется в торговле, бухгалтерском учете и других сферах, где производятся расчеты с денежными средствами. Обычно необходимо перевести сумму в рублях и копейках прописью, как на картинке (первый пример).

    Смотрите также: Как написать сумму прописью на украинском языке

    Содержание

    • 1 Сумма в рублях, долларах или евро с копейками прописью
      • 1.1 Макрос пользовательской функции суммы прописью
    • 2 Числа прописью с копейками  заглавными или строчными буквами в Excel

    Сумма в рублях, долларах или евро с копейками прописью

    Допустим, мы делаем какие-то расчеты в таблице и получаем итоговую сумму в рублях 1526,23

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

    Propis(Amount;Money;lang;Prec)

    где

    Amount — это ссылка на ячейку с числом

    Money — тут указывается вид валюты, можно указать рубли, доллары и евро («RUB», «USD», «EUR») — валюта обязательно указывается в кавычках.

    lang — это язык на котором необходимо вывести сумму, доступно два языка английский и русский («EN», «RU») — так же указываем в кавычках

    Prec — показывать (1) или не показывать (0) дробную часть

    Таким образом, вы сможете прописать сумму в рублях, долларах или евро прописью русскими или английскими буквами вместе с дробной частью, при этом в зависимости от числа будет вставляться правильное окончание, например 2 рубля, 8 рублей, 1 рубль и так далее.

    Чтобы создать пользовательскую функцию Propis, необходимо скопировать код, указанный ниже, далее нажмите ALT+F11, чтобы открыть VBA, добавьте новый пустой модуль через меню Insert — Module и вставьте туда скопированный код

    Макрос пользовательской функции суммы прописью

    Function Propis(Amount As String, Optional Money As String = "RUB", Optional lang As String = "RU", Optional Prec As Integer = 1)
     Dim whole As Double
    
     Amount = Replace(Amount, "-", Application.International(xlDecimalSeparator))
     Amount = Replace(Amount, ".", Application.International(xlDecimalSeparator))
     Amount = Replace(Amount, ",", Application.International(xlDecimalSeparator))
    
     Sum = WorksheetFunction.Round(CDbl(Amount), 2)
     Money = UCase(Money)
     lang = UCase(lang)
     whole = Int(Sum)
     fraq = Format(Round((Sum - whole) * 100), "00")
    
     Select Case Class(whole, 1) + Class(whole, 2) * 10
     Case 1, 21, 31, 41, 51, 61, 71, 81, 91
     w_rus_r = "рубль"
     w_rus_d = "доллар"
     w_rus_e = "евро"
     w_en_r = "rubles"
     w_en_d = "dollars"
     w_en_e = "euro"
    
     Case 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 74, 82, 83, 84, 92, 93, 94
     w_rus_r = "рубля"
     w_rus_d = "доллара"
     w_rus_e = "евро"
     w_en_r = "rubles"
     w_en_d = "dollars"
     w_en_e = "euro"
    
     Case Else
     w_rus_r = "рублей"
     w_rus_d = "долларов"
     w_rus_e = "евро"
     w_en_r = "rubles"
     w_en_d = "dollars"
     w_en_e = "euro"
    
     End Select
    
     Select Case fraq
     Case 1, 21, 31, 41, 51, 61, 71, 81, 91
     f_rus_r = "копейка"
     f_rus_d = "цент"
     f_rus_e = "цент"
     f_rus_p = "сотая"
     f_en_r = "kopecks"
     f_en_d = "cents"
     f_en_e = "cents"
     f_en_e = "cents"
    
     Case 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 74, 82, 83, 84, 92, 93, 94
     f_rus_r = "копейки"
     f_rus_d = "цента"
     f_rus_e = "цента"
     f_en_r = "kopecks"
     f_en_d = "cents"
     f_en_e = "cents"
     Case Else
     f_rus_r = "копеек"
     f_rus_d = "центов"
     f_rus_e = "центов"
     f_en_r = "kopecks"
     f_en_d = "cents"
     f_en_e = "cents"
     End Select
    
     If Prec = 0 Then
     fraq = ""
     f_rus_r = ""
     f_rus_d = ""
     f_rus_e = ""
     f_en_r = ""
     f_en_d = ""
     f_en_e = ""
     End If
    
     If lang = "RU" Then
     Select Case Money
     Case "RUB"
     Out = ScriptRus(whole) & " " & w_rus_r & " " & fraq & " " & f_rus_r
     Case "USD"
     Out = ScriptRus(whole) & " " & w_rus_d & " " & fraq & " " & f_rus_d
     Case "EUR"
     Out = ScriptRus(whole) & " " & w_rus_e & " " & fraq & " " & f_rus_e
     End Select
     End If
    
     If lang = "EN" Then
     Select Case Money
     Case "RUB"
     Out = ScriptEng(whole) & " " & w_en_r & " " & fraq & " " & f_en_r
     Case "USD"
     Out = ScriptEng(whole) & " " & w_en_d & " " & fraq & " " & f_en_d
     Case "EUR"
     Out = ScriptEng(whole) & " " & w_en_e & " " & fraq & " " & f_en_e
     End Select
     End If
    
     Propis = WorksheetFunction.Trim(Out)
    
    End Function
    
    Private Function Class(m, i)
     Class = Int(Int(m - (10 ^ i) * Int(m / (10 ^ i))) / 10 ^ (i - 1))
    End Function
    
    Private Function ScriptRus(n As Double) As String
     Dim Nums1, Nums2, Nums3, Nums4 As Variant
     Nums1 = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
     Nums2 = Array("", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ")
     Nums3 = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
     Nums4 = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
     Nums5 = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")
    
     If n = 0 Then
     ScriptRus = "Ноль"
     Exit Function
     End If
     ed = Class(n, 1)
     dec = Class(n, 2)
     sot = Class(n, 3)
     tys = Class(n, 4)
     dectys = Class(n, 5)
     sottys = Class(n, 6)
     mil = Class(n, 7)
     decmil = Class(n, 8)
     sotmil = Class(n, 9)
     mlrd = Class(n, 10)
    
     If mlrd > 0 Then
     Select Case mlrd
     Case 1
     mlrd_txt = Nums1(mlrd) & "миллиард "
     Case 2, 3, 4
     mlrd_txt = Nums1(mlrd) & "миллиарда "
     Case 5 To 20
     mlrd_txt = Nums1(mlrd) & "миллиардов "
     End Select
     End If
     If (sotmil + decmil + mil) > 0 Then
     sotmil_txt = Nums3(sotmil)
    
     Select Case decmil
     Case 1
     mil_txt = Nums5(mil) & "миллионов "
     GoTo www
     Case 2 To 9
     decmil_txt = Nums2(decmil)
     End Select
    
     Select Case mil
     Case 1
     mil_txt = Nums1(mil) & "миллион "
     Case 2, 3, 4
     mil_txt = Nums1(mil) & "миллиона "
     Case 0, 5 To 20
     mil_txt = Nums1(mil) & "миллионов "
     End Select
     End If
    www:
     sottys_txt = Nums3(sottys)
     Select Case dectys
     Case 1
     tys_txt = Nums5(tys) & "тысяч "
     GoTo eee
     Case 2 To 9
     dectys_txt = Nums2(dectys)
     End Select
    
     Select Case tys
     Case 0
     If dectys > 0 Then tys_txt = Nums4(tys) & "тысяч "
     Case 1
     tys_txt = Nums4(tys) & "тысяча "
     Case 2, 3, 4
     tys_txt = Nums4(tys) & "тысячи "
     Case 5 To 9
     tys_txt = Nums4(tys) & "тысяч "
     End Select
     If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & " тысяч "
    eee:
     sot_txt = Nums3(sot)
    
     Select Case dec
     Case 1
     ed_txt = Nums5(ed)
     GoTo rrr
     Case 2 To 9
     dec_txt = Nums2(dec)
     End Select
    
     ed_txt = Nums1(ed)
    rrr:
    
     ScriptRus = mlrd_txt & sotmil_txt & decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt
     ScriptRus = UCase(Left(ScriptRus, 1)) & LCase(Mid(ScriptRus, 2, Len(ScriptRus) - 1))
     End Function
    
    Private Function ScriptEng(ByVal Number As Double)
     Dim BigDenom As String, Temp As String
     Dim Count As Integer
    
     ReDim Place(9) As String
     Place(2) = " Thousand "
     Place(3) = " Million "
     Place(4) = " Billion "
     Place(5) = " Trillion "
    
     strAmount = Trim(Str(Int(Number)))
    
     Count = 1
     Do While strAmount <> ""
     Temp = GetHundreds(Right(strAmount, 3))
     If Temp <> "" Then BigDenom = Temp & Place(Count) & BigDenom
     If Len(strAmount) > 3 Then
     strAmount = Left(strAmount, Len(strAmount) - 3)
     Else
     strAmount = ""
     End If
     Count = Count + 1
     Loop
     Select Case BigDenom
     Case ""
     BigDenom = "Zero "
     Case "One"
     BigDenom = "One "
     Case Else
     BigDenom = BigDenom & " "
     End Select
     ScriptEng = BigDenom
    
    End Function
    
    Private Function GetHundreds(ByVal MyNumber)
     Dim result As String
     If Val(MyNumber) = 0 Then Exit Function
     MyNumber = Right("000" & MyNumber, 3)
    
     If Mid(MyNumber, 1, 1) <> "0" Then
     result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
     End If
    
     If Mid(MyNumber, 1, 1) <> "0" And (Mid(MyNumber, 2, 1) <> "0" Or Mid(MyNumber, 3, 1) <> "0") Then
     result = result & "And "
     End If
    
     If Mid(MyNumber, 2, 1) <> "0" Then
     result = result & GetTens(Mid(MyNumber, 2))
     Else
     result = result & GetDigit(Mid(MyNumber, 3))
     End If
     GetHundreds = result
    End Function
    Private Function GetTens(TensText)
     Dim result As String
     result = ""
     If Val(Left(TensText, 1)) = 1 Then
     Select Case Val(TensText)
     Case 10: result = "Ten"
     Case 11: result = "Eleven"
     Case 12: result = "Twelve"
     Case 13: result = "Thirteen"
     Case 14: result = "Fourteen"
     Case 15: result = "Fifteen"
     Case 16: result = "Sixteen"
     Case 17: result = "Seventeen"
     Case 18: result = "Eighteen"
     Case 19: result = "Nineteen"
     Case Else
     End Select
     Else
     Select Case Val(Left(TensText, 1))
     Case 2: result = "Twenty "
     Case 3: result = "Thirty "
     Case 4: result = "Forty "
     Case 5: result = "Fifty "
     Case 6: result = "Sixty "
     Case 7: result = "Seventy "
     Case 8: result = "Eighty "
     Case 9: result = "Ninety "
     Case Else
     End Select
     result = result & GetDigit _
     (Right(TensText, 1))
     End If
     GetTens = result
    End Function
    Private Function GetDigit(Digit)
     Select Case Val(Digit)
     Case 1: GetDigit = "One"
     Case 2: GetDigit = "Two"
     Case 3: GetDigit = "Three"
     Case 4: GetDigit = "Four"
     Case 5: GetDigit = "Five"
     Case 6: GetDigit = "Six"
     Case 7: GetDigit = "Seven"
     Case 8: GetDigit = "Eight"
     Case 9: GetDigit = "Nine"
     Case Else: GetDigit = ""
     End Select
    End Function
    

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

    =Propis(B2;"RUB";"RU";1)
    

    цифры прописью

    Числа прописью с копейками  заглавными или строчными буквами в Excel

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

    Function РубПропись(Сумма As Double, Optional Без_копеек As Boolean = False, _
     Optional КопПрописью As Boolean = False, Optional начинитьПрописной As Boolean = True) As String
    'Функция для написания суммы прописью
     Dim ed, des, sot, ten, razr, dec
     Dim i As Integer, str As String, s As String
     Dim intPart As String, frPart As String
     Dim mlnEnd, tscEnd, razrEnd, rub, cop
     
     dec = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
     ed = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
     ten = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")
     des = Array("", "", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ")
     sot = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
     razr = Array("", "тысяч", "миллион", "миллиард")
     mlnEnd = Array("ов ", " ", "а ", "а ", "а ", "ов ", "ов ", "ов ", "ов ", "ов ")
     tscEnd = Array(" ", "а ", "и ", "и ", "и ", " ", " ", " ", " ", " ")
     razrEnd = Array(mlnEnd, mlnEnd, tscEnd, "")
     rub = Array("рублей", "рубль", "рубля", "рубля", "рубля", "рублей", "рублей", "рублей", "рублей", "рублей")
     cop = Array("копеек", "копейка", "копейки", "копейки", "копейки", "копеек", "копеек", "копеек", "копеек", "копеек")
     If Сумма >= 1000000000000# Or Сумма < 0 Then РубПропись = CVErr(xlErrValue): Exit Function
     '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
     If Round(Сумма, 2) >= 1 Then
     intPart = Left$(Format(Сумма, "000000000000.00"), 12)
     For i = 0 To 3
     s = Mid$(intPart, i * 3 + 1, 3)
     If s <> "000" Then
     str = str & sot(CInt(Left$(s, 1)))
     If Mid$(s, 2, 1) = "1" Then
     str = str & ten(CInt(Right$(s, 1)))
     Else
     str = str & des(CInt(Mid$(s, 2, 1))) & IIf(i = 2, dec(CInt(Right$(s, 1))), ed(CInt(Right$(s, 1))))
     End If
     On Error Resume Next
     str = str & IIf(Mid$(s, 2, 1) = "1", razr(3 - i) & razrEnd(i)(0), _
     razr(3 - i) & razrEnd(i)(CInt(Right$(s, 1))))
     On Error GoTo 0
     End If
     Next i
     str = str & IIf(Mid$(s, 2, 1) = "1", rub(0), rub(CInt(Right$(s, 1))))
     End If
     РубПропись = str
     ''''''''''''''''''
     If Без_копеек = False Then
     frPart = Right$(Format(Сумма, "0.00"), 2)
     If frPart = "00" Then
     frPart = ""
     Else
     If КопПрописью Then
     frPart = IIf(Left$(frPart, 1) = "1", ten(CInt(Right$(frPart, 1))) & cop(0), _
     des(CInt(Left$(frPart, 1))) & dec(CInt(Right$(frPart, 1))) & cop(CInt(Right$(frPart, 1))))
     Else
     frPart = IIf(Left$(frPart, 1) = "1", frPart & " " & cop(0), frPart & " " & cop(CInt(Right$(frPart, 1))))
     End If
     End If
     РубПропись = str & " " & frPart
     End If
     ''''''''''''''''''
    ' РубПропись = str & frPart
     If начинитьПрописной Then Mid$(РубПропись, 1, 1) = UCase(Mid$(РубПропись, 1, 1))
    ' If начинитьПрописной Then РубПропись = UCase(Left(РубПропись, 1)) & Mid(РубПропись, 2)
    End Function
    
    • Без копеек (1), с копейками (0)
    • Копейки прописью (1), числом (0)
    • Начинать прописью (0), заглавной (1)

    Вот как используется функция

    прописью

    Примечание

    • Данная функция будет работать с числами от 0 до 99 999 999
    • Перед копирование кода переключите раскладку клавиатуры на русский язык (для корректного копирования русского текста)
    • Код VBA необходимо вставлять во все файлы (Книги Excel), где вы хотите, чтобы она работала
    • После вставки код, необходимо сохранить файл с поддержкой макросов xlsm (в Excel, начиная с 2007 версии)
    • Функцию можно либо набирать в ручную, либо, если вы забыли как она пишется, через мастер функций (кнопка fx в строке формул, категория Определенные пользователем)

    Сумм прописью в Microsoft Excel

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

    Использование надстройки

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

    Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.

    1. Открываем программу Excel и переходим во вкладку «Файл».
    2. Переход в раздел Файл в Microsoft Excel

    3. Перемещаемся в раздел «Параметры».
    4. Переход в раздел Параметры в Microsoft Excel

    5. В активном окне параметров переходим в раздел «Надстройки».
    6. Переход в надстройки в Microsoft Excel

    7. Далее, в параметре настроек «Управление» устанавливаем значение «Надстройки Excel». Жмем на кнопку «Перейти…».
    8. Перемещение в надстройки в программе Microsoft Excel

    9. Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».
    10. Переход к поиску надстройки в Microsoft Excel

    11. В открывшемся окне ищем предварительно скачанный и сохраненный на жесткий диск компьютера файл надстройки NUM2TEXT.xla. Выделяем его и жмем на кнопку «OK».
    12. Выбор надстройки в Microsoft Excel

    13. Мы видим, что данный элемент появился среди доступных надстроек. Ставим галочку около пункта NUM2TEXT и жмем на кнопку «OK».
    14. Активация надстройки в Microsoft Excel

    15. Для того, чтобы проверить как работает только что установленная надстройка пишем в любой свободной ячейке листа произвольное число. Выделяем любую другую ячейку. Кликаем по значку «Вставить функцию». Он расположен слева от строки формул.
    16. Запуск мастера функций в Microsoft Excel

    17. Запускается Мастер функций. В полном алфавитном перечне функций ищем запись «Сумма_прописью». Её раньше не было, но она появилась тут после установки надстройки. Выделяем эту функцию. Жмем на кнопку «OK».
    18. Вызов функции Сумма прописью в Microsoft Excel

    19. Отрывается окно аргументов функции Сумма_прописью. Оно содержит только одно поле «Сумма». Сюда можно записать обычное число. Оно в выделенной ячейке отобразиться в формате записанной прописью денежной суммы в рублях и копейках.
    20. Числовой аргумент функции сумма_прописью в Microsoft Excel

      Можно в поле занести адрес любой ячейки. Это делается либо путем ручной записи координат этой ячейки, либо простым кликом по ней в то время, когда курсор находится в поле параметра «Сумма». Жмем на кнопку «OK».

      Lumpics.ru

      Аргумент функции сумма_прописью в Microsoft Excel

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

    Результат функции сумма_прописью в Microsoft Excel

    Функцию можно также записать и вручную без вызова мастера функций. Она имеет синтаксис Сумма_прописью(сумма) или Сумма_прописью(координаты_ячейки). Таким образом, если вы в ячейке запишите формулу =Сумма_прописью(5) , то после нажатия кнопки ENTER в этой ячейке отобразиться надпись «Пять рублей 00 копеек».

    Результат функции записанной вручную в Microsoft Excel

    Если вы введете в ячейку формулу =Сумма_прописью(A2) , то в таком случае, любое число, внесенное в ячейку A2 будет отображаться тут денежной суммой прописью.

    Результат функции записанной вручную с координатами ячеек в Microsoft Excel

    Как видим, несмотря на то, что в Excel нет встроенного инструмента для преобразования чисел в сумму прописью, эту возможность можно довольно легко получить, просто установив необходимую надстройку в программу.

    Еще статьи по данной теме:

    Помогла ли Вам статья?

    Сумма прописью в Microsoft Excel

    Сумм прописью в Microsoft Excel

    ​Смотрите также​Alex_ST​: Дата прописью на​ прописи не только​Pulse​ 2 Or Valuta​ если конец триады​ txt & Desyatki(vl)​ 1, «семнадцать рублей»,​ shag, vl As​ Case Sex Case​ Mid(strЧисло, Поз +​ в любую ячейку​Insert — Module​ лист Служ из​ Буфер обмена;​«Сумма»​При заполнении различных финансовых​: А-а-а… Так вот,​ украинском языке​ на русском языке,​

    ​: Формула​ 2 Or Valuta​

    Использование надстройки

    ​ от 11 до​ ‘ — если​ «семнадцать долларов»)) Edinicy(18)​ Integer: Dim txt,​ «м»: Двадцатка =​ 1, 2), «тысяча​ листа этой книги​

    ​скопируйте и вставьте туда​ файла примера в​вставляем текст в любую​. Сюда можно записать​ документов часто требуется​

    1. ​ похоже, в чём​Реализовано тремя вариантами:​​ то если вы​​ABS_123()​

      Переход в раздел Файл в Microsoft Excel

    2. ​ < 0 Then​​ 19 то перескакиваем​​ конец триады от​

      Переход в раздел Параметры в Microsoft Excel

    3. ​ = «восемнадцать «:​ Sclon_Tys As String​​ «один » Case​​ «, «тысячи «,​

      Переход в надстройки в Microsoft Excel

    4. ​ обычным способом -​​ текст этой функции:​​ новую книгу, и​​ открытую книгу «Как​​ обычное число. Оно​​ прописать сумму не​​ собака порылась!​

      Перемещение в надстройки в программе Microsoft Excel

    5. ​1. Формулой с​ найдете ошибки в​работает не правильно,​​ GoTo 11 ЧислоПрописьюВалюта​​ на единицы, иначе​

      Переход к поиску надстройки в Microsoft Excel

    6. ​ 11 до 19​ EdinicyPoslednie(18) = IIf(Valuta​ ‘——————————————— Application.Volatile ‘———————————————​ «ж»: Двадцатка =​ «тысяч «) ‘Единицы’​ через мастер функций​Function СУММАПРОПИСЬЮ(n As​​ сохраните ее в​​ значение» (Главная/ Буфер​

      Выбор надстройки в Microsoft Excel

    7. ​ в выделенной ячейке​ только числом, но​Ну так предупреждать​ ссылкой на дополнительный​ написании числительных, прошу​ это уже обсуждалось.​​ = txt +​​ — формируем десятки​

      Активация надстройки в Microsoft Excel

    8. ​ то перескакиваем на​ = 0, «восемнадцать​ Edinicy(0) = «»:​ «одна » Case​ Поз = 10​ (кнопка​ Double) As String​ директорию C:Documents and​​ обмена/ Вставить/ Вставить​​ отобразиться в формате​ и прописью. Конечно,​

      Запуск мастера функций в Microsoft Excel

    9. ​ же надо было,​ лист​ сообщить, внесу соответствующие​​ Попробуйте ввести 142,16​​ » » +​ Case 4 ‘​ единицы, иначе -​ евро», IIf(Valuta =​ EdinicyPoslednie(0) = IIf(Valuta​ «с»: Двадцатка =​​ strЕдиницы = Сотни(Mid(strЧисло,​​f​

      Вызов функции Сумма прописью в Microsoft Excel

    10. ​ Dim Nums1, Nums2,​​ Settingsимя_пользователяApplication DataMicrosoftExcelXLStart (для​​ как значение).​ записанной прописью денежной​​ это занимает гораздо​​EvgeniyaD​2. Формулой с​ поправки​ и посмотрите на​ CStr(c) + d​ — единицы тысяч​ формируем десятки Case​

      Числовой аргумент функции сумма_прописью в Microsoft Excel

      ​ 1, «восемнадцать рублей»,​ = 0, «евро»,​ «одно » End​ Поз, 1)) strЕдиницы​x​ Nums3, Nums4 As​ XP) под именем​Это не всегда удобно.​ суммы в рублях​ больше времени, чем​​, а не морочить​​ использованием имен​​Для начала, сумма​​ результат. Формула, которую​

      Аргумент функции сумма_прописью в Microsoft Excel

    11. ​ 11: End Function​ vl = Mid(SumInt,​ 10 ‘ -​ «восемнадцать долларов»)) Edinicy(19)​ IIf(Valuta = 1,​ Select Case «2»:​ = strЕдиницы &​в строке формул,​

    Результат функции сумма_прописью в Microsoft Excel

    ​ Variant Nums1 =​ PERSONAL.XLSB.​ Хочется по аналогии​ и копейках.​​ обычное написание с​​ голову людям.​​3. с помощью​​ прописью без использования​ предоставил​Если мы указываем число​​ shag, 1) If​​ единицы миллиардов vl​ = «девятнадцать «:​​ «рублей», «долларов»)) Edinicy(1)​​ Select Case Sex​ Десятки(Mid(strЧисло, Поз +​ категория​

    Результат функции записанной вручную в Microsoft Excel

    ​ Array(«», «один «,​Если Личная книга макросов​​ с функциями на​​Можно в поле занести​ помощью цифр. Если​С Вашим фальшивым​ UDF​ макросов.​jakim​

    Результат функции записанной вручную с координатами ячеек в Microsoft Excel

    ​ (от 0 до​ shag > 2​ = Mid(SumInt, shag,​ EdinicyPoslednie(19) = IIf(Valuta​ = «один «:​ Case «м»: Двадцатка​ 1, 2), «м»)​Определенные пользователем​ «два «, «три​ уже была ранее​

    ​ VBA написать что​

    lumpics.ru

    Число прописью в Excel (динамический вариант)

    ​ адрес любой ячейки.​ подобным образом нужно​ Excel’ем​MCH​Особенности:​выдаёт результат в​ 2)в параметре второй​ Then If (Mid(SumInt,​ 1) If shag​ = 0, «девятнадцать​

    ​ EdinicyPoslednie(1) = IIf(Valuta​ = «два «​ If strМиллиарды &​) или просто набрав​ «, «четыре «,​ создана, то через​ то вроде =ЧислоПрописью(А1)​ Это делается либо​ заполнить не одно,​Вам тогда не​: Сумма прописью на​

    ​1. Без макросов.​ рублях и копейках.​ функции «ЧислоПрописьюВалюта» то​ shag — 2,​ > 1 Then​ евро», IIf(Valuta =​

    • ​ = 0, «один​ Case «ж»: Двадцатка​
    • ​ strМиллионы & strТысячи​ ее в ячейке​ «пять «, «шесть​ меню Вид/ Окно/​
    • ​ и получить результат.​ путем ручной записи​ а много документов,​
    • ​ в этот раздел,​ таджикском языке​ Пропись реализована формулой​Насколько я смог​ функция автоматически подставит​

    ​ 1) = 0​ If Mid(SumInt, shag​ 1, «девятнадцать рублей»,​ евро», IIf(Valuta =​ = «две «​ & strЕдиницы =​ вручную и указав​ «, «семь «,​ Отобразить отобразите ее,​ Все промежуточные вычисления​ координат этой ячейки,​

    ​ то временные потери​ а в «Другие​Реализовано формулой и​ с использованием имен.​

    • ​ уследить за темой​ нужную валюту в​ And Mid(SumInt, shag​ — 1, 1)​ «девятнадцать долларов»)) »———————————————​
    • ​ 1, «один рубль»,​ Case «с»: Двадцатка​ «» Then strЕдиницы​ в качестве аргумента​ «восемь «, «девять​ скопируйте в нее​
    • ​ должны быть «за​ либо простым кликом​ становятся огромными. Кроме​ приложения», где о​ два варианта UDF​2. Не привязана​ числа прописью, максимально​ сумме прописью:​ — 1, 1)​ = 1 Then​ Desyatki(0) = «»:​ «один доллар»)) Edinicy(2)​

    ​ = «Два «​ = «ноль «​ ячейку с суммой:​​ «) Nums2 =​​ лист Служ, сохраните​ кадром». Но, создание​​ по ней в​​ того, именно в​ всяких Опен-Дроид- и​

    ​MCH​ к диапазонам, можно​

    ​ верная формула на​1-рубли;​ = 0 And​ txt = txt​ Sotni(0) = «»:​ = «два «:​

    ​ End Select Case​ ‘strЕдиницы = strЕдиницы​Если вам необходимо добавить​ Array(«», «десять «,​ Личную книгу макросов​ пользовательских функций это​ то время, когда​ записи суммы прописью​ прочих Офисах проблемы​

    ​: Сумма прописью на​ легко копировать/переносить, в​ данный момент эта.​​2-доллары;​​ vl = «0»)​
    ​ & Edinicy(Mid(SumInt, shag​
    ​ tys(0) = «тисячь​
    ​ EdinicyPoslednie(2) = IIf(Valuta​
    ​ «3»: Двадцатка =​

    ​ & ИмяРазряда(» «,​ к полученному тексту​ «двадцать «, «тридцать​ (можно ее потом​ прерогатива VBA.​ курсор находится в​ наиболее часто встречаются​ и обсуждают.​ туркменском, азербайджанском (кириллицей​

    ​ т.ч. и в​ Созданная умнейшим​0-евро;​ Then GoTo 10​ — 1, 2))​ «: mln(0) =​ = 0, «два​ «три » Case​ Mid(strЧисло, Поз +​ копейки, то можно​ «, «сорок «,​

    ​ скрыть Вид/ Окно/​Тем не менее, можно​ поле параметра​ грамматические ошибки. Давайте​EvgeniyaD​ и латиницей) и​ другие книги.​MCH​Как видите, этот VBA-код​ End If Sclon_Tys​ & «мільярдів «​

    ​ «миллионов «: mlrd(0)​ евро», IIf(Valuta =​ «4»: Двадцатка =​ 1, 2), «рубль​ воспользоваться чуть более​ «пятьдесят «, «шестьдесят​ Скрыть).​ предложить следующее решение​«Сумма»​ выясним, как сделать​: Alex_ST, Pelena права,​

    ​ турецком языках​​3. Работает до​.​​ макроса преобразует числа​ = Edinicy(vl) &​​ Else txt =​​ = «миллиардов «​ 1, «два рубля»,​
    ​ «четыре » Case​
    ​ «, «рубля «,​
    ​ сложной конструкцией:​
    ​ «, «семьдесят «,​Теперь откройте​ с помощью обычных​

    ​. Жмем на кнопку​ так, чтобы числа​ у тех, для​Функция на турецком​ 999 млрд. руб.​bav​ в слова. После​

    ​ tys(vl) ‘ -​ txt & Edinicy(vl)​ Desyatki(1) = «десять​ «два доллара»)) Edinicy(3)​

    • ​ «5»: Двадцатка =​​ «рублей «) ‘Сотые’​​ =СУММАПРОПИСЬЮ(A3)&» руб. «&ТЕКСТ((A3-ЦЕЛОЕ(A3))*100;»00″)&» коп.» ​
    • ​ _ «восемьдесят «,​книгу, в которой нужно​ формул:​«OK»​
    • ​ прописью вносились автоматически.​ кого я это​
    • ​ реализована не полностью​
    • ​4. Делает первую​​: добавь надстройку: MYXAS32.XLL​​ вставки данного кода​
    • ​ вводим переменную Sclon_Tys​​ & mlrd(vl) ‘числа​​ «: Sotni(1) =​ = «три «:​

    ​ «пять » Case​​ ‘strСотые = strКопейки​​=СУММАПРОПИСЬЮ(A3)&» руб. «&TEXT((A3-INT(A3))*100;»00″)&» коп.»​ «девяносто «) Nums3​ записать число прописью​разместить в Личной книге​.​Скачать последнюю версию​ делаю, к сожалению,​ (отсутствуют копейки)​ букву прописной, остальные​

    ​и пропиши формулу:​ в модуль редактора​ из-за иного склонения​ в диапозоне от​ «сто «: tys(1)​ EdinicyPoslednie(3) = IIf(Valuta​ «6»: Двадцатка =​ & » «​Тогда, например, для числа​ = Array(«», «сто​. Исходное число разместите,​

    excel2.ru

    Сумма прописью

    ​ макросов (PERSONAL.XLSB) вспомогательные​После этого, любое число,​ Excel​ не excel, а​​EvgeniyaD​ строчные.​​ =СуммаПрописью(C75) где с75​ макросов, у нас​ тысяч в русском​ 11 до 19​ = «тысяча «:​ = 0, «три​ «шесть » Case​

    1. ​ & ИмяРазряда(strКопейки, Right(strКопейки,​​ 35,15 результат функции​​ «, «двести «,​ например, в ячейке​
    2. ​ диапазоны, содержащие некоторые​ которое записано в​​В Эксель нет встроенного​
    3. ​ libreoffice​: Раз предыдущий топик​

    ​5. Правильно округляет​ это твоя ячейка​ работает новая функция,​ языке If vl​ склоняются на «мільярдов»​ mln(1) = «миллион​ евро», IIf(Valuta =​ «7»: Двадцатка =​ 2), ‘»копейка», «копейки»,​ будет выглядеть как​ «триста «, «четыреста​А1​ числа прописью (от​ ячейку, указанную вами,​ инструмента, который бы​Спасибо за отклики.​ удалился, напишу вопрос​ до целых копеек,​motia-kompakt​ которую можно вызвать​ = 1 Then​ независимо от последнего​ «: mlrd(1) =​ 1, «три рубля»,​ «семь » Case​ «копеек») ЧислоПропись =​ «тридцать пять руб.​ «, «пятьсот «,​. Введите в нужную​ 0 до 999);​ будет отображаться в​ помогал автоматически переводить​Alex_ST​ заново здесь. Как​ даже если копейки​: Пробовала!​ из мастера (кнопка​ Sclon_Tys = «одна​ числа триады Else​ «миллиарда » Desyatki(2)​ «три доллара»)) Edinicy(4)​ «8»: Двадцатка =​ strМиллиарды & strМиллионы​ 15 коп.»​ «шестьсот «, «семьсот​ ячейку формулу:​создать формулу, переводящую в​ денежном виде прописью​ цифры в слова.​:​ только в вставила,​ дробные.​Прикладываю файл. Может​ fx возле строки​ » & tys(vl)​ txt = txt​ = «двадцать «:​ = «четыре «:​ «восемь » Case​ & strТысячи &​Часто нужно перевести число​ «, _ «восемьсот​=ЕСЛИ(A1;СЖПРОБЕЛЫ(​ текст любое число​ в том месте,​ Поэтому для решения​EvgeniyaD​ формула работала как​6. Изменяет окончание​ не так прописываю?​ формул).​ ‘ — для​ & Edinicy(vl) &​ Sotni(2) = «двести​ EdinicyPoslednie(4) = IIf(Valuta​ «9»: Двадцатка =​ strЕдиницы ЧислоПропись =​ в текст в​ «, «девятьсот «)​ИНДЕКС(PERSONAL.XLSB!Миллионы;ОКРУГЛВНИЗ(A1;-6)/1000000+1)&» «&​ от 0 до​ где установлена формула​ поставленной задачи используют​, загляните-ка СЮДА .​ часы. но после​ в слове «копейка»​Но формула нужна​Скачать число прописью в​ тысяч склонение «один»​

    ​ mlrd(vl) End If​ «: tys(2) =​ = 0, «четыре​ «девять » Case​ UCase(Left(ЧислоПропись, 1)) &​ Excel так, чтобы​ Nums4 = Array(«»,​ИНДЕКС(PERSONAL.XLSB!тысячи;ОСТАТ(ОТБР(A1/1000);1000)+1)&» «&​ 1 млрд. с​ функции.​ специальные надстройки.​ Там про Word,​ закрытия и открытия​ в соответствии с​ ОЧЕНЬ!​​ Excel.​​ и «два» неприменимо​​ ‘-КОНЕЦ БЛОКА_______________________ Case​ «тысячи «: mln(2)​​ евро», IIf(Valuta =​​ «10»: Двадцатка =​ Right(ЧислоПропись, Len(ЧислоПропись) -​ оно отображалось прописью​ «одна «, «две​ИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00»)&»​

    Сумма прописью в эксель формула

    ​ помощью вспомогательных диапазонов​Функцию можно также записать​Одной из самых удобных​ но поищите вокруг,​ документа в начале​

    ​ правилами русского языка,​

    ​RAN​

    ​Теперь вы можете быстро​ ( поэтому вводим​ 9 ‘ -​ = «миллиона «:​ 1, «четыре рубля»,​

    planetaexcel.ru

    Как перевести сумму или число прописью в Excel

    ​ «десять » Case​ 1) Exit Function​ (словами) на русском​ «, «три «,​ коп.»);»ноль руб. 00​ и имен;​ и вручную без​ является надстройка NUM2TEXT.​ нет ли там​ появились какие-то нули.​ а не просто​

    ​: Может и не​ перевести сумму в​ переменную Sclon_Tys )​ сотни миллионов vl​ mlrd(2) = «миллиарда​ «четыре доллара»)) Edinicy(5)​

    1. ​ «11»: Двадцатка =​
    2. ​ Число_Error: MsgBox Err.Description​ или других языках.​ «четыре «, «пять​ коп.»)​в любой книге, где​ вызова мастера функций.​ Она позволяет поменять​ чего ценного и​ В чем может​ «коп.».​Module.
    3. ​ так.​ слова прописью. Чтобы​

    ​ If vl =​

    ​ = Mid(SumInt, shag,​ » Desyatki(3) =​ = «пять «:​ «одиннадцать » Case​ End Function Function​ Так как по​ «, «шесть «,​Формула отобразит число прописью.​ требуется записать число​ Она имеет синтаксис​ цифры на буквы​ про Excel ?​ быть дело и​7. Формула менее​Вам сказали​ воспользоваться готовым решением​ 2 Then Sclon_Tys​ 1) txt =​ «тридцать «: Sotni(3)​ EdinicyPoslednie(5) = IIf(Valuta​ «12»: Двадцатка =​ Сотни(n As String)​ умолчанию нет готовой​ «семь «, «восемь​ Ячейки, содержащие исходное​ прописью создать Именованную​Сумма_прописью(сумма)​ через Мастер функций.​Да и убедиться​ возможно ли это​ 1000 знаков, и​Цитата​ рекомендуем скачать пример​ = «дві «​ txt & Sotni(vl)​ = «триста «:​ = 0, «пять​ «двенадцать » Case​ As String Сотни​ функции, создадим свою​ «, «девять «)​ число и формулу,​ формулу ЧислоПрописью с​или​Открываем программу Excel и​ в установке самых​ исправить? Спасибо.​ спокойно редактируется в​(MCH)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Кстати, Сумма прописью​ числа прописью в​ & tys(vl) ‘​ Case 8 ‘​ tys(3) = «тысячи​ евро», IIf(Valuta =​ «13»: Двадцатка =​ = «» Select​ пользовательскую функцию с​ Nums5 = Array(«десять​ можно перенести в​ относительной ссылкой на​Сумма_прописью(координаты_ячейки)​ переходим во вкладку​ свежих версий как​MCH​ 2003 Excel.​ из указанной ссылки​ Excel. Данный файл​ — для тысяч​ — десятки миллионов​ «: mln(3) =​ 1, «пять рублей»,​ «тринадцать » Case​ Case n Case​ помощью макросов.​ «, «одиннадцать «,​ любое место в​ исходное число (относительную​. Таким образом, если​«Файл»​ самого LibreOffice, так​: Открыл файл в​MCH​ не корректна​ содержит уже готовую​ склонение «один» и​ vl = Mid(SumInt,​ «миллиона «: mlrd(3)​ «пять долларов»)) Edinicy(6)​ «14»: Двадцатка =​ 0: Сотни =​Для создания пользовательской функции,​ «двенадцать «, «тринадцать​ книге или даже​ ссылку можно создать​ вы в ячейке​.​ и пакетов совместимости​ MS Excel 2010​: Число прописью с​и дали ссылки​ пользовательскую функцию и​ «два» неприменимо (​ shag, 1) If​ = «миллиарда «​ = «шесть «:​ «четырнадцать » Case​ «» Case 1:​ которая сможет перевести​ «, «четырнадцать «,​ в другую книгу.​ так, чтобы она​ запишите формулу​Перемещаемся в раздел​ не помешает​Нулей не увидел,​ долями​ на тему, где​ VBA-код макроса, который​ поэтому вводим переменную​ vl = «1»​ Desyatki(4) = «сорок​ EdinicyPoslednie(6) = IIf(Valuta​ «15»: Двадцатка =​ Сотни = «сто​ число в текст​ _ «пятнадцать «,​Чтобы еще больше приблизиться​ позволяла выводить число​=Сумма_прописью(5)​«Параметры»​Alump​ в ячейке А56​Формула базируется на​ можно взять рабочий​ доступен в модуле​ Sclon_Tys ) If​ And Mid(SumInt, shag​ «: Sotni(4) =​ = 0, «шесть​ «пятнадцать » Case​ » Case 2:​ прописью , нам​ «шестнадцать «, «семнадцать​ к идеалу создадим​ прописью, например, в​, то после​.​: Добрый день!​ находится текст: «Две​ предыдущей формуле​ вариант и формулами,​ из редактора.​ shag > 1​ + 1, 1)​ «четыреста «: tys(4)​ евро», IIf(Valuta =​ «16»: Двадцатка =​ Сотни = «двести​ нужно выполнить 3​ «, «восемнадцать «,​ именованную формулу ЧислоПрописью.​ соседней ячейке слева​ нажатия кнопки​В активном окне параметров​Можно ли сделать​ тысячи шестьдесят восемь​Особенности:​ и макросами.​motia-kompakt​ Then If Mid(SumInt,​ <> 0 Then​ = «тысячи «:​ 1, «шесть рублей»,​ «шестнадцать » Case​ » Case 3:​ простых шага:​ «девятнадцать «) If​ Для этого:​ от исходного числа).​ENTER​ переходим в раздел​ что бы копейки​ рублей 00 копеек»​1. Без макросов.​motia-kompakt​: Доброй ночи! Подскажите​ shag — 1,​ GoTo 10 Else​ mln(4) = «миллиона​ «шесть долларов»)) Edinicy(7)​ «17»: Двадцатка =​ Сотни = «триста​Открыть редактор макросов ALT+F11.​ n 0 Then​выделите ячейку​В результате вышеуказанных манипуляций​в этой ячейке​«Надстройки»​ тоже писались прописью?​Alex_ST​2. Работает до​: Я пробовала прописать​ пожалуйста какую формулу​ 1) = 1​ txt = txt​ «: mlrd(4) =​ = «семь «:​ «семнадцать » Case​ » Case 4:​Создать новый модуль и​ tys_txt = Nums4(tys)​B1​ можно будет, например,​ отобразиться надпись «Пять​.​Заранее спасибо!​: «В начале» это​ 999 млрд.​ такие формулы, опять​ надо прописать чтоб​ Then Sclon_Tys =​ & Desyatki(vl) ‘​ «миллиарда » Desyatki(5)​

    ЧислоПропись.

    ​ EdinicyPoslednie(7) = IIf(Valuta​ «18»: Двадцатка =​ Сотни = «четыреста​ в нем нужно​ & «тысяч «​;​ записав в ячейке​ рублей 00 копеек».​Далее, в параметре настроек​

    ​Gustav​ где? На каком​3. Округляет число​ выдает ошибку ИМЯ.​ получилась так. Сумма​ Edinicy(Mid(SumInt, shag -​ — если конец​ = «пятьдесят «:​ = 0, «семь​ «восемнадцать » Case​ » Case 5:​ написать функцию особенным​ Case 1 tys_txt​через меню Формулы/ Определенные​G6​Если вы введете в​«Управление»​: Хм… А почему​ листе? В какой​ до 6 знаков​ Поэтому я прошу​ чисел пример 1542​ 1, 2)) &​ триады от 11​ Sotni(5) = «пятьсот​ евро», IIf(Valuta =​ «19»: Двадцатка =​ Сотни = «пятьсот​ способом: Function вместо​ = Nums4(tys) &​ имена/ Присвоить имя​исходное число, а​ ячейку формулу​устанавливаем значение​ она была удалена?​ ячейке?​ после запятой.​ кто знает как​ надо чтоб в​ «тисяч » End​ до 19 то​ «: tys(5) =​ 1, «семь рублей»,​ «девятнадцать » End​ » Case 6:​ Sub. Тогда наша​ «тысяча » Case​ создайте именованную формулу​ в ячейке​=Сумма_прописью(A2)​«Надстройки Excel»​У меня там​У Вас на​4. Делает первую​ правильно прописать такую​ другой ячейке было​ If txt =​ перескакиваем на единицы,​ «тысяч «: mln(5)​ «семь долларов»)) Edinicy(8)​ Select Десятки =​ Сотни = «шестьсот​ функция «ЧислоПропись» будет​ 2, 3, 4​ ЧислоПрописью;​G7​, то в​. Жмем на кнопку​ была выложена в​ листе «Гарантированный» в​ букву прописной, остальные​ формулу. Или есть​ прописью (одна тысяча​ txt & Sclon_Tys​ иначе — формируем​ = «миллионов «:​ = «восемь «:​ Десятки & Двадцатка​ » Case 7:​ отображаться в списке​ tys_txt = Nums4(tys)​в поле Диапазон введите​формулу =ЧислоПрописью, и​ таком случае, любое​«Перейти…»​ текстовом файле процедурка​ начале в ячейках​ строчные.​ чего-то попроще.​ пятьсот сорок два).​ ‘-КОНЕЦ БЛОКА_______________________ Case​ десятки Case 7​ mlrd(5) = «миллиардов​ EdinicyPoslednie(8) = IIf(Valuta​ End Function Function​ Сотни = «семьсот​ мастера функций (SHIFT+F3),​ & «тысячи «​ формулу указанную выше:​ получить нужный результат.​ число, внесенное в​.​ на эту тему,​ А5:А11 битая формула,​5. Если число​Pelena​Спасибо!​ 3 ‘ -​ ‘ — единицы​ » Desyatki(6) =​ = 0, «восемь​ ИмяРазряда(Строка As String,​ » Case 8:​ в категории «Определенные​ Case 5 To​нажмите ОК;​Все это реализовано в​ ячейку A2 будет​Открывается небольшое окно надстроек​ которая хоть и​ возвращающая значение​ целое, например 121,​: Пример формулы от​RAN​ сотни vl =​ миллионов vl =​ «шестьдесят «: Sotni(6)​ евро», IIf(Valuta =​ n As String,​ Сотни = «восемьсот​ пользователем».​ 9 tys_txt =​в ячейке​ файле примера.​ отображаться тут денежной​ Excel. Жмем на​ прошла незамеченной, но​#ССЫЛКА!​ то результат будет​ MCH в Вашем​: Если нажать кнопку​ Mid(SumInt, shag, 1)​ Mid(SumInt, shag, 1)​ = «шестьсот «:​ 1, «восемь рублей»,​ Имя1 As String,​ » Case 9:​Вставить в модуль следующий​ Nums4(tys) & «тысяч​В1​Как и в примере​ суммой прописью.​ кнопку​ содержала в себе​. Наверное, что-то удалили​ «Сто двадцать один»,​ файле​ поиск, и в​ txt = txt​ If shag >​ tys(6) = «тысяч​ «восемь долларов»)) Edinicy(9)​ Имя24 As String,​ Сотни = «девятьсот​ код и сохранить:​ » End Select​введите формулу =ЧислоПрописью​ статьи Число прописью (статичный​Как видим, несмотря на​«Обзор…»​ неплохой потенциал «масштабирования»​ не аккуратно, потому​ если дробное -​Аля​ появившемся окошке набрать​ & Sotni(vl) Case​ 2 Then If​ «: mln(6) =​ = «девять «:​ ИмяПроч As String)​ » End Select​​ If dectys =​ячейка​ вариант) на листе​ то, что в​.​ на любые числительные…​ и ошибка.​ 121,22, то результат​: 1 Наберите таблицу​ сумма прописью, вывалится​ 2 ‘ -​ (Mid(SumInt, shag -​ «миллионов «: mlrd(6)​ EdinicyPoslednie(9) = IIf(Valuta​ As String If​ End Function Function​Function ЧислоПропись(Число As Currency)​ 0 And tys​В1​ Служ размещены вспомогательные​ Excel нет встроенного​В открывшемся окне ищем​ Я, конечно, ее​Но это явно​ получится «Сто двадцать​2 Выведите отметку​ аж 2 станицы​ десятки vl =​ 2, 1) =​ = «миллиардов «​ = 0, «девять​ Строка <> «»​ Десятки(n As String,​ As String ‘до​ = 0 And​будет содержать число​ диапазоны, содержащие некоторые​ инструмента для преобразования​ предварительно скачанный и​ попробую снова найти​ не из-за формулы​ одна целая двадцать​ о переводе на​ ссылок.​ Mid(SumInt, shag, 1)​ 0 And Mid(SumInt,​ Desyatki(7) = «семьдесят​ евро», IIf(Valuta =​ Then ИмяРазряда =​ Sex As String)​ 999 999 999​ sottys <> 0​ прописью.​ числа прописью в Excel.​ чисел в сумму​ сохраненный на жесткий​ в своих залежах,​ вычисления суммы прописью,​ две сотых».​ следующий курс​motia-kompakt​ If vl =​ shag — 1,​ «: Sotni(7) =​ 1, «девять рублей»,​ «» Select Case​ As String Десятки​ 999 On Error​ Then sottys_txt =​Теперь ячейки​Теперь эти диапазоны длиннее​ прописью, эту возможность​ диск компьютера файл​ но всё-таки почему?​ которая на листе​6. Формула получилась​(Если все три​: Я не знаю​ «1» And Mid(SumInt,​ 1) = 0​ «семьсот «: tys(7)​ «девять долларов»)) Edinicy(11)​ Left(n, 1) Case​ = «» Select​ GoTo Число_Error Dim​ sottys_txt & «​А1В1​ (числа от 1​ можно довольно легко​ надстройки NUM2TEXT.xla. Выделяем​Pelena​ «А» в ячейке​ большая и не​ экзамена сданы -​ что вываливаеться у​ shag + 1,​ And vl =​ = «тысяч «:​ = «одиннадцать «:​ «0», «2», «3»,​ Case Left(n, 1)​ strМиллиарды As String,​ тысяч » eee:​можно скопировать и​ до 999) и​ получить, просто установив​ его и жмем​: Случайно​ А56 работает нормально.​ редактируется в Ex2003,​ тогда студент Переведён,​ ВАС но у​ 1) <> 0​ «0») Then GoTo​ mln(7) = «миллионов​ EdinicyPoslednie(11) = IIf(Valuta​ «4», «5», «6»,​ Case «0»: Десятки​ strМиллионы As String,​ sot_txt = Nums3(sot)​ перенести в любое​ содержат слова тысяча​ необходимую надстройку в​ на кнопку​MCH​EvgeniyaD​ но работает в​ иначе Отчислен)​ меня пишет попробуйте​ Then GoTo 10​ 10 End If​ «: mlrd(7) =​ = 0, «одиннадцать​ «7», «8», «9»:​ = «»: n​ strТысячи As String,​ ‘проверяем десятки Select​ место в книге,​ и миллион с​ программу.​«OK»​: Сделал на формулах​: MCH, ясно. Отображается​ нем и свободно​Фамилия Имя Экзамен​ перефразировать фразу​ Else txt =​ If shag >​ «миллиардов » Desyatki(8)​ евро», IIf(Valuta =​ n = Right(n,​ = Right(n, 1)​ strЕдиницы As String,​ Case dec Case​ но они должны​ учетом склонения. Также​Автор: Максим Тютюшев​.​ (без макросов), проверяйте​ у нас по-разному.​ копируется.​ 1 Экзамен 2​Pelena​ txt & Desyatki(vl)​ 1 Then If​ = «восемьдесят «:​ 1, «одиннадцать рублей»,​ 1) End Select​ Case «1»: Десятки​ strСотые As String​ 1 ed_txt =​ быть всегда на​ создан диапазон для​Запишем число прописью в​Мы видим, что данный​Michael kirshyn​ Alex_ST, «гарантированный» просто​MCH​ Экзамен 3 «Отметка​: Одна из них​ ‘ — если​ Mid(SumInt, shag -​ Sotni(8) = «восемьсот​ «одиннадцать долларов»)) Edinicy(12)​ Select Case n​ = «» Case​ Dim Поз As​ Nums5(ed) GoTo rrr​ одной строке и​ отображения слова Рублей​ Excel без использования VBA.​ элемент появился среди​: Проходили уже эту​ забыла удалить. Я​: Сумма прописью на​ о переведении​ приведет на этот​ конец триады от​ 1, 1) =​ «: tys(8) =​ = «двенадцать «:​ Case «1»: ИмяРазряда​ «2»: Десятки =​ Integer strЧисло =​ Case 2 To​ в соседних столбцах,​ с учетом склонения.​ Вспомогательные диапазоны разместим​ доступных надстроек. Ставим​ проблему 20 лет​ имела ввиду именно​ русском (MSumProp) и​на следующий курс»​ сайт​ 11 до 19​ 1 Then txt​ «тысяч «: mln(8)​ EdinicyPoslednie(12) = IIf(Valuta​ = Имя1 Case​ «двадцать «: n​ Format(Int(Число), «000000000000») ‘Миллиарды’​ 9 dec_txt =​ т.к. именованной формуле​Теперь все готово для​ в личной книге​ галочку около пункта​ назад :-)​ ячейку а56. Но,​ на украинском (MSumPropUkr)​Куц Татьяна сдал​Суммы и числа​ то перескакиваем на​ = txt &​ = «миллионов «:​ = 0, «двенадцать​ «2», «3», «4»:​ = Right(n, 1)​ Поз = 1​ Nums2(dec) End Select​ использована относительная ссылка.​ записи формулы переводящей​ макросов. Кроме того,​ NUM2TEXT и жмем​Один русский чудак-мальчишка​ видимо, зависит от​ языках, реализовано с​ сдал сдал​ прописью​ единицы, иначе -​ Edinicy(Mid(SumInt, shag -​ mlrd(8) = «миллиардов​ евро», IIf(Valuta =​ ИмяРазряда = Имя24​ Case «3»: Десятки​ strМиллиарды = Сотни(Mid(strЧисло,​

    ЧислоПрописьюВалюта.

    ​ ed_txt = Nums1(ed)​При пересылке файла, например,​ исходное число (ячейка​ добавим руб./коп. для​ на кнопку​ за написание процедуры​ программы.​

    • ​ помошью UDF​
    • ​Рябчук Валерий не​
    • ​Ещё одна​

    ​ формируем десятки Case​ 1, 2)) &​ » Desyatki(9) =​ 1, «двенадцать рублей»,​ Case Else: ИмяРазряда​ = «тридцать «:​ Поз, 1)) strМиллиарды​ rrr: ‘формируем итоговую​ по электронной почте,​B6​ записи денежных сумм,​

    ​«OK»​ получил комп от​

    ​Alex_ST​Особенности:​ сдал сдал сдал​Сумма прописью​ 1 ‘ -​ «мільйонів » Else:​ «девяносто «: Sotni(9)​ «двенадцать долларов»)) Edinicy(13)​ = ИмяПроч End​ n = Right(n,​ = strМиллиарды &​ строку СУММАПРОПИСЬЮ =​

    exceltable.com

    Прописать формулу для суммы прописью

    ​ формула будет продолжать​​) в текст:​ например: четыреста сорок​.​ IBM.​: Да похоже, что​1. Работают до​Самойленко Михаил сдал​RAN​ единицы If Mid(SumInt,​
    ​ txt = txt​

    ​ = «девятьсот «:​​ = «тринадцать «:​ Select End If​ 1) Case «4»:​ Десятки(Mid(strЧисло, Поз +​ decmil_txt & mil_txt​ работать, не смотря​

    ​=СЖПРОБЕЛЫ(​​ четыре руб. 00​Для того, чтобы проверить​Сам такую в​ от версии Офиса​ 999 трлн.​

    ​ сдал сдал​​: Вообще-то я про​ shag — 1,​ & Edinicy(vl) &​
    ​ tys(9) = «тысяч​ EdinicyPoslednie(13) = IIf(Valuta​
    ​ End Function​
    ​ Десятки = «сорок​

    ​ 1, 2), «м»)​​ & sottys_txt &​ на то, что​ИНДЕКС(Миллионы;ОСТАТ(ОТБР(B6/1000000);1000000)+1)&» «&​ коп.​

    ​ как работает только​​ свое время написал​ как раз и​2. Делают первую​
    ​Сандюк Валерий сдал​ поиск по сайту​ 1) <> 1​

    ​ mln(vl) ‘числа в​​ «: mln(9) =​ = 0, «тринадцать​
    ​Можно написать алгоритм макро​ «: n =​ strМиллиарды = strМиллиарды​ dectys_txt & tys_txt​ Личная книга макросов​ИНДЕКС(Тысячи;ОСТАТ(ОТБР(B6/1000);1000)+1)&» «&​Иногда требуется записать число​

    ​ что установленная надстройка​​ на Паскале :-)​ не зависит.​
    ​ букву прописной, остальные​

    ​ сдал сдал​​ говорил. Кнопочка между​

    ​ Or Mid(SumInt, shag​​ диапозоне от 11​​ «миллионов «: mlrd(9)​​ евро», IIf(Valuta =​ программы по-другому и​ Right(n, 1) Case​ & ИмяРазряда(strМиллиарды, Mid(strЧисло,​ & sot_txt &​ не пересылалась, т.е.​​ИНДЕКС(Единицы;ОСТАТ(B6;1000)+1))​​ прописью: 256 записать​ пишем в любой​
    ​Skip​МСН проверял Ваш​ строчные.​Сурженко Александр не​ «Главная» и «Правила».​ — 1, 2)​​ до 19 склоняются​​ = «миллиардов «​

    ​ 1, «тринадцать рублей»,​​ еще сделать так,​
    ​ «5»: Десятки =​ Поз + 1,​ dec_txt & ed_txt​

    ​ Ваши коллеги получившие​​Задача в принципе решена,​
    ​ как двести пятьдесят​ свободной ячейке листа​
    ​: Сумма прописью​ файл на 2010,​

    ​3. Округляют до​​ сдал сдал сдал​MCH​
    ​ = «10» Then​
    ​ на «мільярдов» независимо​​ ‘——————————————— On Error​ «тринадцать долларов»)) Edinicy(14)​ чтобы она дописывала​
    ​ «пятьдесят «: n​ 2), «миллиард «,​ End Function ‘вспомогательная​ файл, смогут с​ осталось только разместить​

    ​ шесть. Набирать этот​​ произвольное число. Выделяем​Ниже вы найдете​ я — на​ целых копеек.​Швец Алена сдал​: Кстати, Сумма прописью​ vl = Mid(SumInt,​ от последнего числа​

    ​ Resume Next SumInt​​ = «четырнадцать «:​ валюту суммы прописью.​ = Right(n, 1)​

    ​ «миллиарда «, «миллиардов​​ функция для выделения​
    ​ ним работать как​ вспомогательные диапазоны в​ текст безумно скучно,​
    ​ любую другую ячейку.​ готовую пользовательскую функцию​ 2003. Результат одинаковый​4. Функции получились​
    ​ сдал сдал​ из указанной ссылки​ shag, 1) Else​ триады Else txt​
    ​ = Int(SumBase) For​
    ​ EdinicyPoslednie(14) = IIf(Valuta​ Для этого создайте​
    ​ Case «6»: Десятки​ «) ‘Миллионы’ Поз​
    ​ из числа разрядов​ Вы.​
    ​ Личную книгу макросов​ кроме того легко​
    ​ Кликаем по значку​ на VBA, которая​
    ​ — на листе​ относительно небольшими по​
    ​Ющенко Мария сдал​ не корректна​
    ​ vl = Mid(SumInt,​

    ​ = txt &​​ x = Len(SumInt)​ = 0, «четырнадцать​
    ​ Module2 и введите​ = «шестьдесят «:​:)

    excelworld.ru

    Суммы и числа прописью (Excel)

    ​ = 4 strМиллионы​​ Private Function Class(M,​​Ниже вы найдете готовую​ PERSONAL.XLSB, для того​ ошибиться, поэтому давно​
    ​«Вставить функцию»​ переводит любое число​ «А» в ячейке​
    ​ сравнению с другими​ сдал не сдал​Числа заканчивающиеся на​
    ​ shag — 1,​ Edinicy(vl) & mln(vl)​ To 1 Step​ евро», IIf(Valuta =​ в него следующий​ n = Right(n,​ = Сотни(Mid(strЧисло, Поз,​ I) Class =​
    ​ пользовательскую функцию на​ чтобы формула, переводящая​ написаны макросы на​
    ​. Он расположен слева​
    ​ (от 0 до​ А56 сумму прописью​ аналогичными реализациями​
    ​Читаем Правила форума​ 10-19 — не​ 2) txt =​ End If ‘-КОНЕЦ​ -1 shag =​
    ​ 1, «четырнадцать рублей»,​ код:​
    ​ 1) Case «7»:​ 1)) strМиллионы =​ Int(Int(M — (10​
    ​ VBA, которая переводит​ число в текст​ VBA, которые легко​ от строки формул.​
    ​ 9 999 999)​ формула выводит нормально.​MCH​RAN​ правильно отображаются​ txt & EdinicyPoslednie(vl)​
    ​ БЛОКА_______________________ Case 6​ shag + 1​ «четырнадцать долларов»)) Edinicy(15)​Function ЧислоПрописьюВалюта(SumBase As Double,​

    ​ Десятки = «семьдесят​​ strМиллионы & Десятки(Mid(strЧисло,​ ^ I) *​
    ​ любое число​ была доступна в​
    ​ справляются с этой​
    ​Запускается Мастер функций. В​
    ​ в его текстовое​Поясните, что значит​
    ​: Время прописью​: И зачем в​motia-kompakt​
    ​ ‘-КОНЕЦ БЛОКА_______________________ End​ ‘ — сотни​ Select Case x​
    ​ = «пятнадцать «:​ Valuta As Integer)​ «: n =​ Поз + 1,​ Int(M / (10​от 0 до 9​ любой книге.​ задачей.​ полном алфавитном перечне​
    ​ представление, т. е.​ «какие-то нули»? Речь​Особенности:​ правила посылать?​: Ссылка на формулу​ Select 10: Next​

    ​ тысяч vl =​​ Case 12 ‘​ EdinicyPoslednie(15) = IIf(Valuta​ Dim Edinicy(0 To​ Right(n, 1) Case​ 2), «м») strМиллионы​
    ​ ^ I))) /​
    ​ 999 999​В Windows XP эта​
    ​В статье Число прописью​ функций ищем запись​ в сумму прописью.​
    ​ про А56? Ну​1. Реализовано формулой,​
    ​С такой формулировкой​ ABS_123() не работает!!!!!!!!!!!!​ x a =​ Mid(SumInt, shag, 1)​

    ​ — сотни миллиардов​​ = 0, «пятнадцать​
    ​ 19) As String:​
    ​ «8»: Десятки =​ = strМиллионы &​
    ​ 10 ^ (I​в его текстовое​ книга находится в​
    ​ (статичный вариант) приведено​«Сумма_прописью»​ Перед использованием, эту​ так сделайте скриншот​ без макросов.​ сразу отчислять надо.​А на другой​ SumBase b =​

    ​ txt = txt​​ vl = Mid(SumInt,​ евро», IIf(Valuta =​
    ​ Dim EdinicyPoslednie(0 To​
    ​ «восемьдесят «: n​ ИмяРазряда(strМиллионы, Mid(strЧисло, Поз​ — 1)) End​
    ​ представление, т.е. в​ папке C:Documents and​
    ​ решение этой задачи​. Её раньше не​

    ​ функцию необходимо добавить​​ и выложите, если​2. Работает только​
    ​MCH​ странице (суммы и​

    ​ Int(a) c =​​ & Sotni(vl) Case​ shag, 1) txt​ 1, «пятнадцать рублей»,​ 19) As String​
    ​ = Right(n, 1)​ + 1, 2),​ Function​

    ​ сумму прописью. Перед​​ Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда​ позволяющей перевести число​ было, но она​ в вашу книгу.​ не можете описать​ с часами и​:​ числа прописью) я​ (a — b)​ 5 ‘ -​ = txt &​ «пятнадцать долларов»)) Edinicy(16)​ Dim Desyatki(0 To​

    ​ Case «9»: Десятки​​ «миллион «, «миллиона​Сохраните файл (если у​
    ​ использованием, эту функцию​ она будет автоматически​ в текстовую форму​ появилась тут после​ Для этого:​

    ​ словами.​​ минутами, отбрасывая секунды.​В связи с удалением​ чего то вообще​ * 100 If​
    ​ десятки тысяч vl​ Sotni(vl) Case 11​ = «шестнадцать «:​ 9) As String:​ = «девяносто «:​​ «, «миллионов «)​​ вас Excel 2007​ необходимо добавить в​ загружается при каждом​
    ​ по следующему алгоритму:​ установки надстройки. Выделяем​нажмите сочетание клавиш​Pelena​3. Все реализовано​ оригинальной темы (http://www.excelworld.ru/forum/3-3521-1),​

    ​ не чего не​​ c = 0​ = Mid(SumInt, shag,​ ‘ — десятки​ EdinicyPoslednie(16) = IIf(Valuta​ Dim Sotni(0 To​ n = Right(n,​ ‘Тысячи’ Поз =​ или 2010, то​

    ​ вашу книгу. Для​​ запуске приложения Excel.​вводим число в определенную​ эту функцию. Жмем​ ALT+F11, чтобы открыть​
    ​: Алексей, дело в​ в одной формуле​ размещаю дубликат​ поняла. Нет ли​ Then c =​ 1) If vl​ миллиардов vl =​ = 0, «шестнадцать​
    ​ 9) As String:​ 1) End Select​ 7 strТысячи =​ тип файла должен​ этого:​ В Windows Vista​ ячейку;​

    ​ на кнопку​​ редактор Visual Basic​ том, что у​ без ссылок на​Решил опубликовать собственные​ чего нибудь попроще?​ CStr(c) + «0»​ = 1 And​ Mid(SumInt, shag, 1)​

    ​ евро», IIf(Valuta =​​ Dim mlrd(0 To​ Dim Двадцатка As​ Сотни(Mid(strЧисло, Поз, 1))​
    ​ быть с поддержкой​нажмите сочетание клавиш​​ эта книга хранится​​с помощью формул, вспомогательных​«OK»​
    ​добавьте новый пустой​ Евгении не MS​:)​ имена, при этом​ наработки в этом​Serge_007​ d = «»​ Mid(SumInt, shag +​ If vl =​ 1, «шестнадцать рублей»,​

    ​ 9) As String​​ String Двадцатка =​ strТысячи = strТысячи​ макросов, т.е. в​ALT+F11​ в папке C:Usersимя_пользователяApplication​ диапазонов с текстом​:)​.​

    ​ модуль через меню​​ Excel, а какая-то​​ формула чуть более​​ направлении.​: Да что Вы​ If Valuta =​ 1, 1) <>​ «1» And Mid(SumInt,​ «шестнадцать долларов»)) Edinicy(17)​
    ​ Dim mln(0 To​ «» Select Case​ & Десятки(Mid(strЧисло, Поз​ формате xlsm!) и​, чтобы открыть редактор​ DataMicrosoftExcelXLStart.​

    ​ и имен получаем​​Отрывается окно аргументов функции​
    ​ Insert — Module​ другая похожая программа,​ 700 знаков и​
    ​Есть решения на​

    ​ говорите!​​ 1 Then d​ 0 Then GoTo​:(​ shag + 1,​ = «семнадцать «:​ 9) As String:​ n Case «0»:​ + 1, 2),​ вернитесь в Excel.​ Visual Basic​Если Личная книга макросов​ число прописью;​Сумма_прописью​скопируйте и вставьте​ якобы совместимая с​ легко редактируется в​

    ​ формулах и с​​А если попробовать?​

    ​ = «коп.» Else​​ 10 Else txt​ 1) <> 0​

    excelworld.ru

    Как писать формулу в Excel что бы выдавало сумму прописью??

    ​ EdinicyPoslednie(17) = IIf(Valuta​​ Dim tys(0 To​ Двадцатка = «»​ «ж») strТысячи =​
    ​ Теперь вы можете​добавьте новый пустой модуль​ еще не была​копируем результат вычисления формулы​
    ​. Оно содержит только​ туда текст этой​ Excel (помню по​

    ​ 2003 Excel.​​ помощью UDF.​
    ​jakim​ d = «цен.»​ = txt &​ Then GoTo 10​ = 0, «семнадцать​ 9) As String​ Case «1» Select​ strТысячи & ИмяРазряда(strТысячи,​ вставить созданную функцию​ через меню​ создана, то скопируйте​ (число прописью) в​ одно поле​
    ​ функции:​ предыдущему обсуждению)​MCH​
    ​Так как представлены​: Пожалуйста.​ If Valuta >​
    ​ Desyatki(vl) ‘ -​ Else txt =​ евро», IIf(Valuta =​

    ​ Dim SumInt, x,​

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Excel суммесли значение в диапазоне
  • Excel сумма прописью доллары
  • Excel суммесли за период
  • Excel суммесли есть значения
  • Excel сумма прописью в ячейке

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии