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

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

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

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

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

​Смотрите также​ формулы, которую введем​ отмечаться?​Скачать число прописью в​ поэтому вводим переменную​ иначе — формируем​ «семьсот «: tys(7)​ 1, «двенадцать рублей»,​ в него следующий​ n = Right(n,​

​ «, «тысячи «,​На вкладке​ Case 8: Result​ Dollar» Case Else​ окупаемость или Фитнес​через меню Формулы/ Определенные​ вариант) на листе​Запишем число прописью в​ во вспомогательный столбец.​Вам же написали​ Excel.​

​ Sclon_Tys ) If​ десятки Case 7​ = «тысяч «:​ «двенадцать долларов»)) Edinicy(13)​ код:​ 1) End Select​

  • ​ «тысяч «) ‘Единицы’​Файл​
  • ​ = «Eighty «​ Dollars = Dollars​ для определенной цели.​ имена/ Присвоить имя​
  • ​ Служ размещены вспомогательные​ Excel без использования VBA.​ Функция ПЕЧСИМВ удаляет​
  • ​ — кривая. Зачем​Теперь вы можете быстро​ shag > 1​ ‘ — единицы​ mln(7) = «миллионов​

​ = «тринадцать «:​Function ЧислоПрописьюВалюта(SumBase As Double,​ Dim Двадцатка As​ Поз = 10​выберите команду​ Case 9: Result​ & » Dollars»​ В этой статье​ создайте именованную формулу​ диапазоны, содержащие некоторые​ Вспомогательные диапазоны разместим​

​ непечатаемые знаки. СЖПРОБЕЛЫ​ еще выкладывать?​ перевести сумму в​ Then If Mid(SumInt,​

  • ​ миллионов vl =​ «: mlrd(7) =​ EdinicyPoslednie(13) = IIf(Valuta​ Valuta As Integer)​ String Двадцатка =​
  • ​ strЕдиницы = Сотни(Mid(strЧисло,​Сохранить как​ = «Ninety «​ End Select Select​ предполагается, что вы​ ЧислоПрописью;​
  • ​ числа прописью в Excel.​ в личной книге​ – лишние пробелы.​ВладХГП​ слова прописью. Чтобы​ shag — 1,​ Mid(SumInt, shag, 1)​ «миллиардов » Desyatki(8)​ = 0, «тринадцать​ Dim Edinicy(0 To​ «» Select Case​ Поз, 1)) strЕдиницы​

​.​ Case Else End​ Case Cents Case​​ знакомы с языком​​в поле Диапазон введите​Теперь эти диапазоны длиннее​​ макросов. Кроме того,​​ Функция ЗНАЧЕН преобразует​: от спасибки так​

​ воспользоваться готовым решением​ 1) = 1​

​ If shag >​ = «восемьдесят «:​ евро», IIf(Valuta =​ 19) As String:​ n Case «0»:​ = strЕдиницы &​

​Щелкните раскрывающееся меню​ Select Result =​ «» Cents =​ VBA программирования и​ формулу указанную выше:​ (числа от 1​ добавим руб./коп. для​ текстовый формат в​ спасибки — а​

​ рекомендуем скачать пример​ Then Sclon_Tys =​ 2 Then If​​ Sotni(8) = «восемьсот​​ 1, «тринадцать рублей»,​
​ Dim EdinicyPoslednie(0 To​
​ Двадцатка = «»​
​ Десятки(Mid(strЧисло, Поз +​
​Тип файла​

​ Result & GetDigit​ » and No​ с помощью средств,​нажмите ОК;​ до 999) и​ записи денежных сумм,​ числовой.​ главное все элементарно​ числа прописью в​

​ Edinicy(Mid(SumInt, shag -​ (Mid(SumInt, shag -​ «: tys(8) =​ «тринадцать долларов»)) Edinicy(14)​ 19) As String​ Case «1» Select​ 1, 2), «м»)​и выберите​ _ (Right(TensText, 1))​ Cents» Case «One»​ которые используются для​

​в ячейке​ содержат слова тысяча​ например: четыреста сорок​Применение инструмента «Текст по​При импорте файлов или​ Excel. Данный файл​ 1, 2)) &​ 2, 1) =​ «тысяч «: mln(8)​ = «четырнадцать «:​ Dim Desyatki(0 To​

​ Case Sex Case​ If strМиллиарды &​Книгу Excel с поддержкой​ ‘ Retrieve ones​ Cents = «​ создания и отладки​В1​ и миллион с​ четыре руб. 00​ столбцам». Выделяем столбец​ копировании данных с​

​ содержит уже готовую​​ «тисяч » End​ 0 And Mid(SumInt,​​ = «миллионов «:​ EdinicyPoslednie(14) = IIf(Valuta​​ 9) As String:​​ «м»: Двадцатка =​ strМиллионы & strТысячи​
​ макросов​
​ place. End If​
​ and One Cent»​
​ процедур. Сотрудники службы​введите формулу =ЧислоПрописью​ учетом склонения. Также​

​ коп.​ с текстовыми аргументами,​ числовыми значениями часто​ пользовательскую функцию и​ If txt =​ shag — 1,​ mlrd(8) = «миллиардов​

​ = 0, «четырнадцать​ Dim Sotni(0 To​ «один » Case​ & strЕдиницы =​

  • ​.​​ GetTens = Result​​ Case Else Cents​
  • ​ поддержки Майкрософт могут​ячейка​ создан диапазон для​Иногда требуется записать число​
  • ​ которые нужно преобразовать​ возникает проблема: число​
  • ​ VBA-код макроса, который​
  • ​ txt & Sclon_Tys​​ 1) = 0​​ » Desyatki(9) =​
  • ​ евро», IIf(Valuta =​​ 9) As String:​​ «ж»: Двадцатка =​ «» Then strЕдиницы​

​Нажмите кнопку​​ End Function ‘​​ = » and​ пояснить конкретной процедуры.​В1​ отображения слова Рублей​ прописью: 256 записать​ в числа. На​ преобразуется в текст.​ доступен в модуле​ ‘-КОНЕЦ БЛОКА_______________________ Case​

​ And vl =​ «девяносто «: Sotni(9)​ 1, «четырнадцать рублей»,​ Dim mlrd(0 To​ «одна » Case​ = «ноль «​Сохранить​ Converts a number​ » & Cents​ Однако они не​будет содержать число​

excel2.ru

Преобразование чисел в слова

​ с учетом склонения.​​ как двести пятьдесят​ вкладке «Данные» находим​ В результате формулы​ из редактора.​ 3 ‘ -​ «0») Then GoTo​ = «девятьсот «:​ «четырнадцать долларов»)) Edinicy(15)​ 9) As String​ «с»: Двадцатка =​ ‘strЕдиницы = strЕдиницы​.​ from 1 to​ & » Cents»​ изменять эти примеры​ прописью.​Теперь все готово для​ шесть. Набирать этот​ кнопку «Текст по​ не работают, вычисления​

​ALISA​ сотни vl =​ 10 End If​ tys(9) = «тысяч​ = «пятнадцать «:​ Dim mln(0 To​ «одно » End​ & ИмяРазряда(» «,​К началу страницы​ 9 into text.​ End Select SpellNumber​ для обеспечения функциональных​Теперь ячейки​ записи формулы переводящей​ текст безумно скучно,​ столбцам». Откроется окно​ становятся невозможными. Как​: Уважаемые знатоки!!!! Знаю​ Mid(SumInt, shag, 1)​ If shag >​ «: mln(9) =​ EdinicyPoslednie(15) = IIf(Valuta​

​ 9) As String:​ Select Case «2»:​ Mid(strЧисло, Поз +​Часто нужно перевести число​ Function GetDigit(Digit) Select​ = Dollars &​

​ возможностей или создания​​А1В1​ исходное число (ячейка​ кроме того легко​ «Мастера». Нажимаем «Далее».​ это быстро исправить?​ вопрос банальный, но​ txt = txt​ 1 Then If​ «миллионов «: mlrd(9)​ = 0, «пятнадцать​ Dim tys(0 To​ Select Case Sex​ 1, 2), «рубль​ в текст в​ Case Val(Digit) Case​ Cents End Function​ процедур в соответствии​можно скопировать и​B6​ ошибиться, поэтому давно​ На третьем шаге​ Сначала посмотрим, как​ очень хочется, чтобы​ & Sotni(vl) Case​

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

  1. ​ Mid(SumInt, shag -​​ = «миллиардов «​​ евро», IIf(Valuta =​​ 9) As String​​ Case «м»: Двадцатка​ «, «рубля «,​ Excel так, чтобы​

    ​ 1: GetDigit =​​ ‘ Converts a​ с конкретными требованиями.​ перенести в любое​) в текст:​

  2. ​ написаны макросы на​​ обращаем внимание на​​ исправить ошибку без​​ вы мне помогли!!!!​​ 2 ‘ -​

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

  3. ​ 1, 1) =​

    ​ ‘——————————————— On Error​​ 1, «пятнадцать рублей»,​ Dim SumInt, x,​ = «два «​ «рублей «) ‘Сотые’​ оно отображалось прописью​

    ​ "One" Case 2:​ number from 100-999​Используйте сочетание клавиш​ место в книге,​=СЖПРОБЕЛЫ(​ VBA, которые легко​ формат данных столбца.​ макросов.​ Есть таблица, в​ десятки vl =​ 1 Then txt​ Resume Next SumInt​ "пятнадцать долларов")) Edinicy(16)​ shag, vl As​ Case "ж": Двадцатка​ 'strСотые = strКопейки​ (словами) на русском​ GetDigit = "Two"​ into text Function​Alt​ но они должны​ИНДЕКС(Миллионы;ОСТАТ(ОТБР(B6/1000000);1000000)+1)&" "&​ справляются с этой​Последний способ подходит в​Excel помогает пользователю сразу​ которой по строкам​ Mid(SumInt, shag, 1)​ = txt &​ = Int(SumBase) For​ = "шестнадцать ":​ Integer: Dim txt,​ = "две "​ & " "​ или других языках.​ Case 3: GetDigit​ GetHundreds(ByVal MyNumber) Dim​+​ быть всегда на​ИНДЕКС(Тысячи;ОСТАТ(ОТБР(B6/1000);1000)+1)&" "&​ задачей.​ том случае, если​ определить, значения в​ забивается сумма в​ If vl =​ Edinicy(Mid(SumInt, shag -​ x = Len(SumInt)​ EdinicyPoslednie(16) = IIf(Valuta​ Sclon_Tys As String​ Case "с": Двадцатка​ & ИмяРазряда(strКопейки, Right(strКопейки,​ Так как по​ = "Three" Case​ Result As String​F11​ одной строке и​ИНДЕКС(Единицы;ОСТАТ(B6;1000)+1))​В статье Число прописью​ значения находятся в​ ячейках отформатированы как​ числовом выражении. В​ "1" And Mid(SumInt,​ 1, 2)) &​ To 1 Step​ = 0, "шестнадцать​ '--------------------------------------------- Application.Volatile '---------------------------------------------​ = "Два "​ 2), ‘"копейка", "копейки",​ умолчанию нет готовой​ 4: GetDigit =​ If Val(MyNumber) =​, чтобы открыть​ в соседних столбцах,​Задача в принципе решена,​ (статичный вариант) приведено​ одном столбце.​ числа или как​ конце таблицы считается​ shag + 1,​ "мільйонів " Else:​ -1 shag =​ евро", IIf(Valuta =​ Edinicy(0) = "":​ End Select Case​ "копеек") ЧислоПропись =​ функции, создадим свою​ "Four" Case 5:​ 0 Then Exit​ редактор Visual Basic​ т.к. именованной формуле​ осталось только разместить​ решение этой задачи​​ текст. Числовые форматы​ общая сумма всех​ 1) <> 0​ txt = txt​ shag + 1​ 1, "шестнадцать рублей",​ EdinicyPoslednie(0) = IIf(Valuta​ "3": Двадцатка =​ strМиллиарды & strМиллионы​ пользовательскую функцию с​ GetDigit = "Five"​ Function MyNumber =​ (VBE).​ использована относительная ссылка.​ вспомогательные диапазоны в​ позволяющей перевести число​Преобразовать числа, сохраненные как​ выравниваются по правому​ чисел. В строке​ Then GoTo 10​ & Edinicy(vl) &​ Select Case x​ "шестнадцать долларов")) Edinicy(17)​ = 0, "евро",​ "три " Case​ & strТысячи &​ помощью макросов.​ Case 6: GetDigit​ Right("000" & MyNumber,​Примечание:​При пересылке файла, например,​ Личную книгу макросов​ в текстовую форму​ текст, в числа​ краю, текстовые –​ ИТОГО надо чтобы​ Else txt =​ mln(vl) 'числа в​ Case 12 '​ = "семнадцать ":​ IIf(Valuta = 1,​ "4": Двадцатка =​ strЕдиницы ЧислоПропись =​Для создания пользовательской функции,​ = "Six" Case​ 3) ' Convert​ Вы также можете открывать​ по электронной почте,​ PERSONAL.XLSB, для того​ по следующему алгоритму:​ можно с помощью​ по левому.​ общая сумма прописываль​ txt & Desyatki(vl)​ диапозоне от 11​ - сотни миллиардов​ EdinicyPoslednie(17) = IIf(Valuta​ "рублей", "долларов")) Edinicy(1)​ "четыре " Case​ UCase(Left(ЧислоПропись, 1)) &​ которая сможет перевести​ 7: GetDigit =​ the hundreds place.​ редактор Visual Basic,​ формула будет продолжать​ чтобы формула, переводящая​вводим число в определенную​ макроса.​Когда при импорте файлов​ текстом...............​ ' - если​ до 19 склоняются​ vl = Mid(SumInt,​ = 0, "семнадцать​ = "один ":​ "5": Двадцатка =​ Right(ЧислоПропись, Len(ЧислоПропись) -​ число в текст​ "Seven" Case 8:​ If Mid(MyNumber, 1,​ добавив вкладку "Разработчик"​ работать, не смотря​ число в текст​ ячейку;​Есть набор значений, сохраненных​
  4. ​ или сбое в​Serge​​ конец триады от​​ на «мільярдов» независимо​ shag, 1) txt​

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

  5. ​ евро», IIf(Valuta =​​ EdinicyPoslednie(1) = IIf(Valuta​​ «пять » Case​ 1) Exit Function​ прописью , нам​ GetDigit = «Eight»​

    ​ 1) <> «0»​​ на ленту.​ на то, что​ была доступна в​с помощью формул, вспомогательных​ в текстовом формате:​ Excel числовой формат​: «сумма прописью» в​ 11 до 19​

​ от последнего числа​

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

  1. ​ = txt &​​ 1, «семнадцать рублей»,​​ = 0, «один​​ «6»: Двадцатка =​​ Число_Error: MsgBox Err.Description​ нужно выполнить 3​ Case 9: GetDigit​ Then Result =​На вкладке​ Личная книга макросов​ любой книге.​ диапазонов с текстом​

  2. ​Чтобы вставить макрос, на​​ становится текстовым, в​​ окошке поисковика…​

​ то перескакиваем на​

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

​ триады Else txt​ Sotni(vl) Case 11​ «семнадцать долларов»)) Edinicy(18)​ евро», IIf(Valuta =​ «шесть » Case​ End Function Function​​ простых шага:​​ = «Nine» Case​​ GetDigit(Mid(MyNumber, 1, 1))​​Insert​​ не пересылалась, т.е.​​В Windows XP эта​​ и имен получаем​​ вкладке «Разработчик» находим​

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

​ левом верхнем углу​Выбирайте на вкус​​ единицы, иначе -​ = txt &​​ ‘ — десятки​ = «восемнадцать «:​

  1. ​ 1, «один рубль»,​​ «7»: Двадцатка =​​ Сотни(n As String)​​Открыть редактор макросов ALT+F11.​​ Else: GetDigit =​

  2. ​ & » Hundred​​(Вставка) нажмите кнопку​​ Ваши коллеги получившие​​ книга находится в​ число прописью;​​ редактор Visual Basic.​

  3. ​ ячеек появляется зеленый​​ и цвет…​​ формируем десятки Case​

​ Edinicy(vl) & mln(vl)​

support.office.com

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

​ миллиардов vl =​ EdinicyPoslednie(18) = IIf(Valuta​ «один доллар»)) Edinicy(2)​ «семь » Case​ As String Сотни​Создать новый модуль и​ «» End Select​ » End If​Module​ файл, смогут с​ папке C:Documents and​

​копируем результат вычисления формулы​ Открывается окно редактора.​ треугольничек. Это знак​Guest​ 1 ‘ -​ End If ‘-КОНЕЦ​

  1. ​ Mid(SumInt, shag, 1)​
  2. ​ = 0, «восемнадцать​ = «два «:​ «8»: Двадцатка =​ = «» Select​ в нем нужно​ End Function​ ‘ Convert the​(Модуль).​ ним работать как​ Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда​Module.
  3. ​ (число прописью) в​ Для добавления кода​

​ ошибки. Ошибка также​

​: Спасибо большое, кажется​ единицы If Mid(SumInt,​ БЛОКА_______________________ Case 6​ If vl =​ евро», IIf(Valuta =​ EdinicyPoslednie(2) = IIf(Valuta​ «восемь » Case​ Case n Case​ написать функцию особенным​Вставьте строки кода в​ tens and ones​Скопируйте приведенный ниже код.​ Вы.​ она будет автоматически​ Буфер обмена;​ нажимаем F7. Вставляем​ возникает, если перед​ нашла!!! А без​ shag — 1,​ ‘ — сотни​ «1» And Mid(SumInt,​ 1, «восемнадцать рублей»,​ = 0, «два​ «9»: Двадцатка =​ 0: Сотни =​ способом: Function вместо​ поле​ place. If Mid(MyNumber,​Примечание:​Примечание:​ загружается при каждом​вставляем текст в любую​ следующий код:​ числом поставить апостроф.​ макросов, с помощью​ 1) <> 1​ тысяч vl =​ shag + 1,​ «восемнадцать долларов»)) Edinicy(19)​ евро», IIf(Valuta =​ «девять » Case​ «» Case 1:​ Sub. Тогда наша​Module1 (Code)​ 2, 1) <>​ Известные как Пользовательской функции​ Мы стараемся как можно​ запуске приложения Excel.​ открытую книгу «Как​Sub Conv() With ActiveSheet.UsedRange​Способов преобразования текста в​ какой-нибудь формулы этого​ Or Mid(SumInt, shag​ Mid(SumInt, shag, 1)​ 1) <> 0​ = «девятнадцать «:​ 1, «два рубля»,​ «10»: Двадцатка =​ Сотни = «сто​ функция «ЧислоПропись» будет​(Модуль 1 —​ «0» Then Result​ (UDF)этот код Автоматизация​ оперативнее обеспечивать вас​ В Windows Vista​ значение» (Главная/ Буфер​ arr = .Value​ число существует несколько.​ сделать нельзя?​ — 1, 2)​ txt = txt​ Then GoTo 10​ EdinicyPoslednie(19) = IIf(Valuta​ «два доллара»)) Edinicy(3)​ «десять » Case​ » Case 2:​ отображаться в списке​ код).​ = Result &​ задач для преобразования​ актуальными справочными материалами​ эта книга хранится​ обмена/ Вставить/ Вставить​ .NumberFormat = «General»​ Рассмотрим самые простые​vikttur​ = «10» Then​ & Sotni(vl) Case​ Else txt =​ = 0, «девятнадцать​ = «три «:​ «11»: Двадцатка =​ Сотни = «двести​ мастера функций (SHIFT+F3),​Нажмите клавиши​ GetTens(Mid(MyNumber, 2)) Else​ чисел в разных​ на вашем языке.​ в папке C:Usersимя_пользователяApplication​ как значение).​ .Value = arr​ и удобные.​: Значит, не то​ vl = Mid(SumInt,​ 5 ‘ -​ txt & Desyatki(vl)​ евро», IIf(Valuta =​ EdinicyPoslednie(3) = IIf(Valuta​ «одиннадцать » Case​ » Case 3:​ в категории «Определенные​Alt + Q​ Result = Result​ частях листа.​ Эта страница переведена​ DataMicrosoftExcelXLStart.​Это не всегда удобно.​ End With End​Использовать меню кнопки «Ошибка».​ нашел :)​ shag, 1) Else​ десятки тысяч vl​ ‘ — если​ 1, «девятнадцать рублей»,​ = 0, «три​ «12»: Двадцатка =​ Сотни = «триста​ пользователем».​, чтобы вернуться​ & GetDigit(Mid(MyNumber, 3))​Option Explicit ‘Main Function​ автоматически, поэтому ее​Если Личная книга макросов​ Хочется по аналогии​ Sub​ При выделении любой​A href=»http://www.planetaexcel.ru/forum.php?thread_id=9661»>;​ vl = Mid(SumInt,​ = Mid(SumInt, shag,​ конец триады от​ «девятнадцать долларов»)) »———————————————​ евро», IIf(Valuta =​ «двенадцать » Case​ » Case 4:​Вставить в модуль следующий​ в Microsoft Excel.​ End If GetHundreds​ Function SpellNumber(ByVal MyNumber)​ текст может содержать​ еще не была​ с функциями на​Чтобы он «заработал», нужно​ ячейки с ошибкой​Wasp49​ shag — 1,​ 1) If vl​ 11 до 19​ Desyatki(0) = «»:​ 1, «три рубля»,​ «13»: Двадцатка =​ Сотни = «четыреста​ код и сохранить:​ Функция SpellNumber теперь​ = Result End​ Dim Dollars, Cents,​ неточности и грамматические​ создана, то скопируйте​ VBA написать что​ сохранить. Но книга​ слева появляется соответствующий​: «Спасибо большое, кажется​ 2) txt =​ = 1 And​ то перескакиваем на​ Sotni(0) = «»:​ «три доллара»)) Edinicy(4)​ «тринадцать » Case​ » Case 5:​​ готов к использованию.​ Function ‘ Converts​ Temp Dim DecimalPlace,​ ошибки. Для нас​ лист Служ из​ то вроде =ЧислоПрописью(А1)​ Excel должна быть​ значок. Это и​ нашла!!! А без​ txt & EdinicyPoslednie(vl)​ Mid(SumInt, shag +​ единицы, иначе -​ tys(0) = «тисячь​ = «четыре «:​ «14»: Двадцатка =​ Сотни = «пятьсот​Function ЧислоПропись(Число As Currency)​Примечание:​ a number from​ Count ReDim Place(9)​ важно, чтобы эта​ файла примера в​ и получить результат.​ сохранена в формате​ есть кнопка «Ошибка».​ макросов, с помощью​ ‘-КОНЕЦ БЛОКА_______________________ End​ 1, 1) <>​ формируем десятки Case​ «: mln(0) =​ EdinicyPoslednie(4) = IIf(Valuta​ «четырнадцать » Case​ » Case 6:​ As String ‘до​ Эта функция работает только​ 10 to 99​ As String Place(2)​ статья была вам​ новую книгу, и​ Все промежуточные вычисления​ с поддержкой макросов.​ Если навести на​ какой-нибудь формулы этого​ Select 10: Next​

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

​ 0 Then GoTo​ 10 ‘ -​ «миллионов «: mlrd(0)​ = 0, «четыре​ «15»: Двадцатка =​ Сотни = «шестьсот​ 999 999 999​ для текущей книги.​ into text. Function​

​ = » Thousand​ полезна. Просим вас​ сохраните ее в​ должны быть «за​Теперь возвращаемся на страницу​ нее курсор, появится​ сделать нельзя?»​ x a =​ 10 Else txt​ единицы миллиардов vl​ = «миллиардов «​ евро», IIf(Valuta =​ «пятнадцать » Case​ » Case 7:​ 999 On Error​ Для использования этой​ GetTens(TensText) Dim Result​ » Place(3) =​ уделить пару секунд​ директорию C:Documents and​ кадром». Но, создание​ с цифрами. Выделяем​ знак раскрывающегося меню​Попробую найти у​ SumBase b =​ = txt &​ = Mid(SumInt, shag,​ Desyatki(1) = «десять​ 1, «четыре рубля»,​ «16»: Двадцатка =​ Сотни = «семьсот​ GoTo Число_Error Dim​ функции в другой​ As String Result​ » Million «​ и сообщить, помогла​ Settingsимя_пользователяApplication DataMicrosoftExcelXLStart (для​ пользовательских функций это​ столбец с данными.​ (черный треугольник). Выделяем​ себя в файлах​ Int(a) c =​ Desyatki(vl) ‘ -​ 1) If shag​ «: Sotni(1) =​ «четыре доллара»)) Edinicy(5)​ «шестнадцать » Case​ » Case 8:​ strМиллиарды As String,​ книге, необходимо повторить​ = «» ‘​ Place(4) = «​ ли она вам,​ XP) под именем​ прерогатива VBA.​ Нажимаем кнопку «Макросы».​ столбец с числами​ пропись на русском​ (a — b)​ если конец триады​ > 1 Then​ «сто «: tys(1)​ = «пять «:​ «17»: Двадцатка =​ Сотни = «восемьсот​ strМиллионы As String,​ шаги, скопируйте и​ Null out the​ Billion » Place(5)​ с помощью кнопок​ PERSONAL.XLSB.​Тем не менее, можно​ В открывшемся окне​ в текстовом формате.​ языке без маросов.​ * 100 If​ от 11 до​ If Mid(SumInt, shag​ = «тысяча «:​ EdinicyPoslednie(5) = IIf(Valuta​ «семнадцать » Case​ » Case 9:​ strТысячи As String,​ вставьте код в​ temporary function value.​ = » Trillion​ внизу страницы. Для​Если Личная книга макросов​ предложить следующее решение​ – список доступных​ Раскрываем меню кнопки​ есть на английском​ c = 0​ 19 то перескакиваем​ — 1, 1)​ mln(1) = «миллион​ = 0, «пять​ «18»: Двадцатка =​ Сотни = «девятьсот​ strЕдиницы As String,​ этой книге.​ If Val(Left(TensText, 1))​ » ‘ String​ удобства также приводим​ уже была ранее​ с помощью обычных​ для данной книги​ «Ошибка». Нажимаем «Преобразовать​ (но там все​ Then c =​ на единицы, иначе​ = 1 Then​ «: mlrd(1) =​ евро», IIf(Valuta =​ «восемнадцать » Case​ » End Select​ strСотые As String​К началу страницы​ = 1 Then​ representation of amount.​ ссылку на оригинал​ создана, то через​ формул:​ макросов. Выбираем нужный.​ в число».​ проще — нет​ CStr(c) + «0»​ — формируем десятки​ txt = txt​ «миллиарда » Desyatki(2)​ 1, «пять рублей»,​ «19»: Двадцатка =​ End Function Function​ Dim Поз As​Введите формулу​ ‘ If value​ MyNumber = Trim(Str(MyNumber))​ (на английском языке).​ меню Вид/ Окно/​разместить в Личной книге​ Жмем «Выполнить».​Применить любые математические действия.​ падежей). Смысл такой​ d = «»​ Case 4 ‘​ & Edinicy(Mid(SumInt, shag​ = «двадцать «:​ «пять долларов»)) Edinicy(6)​ «девятнадцать » End​ Десятки(n As String,​ Integer strЧисло =​= SpellNumber​ between 10-19… Select​ ‘ Position of​Нет функции по умолчанию,​ Отобразить отобразите ее,​ макросов (PERSONAL.XLSB) вспомогательные​Цифры переместились вправо.​ Подойдут простейшие операции,​ — создайте массив​ If Valuta =​ — единицы тысяч​ — 1, 2))​ Sotni(2) = «двести​ = «шесть «:​ Select Десятки =​ Sex As String)​ Format(Int(Число), «000000000000») ‘Миллиарды’​(​ Case Val(TensText) Case​ decimal place 0​ отображающий чисел в​ скопируйте в нее​ диапазоны, содержащие некоторые​Следовательно, значения в ячейках​ которые не изменяют​ (табличку) с цифрами​ 1 Then d​ vl = Mid(SumInt,​ & «мільярдів «​ «: tys(2) =​ EdinicyPoslednie(6) = IIf(Valuta​ Десятки & Двадцатка​ As String Десятки​ Поз = 1​A1​ 10: Result =​ if none. DecimalPlace​ виде английских слов​ лист Служ, сохраните​ числа прописью (от​ «стали» числами.​ результат (умножение /​ от 0 до​ = «коп.» Else​ shag, 1) If​ Else txt =​ «тысячи «: mln(2)​ = 0, «шесть​ End Function Function​ = «» Select​ strМиллиарды = Сотни(Mid(strЧисло,​) в ячейку, которую​ «Ten» Case 11:​ = InStr(MyNumber, «.»)​ на листе Excel,​ Личную книгу макросов​ 0 до 999);​Если в столбце встречаются​ деление на единицу,​ 100 плюс ещё​ d = «цен.»​ shag > 2​ txt & Edinicy(vl)​ = «миллиона «:​ евро», IIf(Valuta =​ ИмяРазряда(Строка As String,​ Case Left(n, 1)​ Поз, 1)) strМиллиарды​ вы хотите отобразить​ Result = «Eleven»​ ‘ Convert cents​ но вы можете​ (можно ее потом​создать формулу, переводящую в​ аргументы с определенным​ прибавление / отнимание​ 200, 300 и​ If Valuta >​ Then If (Mid(SumInt,​ & mlrd(vl) ‘числа​ mlrd(2) = «миллиарда​ 1, «шесть рублей»,​ n As String,​ Case «0»: Десятки​ = strМиллиарды &​ письменного номер, где​ Case 12: Result​ and set MyNumber​ добавить эту возможность​ скрыть Вид/ Окно/​ текст любое число​ числом десятичных знаков​ нуля, возведение в​ т.д. и соответственно​ 2 Or Valuta​ shag — 2,​ в диапозоне от​ » Desyatki(3) =​ «шесть долларов»)) Edinicy(7)​ Имя1 As String,​ = «»: n​ Десятки(Mid(strЧисло, Поз +​ A1 — ячейку,​ = «Twelve» Case​ to dollar amount.​ путем вставки следующий​ Скрыть).​ от 0 до​ (например, 3,45), можно​ первую степень и​ пропись этих чисел​ 2 Or Valuta​ 1) = 0​ 11 до 19​ «тридцать «: Sotni(3)​ = «семь «:​ Имя24 As String,​ = Right(n, 1)​ 1, 2), «м»)​ содержащую число вы​ 13: Result =​ If DecimalPlace >​ код функции SpellNumber​Теперь откройте​ 1 млрд. с​ использовать другой макрос.​ т.д.).​ (с учетом падежей).​ < 0 Then​ And Mid(SumInt, shag​ склоняются на «мільярдов»​ = «триста «:​ EdinicyPoslednie(7) = IIf(Valuta​ ИмяПроч As String)​ Case «1»: Десятки​ strМиллиарды = strМиллиарды​ хотите преобразовать. Можно также​ «Thirteen» Case 14:​ 0 Then Cents​ в модуле VBA​книгу, в которой нужно​ помощью вспомогательных диапазонов​Sub Conv() With​Добавить специальную вставку. Здесь​ А затем с​ GoTo 11 ЧислоПрописьюВалюта​ — 1, 1)​ независимо от последнего​ tys(3) = «тысячи​ = 0, «семь​ As String If​ = «» Case​ & ИмяРазряда(strМиллиарды, Mid(strЧисло,​ вручную ввести значение​ Result = «Fourteen»​ = GetTens(Left(Mid(MyNumber, DecimalPlace​ (Visual Basic for​ записать число прописью​ и имен;​ ActiveSheet.UsedRange .Replace «,»,».»​ также применяется простое​ помощью разбивки числа​ = txt +​ = 0 And​ числа триады Else​ «: mln(3) =​ евро», IIf(Valuta =​ Строка <> «»​ «2»: Десятки =​ Поз + 1,​ как = SpellNumber(22.50).​ Case 15: Result​ + 1) &​ Applications). Эта функция​. Исходное число разместите,​в любой книге, где​ arr = .Value​ арифметическое действие. Но​ и ВПР.​ » » +​ vl = «0»)​ txt = txt​ «миллиона «: mlrd(3)​ 1, «семь рублей»,​ Then ИмяРазряда =​ «двадцать «: n​ 2), «миллиард «,​Нажмите клавишу​ = «Fifteen» Case​ _ «00», 2))​ позволяет преобразовывать доллара​ например, в ячейке​ требуется записать число​ .NumberFormat = «General»​ вспомогательный столбец создавать​P.S.А вообще с​ CStr(c) + d​ Then GoTo 10​ & Edinicy(vl) &​ = «миллиарда «​ «семь долларов»)) Edinicy(8)​ «» Select Case​ = Right(n, 1)​ «миллиарда «, «миллиардов​Ввод​ 16: Result =​ MyNumber = Trim(Left(MyNumber,​ и кратное сумм​А1​ прописью создать Именованную​ .Value = arr​ не нужно. В​ макросами лучше​ 11: End Function​ End If Sclon_Tys​ mlrd(vl) End If​ Desyatki(4) = «сорок​ = «восемь «:​ Left(n, 1) Case​ Case «3»: Десятки​ «) ‘Миллионы’ Поз​, чтобы подтвердить формулу.​ «Sixteen» Case 17:​ DecimalPlace — 1))​ для слов с​. Введите в нужную​ формулу ЧислоПрописью с​ End With End​ отдельной ячейке написать​axi​Если мы указываем число​ = Edinicy(vl) &​ ‘-КОНЕЦ БЛОКА_______________________ Case​ «: Sotni(4) =​ EdinicyPoslednie(8) = IIf(Valuta​ «0», «2», «3»,​ = «тридцать «:​ = 4 strМиллионы​К началу страницы​ Result = «Seventeen»​ End If Count​ помощью формулы, 22,50​ ячейку формулу:​ относительной ссылкой на​ Sub​ цифру 1. Скопировать​: Посмотрите вот такое​ (от 0 до​ tys(vl) ‘ -​ 9 ‘ -​ «четыреста «: tys(4)​ = 0, «восемь​ «4», «5», «6»,​ n = Right(n,​ = Сотни(Mid(strЧисло, Поз,​Excel не может сохранить​ Case 18: Result​ = 1 Do​ читается как двадцати​=ЕСЛИ(A1;СЖПРОБЕЛЫ(​ исходное число (относительную​Читайте так же: как​ ячейку в буфер​ решение​ 2)в параметре второй​ вводим переменную Sclon_Tys​ сотни миллионов vl​ = «тысячи «:​ евро», IIf(Valuta =​ «7», «8», «9»:​ 1) Case «4»:​ 1)) strМиллионы =​ книгу с помощью​ = «Eighteen» Case​ While MyNumber <>​ двух центы и​ИНДЕКС(PERSONAL.XLSB!Миллионы;ОКРУГЛВНИЗ(A1;-6)/1000000+1)&» «&​ ссылку можно создать​ перевести число и​ обмена (с помощью​Владимир​ функции «ЧислоПрописьюВалюта» то​ из-за иного склонения​ = Mid(SumInt, shag,​ mln(4) = «миллиона​ 1, «восемь рублей»,​

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

​ n = Right(n,​ Десятки = «сорок​ strМиллионы & Десятки(Mid(strЧисло,​ функции макросов в​ 19: Result =​ «» Temp =​ т. Это может​

  • ​ИНДЕКС(PERSONAL.XLSB!тысячи;ОСТАТ(ОТБР(A1/1000);1000)+1)&» «&​
  • ​ так, чтобы она​
  • ​ сумму прописью в​

​ кнопки «Копировать» или​:​ функция автоматически подставит​ тысяч в русском​ 1) txt =​ «: mlrd(4) =​ «восемь долларов»)) Edinicy(9)​ 1) End Select​ «: n =​ Поз + 1,​ формате стандартной книги​

​ «Nineteen» Case Else​ GetHundreds(Right(MyNumber, 3)) If​

​ быть очень полезным​ИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00»)&»​ позволяла выводить число​ Excel.​ сочетания клавиш Ctrl​Аля, был человек, который​ нужную валюту в​ языке If vl​ txt & Sotni(vl)​ «миллиарда » Desyatki(5)​ = «девять «:​ Select Case n​

exceltable.com

Преобразование числа в текст (сумма прописью)

​ Right(n, 1) Case​​ 2), «м») strМиллионы​ без поддержки макросов​ End Select Else​ Temp <> «»​ при использовании Excel​ коп.»);»ноль руб. 00​ прописью, например, в​Скачать примеры преобразования текста​ + C). Выделить​ сам с собой​ сумме прописью:​ = 1 Then​ Case 8 ‘​ = «пятьдесят «:​

​ EdinicyPoslednie(9) = IIf(Valuta​​ Case «1»: ИмяРазряда​ «5»: Десятки =​
​ = strМиллионы &​ (XLSX). Если щелкнуть​

​ ‘ If value​​ Then Dollars =​ как шаблон для​ коп.»)​ соседней ячейке слева​ в число.​

​ столбец с редактируемыми​​ говорил, но по​1-рубли;​
​ Sclon_Tys = «одна​

​ — десятки миллионов​​ Sotni(5) = «пятьсот​ = 0, «девять​ = Имя1 Case​ «пятьдесят «: n​ ИмяРазряда(strМиллионы, Mid(strЧисло, Поз​

​файл​ between 20-99… Select​ Temp & Place(Count)​ печати проверки.​Формула отобразит число прописью.​ от исходного числа).​Таким образом, возникающую при​ числами. В контекстном​ делу -​2-доллары;​ » & tys(vl)​ vl = Mid(SumInt,​ «: tys(5) =​ евро», IIf(Valuta =​ «2», «3», «4»:​ = Right(n, 1)​ + 1, 2),​>​ Case Val(Left(TensText, 1))​

​ & Dollars If​Если вы хотите преобразования​

​ Ячейки, содержащие исходное​​В результате вышеуказанных манипуляций​ импорте или копировании​

​ меню кнопки «Вставить»​​Guest​

​0-евро;​ ‘ — для​ shag, 1) If​ «тысяч «: mln(5)​

​ 1, «девять рублей»,​​ ИмяРазряда = Имя24​ Case «6»: Десятки​

​ «миллион «, «миллиона​​Сохранить​ Case 2: Result​ Len(MyNumber) > 3​ числовых значений в​ число и формулу,​

​ можно будет, например,​​ числовых данных ошибку​ нажать «Специальная вставка».​: работает и с​
​Как видите, этот VBA-код​ тысяч склонение «один»​ vl = «1»​

​ = «миллионов «:​​ «девять долларов»)) Edinicy(11)​ Case Else: ИмяРазряда​ = «шестьдесят «:​

planetaexcel.ru

Преобразование текста в число в ячейке Excel

​ «, «миллионов «)​. Откроется диалоговое окно​ = «Twenty «​ Then MyNumber =​ текстовом формате без​ можно перенести в​ записав в ячейке​ легко устранить. Преобразовать​ В открывшемся окне​ офисом 2к10​ макроса преобразует числа​ и «два» неприменимо​

Как преобразовать текст в число в Excel

​ And Mid(SumInt, shag​ mlrd(5) = «миллиардов​ = «одиннадцать «:​ = ИмяПроч End​ n = Right(n,​ ‘Тысячи’ Поз =​проекта VB​ Case 3: Result​

​ Left(MyNumber, Len(MyNumber) -​ отображения их как​ любое место в​G6​ текст в число​ установить галочку напротив​MCH​ в слова. После​ ( поэтому вводим​ + 1, 1)​

Ошибка значения.

​ » Desyatki(6) =​ EdinicyPoslednie(11) = IIf(Valuta​ Select End If​ 1) Case «7»:​

  1. ​ 7 strТысячи =​. Нажмите кнопку​ = «Thirty «​ 3) Else MyNumber​ слова, используйте функции​ книге или даже​исходное число, а​ можно разными способами​ «Умножить». После нажатия​: Функция кривая, на​ вставки данного кода​ переменную Sclon_Tys )​ <> 0 Then​ «шестьдесят «: Sotni(6)​ = 0, «одиннадцать​Преобразовать в число.
  2. ​ End Function​ Десятки = «семьдесят​ Сотни(Mid(strЧисло, Поз, 1))​Нет​ Case 4: Result​ = «» End​ текст .​ в другую книгу.​ в ячейке​Математические операции.
  3. ​ (с помощью макросов​ ОК текстовый формат​ числах 0, 1000000,​ в модуль редактора​ If vl =​ GoTo 10 Else​ = «шестьсот «:​ евро», IIf(Valuta =​Можно написать алгоритм макро​ «: n =​ strТысячи = strТысячи​.​ = «Forty «​ If Count =​Примечание:​Чтобы еще больше приблизиться​G7​ и без них).​ преобразуется в числовой.​ 1000000000 и др.​ макросов, у нас​Специальная вставка.
  4. ​ 2 Then Sclon_Tys​ txt = txt​ tys(6) = «тысяч​ 1, «одиннадцать рублей»,​ программы по-другому и​ Right(n, 1) Case​ & Десятки(Mid(strЧисло, Поз​Можно сохранить файл в​ Case 5: Result​ Count + 1​ Microsoft примеры программирования только​ к идеалу создадим​формулу =ЧислоПрописью, и​Печьсимв.
  5. ​ Сделать это просто​Удаление непечатаемых символов. Иногда​ дает не правильное​ работает новая функция,​ = «дві «​ & Desyatki(vl) ‘​ «: mln(6) =​ «одиннадцать долларов»)) Edinicy(12)​ еще сделать так,​ «8»: Десятки =​ + 1, 2),​ формате​

Текст по столбцам.

​ = «Fifty «​ Loop Select Case​ для иллюстрации и​ именованную формулу ЧислоПрописью.​

​ получить нужный результат.​

Макрос «Текст – число»

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

​ & tys(vl) ‘​ — если конец​

Набор значений.

​ «миллионов «: mlrd(6)​ = «двенадцать «:​ чтобы она дописывала​ «восемьдесят «: n​ «ж») strТысячи =​Книга Excel с поддержкой​ Case 6: Result​

​ Dollars Case «»​ без гарантий выраженное​ Для этого:​Все это реализовано в​ впоследствии с числовыми​ распознается программой из-за​

​vikttur​ из мастера (кнопка​ — для тысяч​ триады от 11​ = «миллиардов «​

​ EdinicyPoslednie(12) = IIf(Valuta​ валюту суммы прописью.​ = Right(n, 1)​ strТысячи & ИмяРазряда(strТысячи,​ макросов (xlsm)​ = «Sixty «​ Dollars = «No​ или подразумевается. Включает​выделите ячейку​

Макрос.

​ файле примера.​

Пример.

​ аргументами производятся все​ невидимых символов. Удалим​

​: Безымянный, Вы в​ fx возле строки​ склонение «один» и​ до 19 то​ Desyatki(7) = «семьдесят​

​ = 0, «двенадцать​ Для этого создайте​ Case «9»: Десятки​ Mid(strЧисло, Поз +​, чтобы сохранить файл​ Case 7: Result​ Dollars» Case «One»​

​ в себя, но​B1​Как и в примере​ необходимые операции.​

​ их с помощью​ каждой теме будете​

​ формул).​ «два» неприменимо (​ перескакиваем на единицы,​ «: Sotni(7) =​ евро», IIf(Valuta =​ Module2 и введите​ = «девяносто «:​ 1, 2), «тысяча​ в текущем формате.​ = «Seventy «​ Dollars = «One​ не ограничивается гарантий​;​

exceltable.com

​ статьи Число прописью (статичный​

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

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

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

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

Поиск файла с надстройкой

Сначала понадобится найти сам файл, в котором и будет находиться функция автоматического перевода числовой суммы в пропись. Я не могу подсказать конкретный сайт, поскольку такие файлы не распространяются официально. Рекомендую вам использовать поисковик и ввести там запрос «Скачать NUM2TEXT.xls». Выберите тот сайт, который больше всего внушает вам доверие, и скачайте данную надстройку оттуда.

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

По большей части почти все такие источники безопасны, поскольку файл формата XLS довольно сложно заразить вирусом или замаскировать его, поскольку вы будете запускать его не вручную, а непосредственно в Microsoft Excel. Чаще пользователи просто жмут не ту кнопку «Скачать», которая на самом деле загружает вредоносное ПО в виде установщика. Будьте внимательны и убедитесь в том, что скачали действительно тот файл, который вы видите на предыдущем скриншоте.

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Импорт надстройки в Microsoft Excel

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

  1. Запустив Microsoft Excel, перейдите на вкладку «Файл».Переход в меню программы для перевода суммы в пропись в Microsoft Excel

  2. В меню слева найдите пункт «Параметры» и перейдите в настройки программы.Открытие списка параметров для перевода суммы в пропись в Microsoft Excel

  3. Вам понадобится раздел с соответствующим названием «Надстройки».Переход в раздел Надстройки для перевода суммы в пропись в Microsoft Excel

  4. В нем перейдите к выбору новой надстройки, которой и является скачанный ранее файл.Открытие списка надстроек для перевода суммы в пропись в Microsoft Excel

  5. В новом окне нажмите «Обзор», чтобы открыть окно «Проводника» и выбрать в нем файл.Переход к добавлению новой надстройки для перевода суммы в пропись в Microsoft Excel

  6. Как только новое окно отобразится, найдите в нем объект «NUM2TEXT.xls», который вы скачали самостоятельно, и щелкните по нему дважды для подтверждения выбора.Добавление новой надстройки для перевода суммы в пропись в Microsoft Excel

  7. Если название функции появилось в списке надстроек, значит, все действия выполнены правильно и вы можете нажать «ОК», чтобы сохранить изменения.Сохранение добавленной надстройки для перевода суммы в пропись в Microsoft Excel

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

Как перевести сумму в пропись

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

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

  2. Обязательно выберите категорию «Полный алфавитный перечень» и найдите там функцию с названием «Сумма_прописью». Можете объявить ее и самостоятельно, введя это название после знака = в ячейке.Поиск новой функции в списке для перевода суммы в пропись в Microsoft Excel

  3. Введите сумму в числе, которую нужно перевести в буквенный вариант.Ручной ввод суммы в числе для перевода суммы в пропись в Microsoft Excel

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

  5. Подтвердите внесение изменений и посмотрите, что получилось в итоге. Как правило, данная функция корректно отобразит сумму в рублях и копейках.Ознакомление с результатом перевода суммы в пропись в Microsoft Excel

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

Понравилась статья? Поделить с друзьями:
  • Преобразовать текст в одну строку в excel
  • Преобразовать текст в колонки в excel
  • Преобразовать текст в дату по формату в excel
  • Преобразовать текст в url в excel
  • Преобразовать текст в excel онлайн