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

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

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

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

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

  1. нажмите сочетание клавиш ALT+F11, чтобы открыть редактор Visual Basic
  2. добавьте новый пустой модуль через меню Insert — Module
  3. скопируйте и вставьте туда текст этой функции:
Function СУММАПРОПИСЬЮ(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
   СУММАПРОПИСЬЮ = "ноль"
   Exit Function
 End If
 'разделяем число на разряды, используя вспомогательную функцию Class
 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)

 'проверяем миллионы
 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  5 To 20
     mil_txt = Nums1(mil) & "миллионов "
 End Select
 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:
 'формируем итоговую строку
 СУММАПРОПИСЬЮ = decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt
End Function

'вспомогательная функция для выделения из числа разрядов
Private Function Class(M, I)
  Class = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1))
End Function

Сохраните файл (если у вас Excel 2007 или 2010, то тип файла должен быть с поддержкой макросов, т.е. в формате xlsm!) и вернитесь в Excel. Теперь вы можете вставить созданную функцию в любую ячейку листа этой книги обычным способом — через мастер функций (кнопка fx в строке формул, категория Определенные пользователем) или просто набрав ее в ячейке вручную и указав в качестве аргумента ячейку с суммой:

propis1.gif

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

 =СУММАПРОПИСЬЮ(A3)&» руб. «&ТЕКСТ((A3-ЦЕЛОЕ(A3))*100;»00″)&» коп.» 

=СУММАПРОПИСЬЮ(A3)&» руб. «&TEXT((A3-INT(A3))*100;»00″)&» коп.»

Тогда, например, для числа 35,15 результат функции будет выглядеть как «тридцать пять руб. 15 коп.»

Ссылки по теме

  • Более мощный вариант функции с рублями и копейками на русском/английском из надстройки PLEX
  • Что такое макросы, куда вставлять код макроса, как их использовать

Сумма прописью в 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 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 без использования

VBA

. Вспомогательные диапазоны разместим в личной книге макросов. Кроме того, добавим руб./коп. для записи денежных сумм, например: четыреста сорок четыре руб. 00 коп.

Иногда требуется записать число прописью:

256

записать как

двести пятьдесят шесть

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

В статье

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

приведено решение этой задачи позволяющей перевести число в текстовую форму по следующему алгоритму:

  • вводим число в определенную ячейку;
  • с помощью формул, вспомогательных диапазонов с текстом и

    имен

    получаем число прописью;

  • копируем результат вычисления формулы (число прописью) в

    Буфер обмена

    ;
  • вставляем текст в любую открытую книгу «Как значение» (

    ).

Это не всегда удобно. Хочется по аналогии с функциями на VBA написать что то вроде =ЧислоПрописью(А1) и получить результат. Все промежуточные вычисления должны быть «за кадром». Но, создание пользовательских функций это прерогатива VBA.

Тем не менее, можно предложить следующее решение с помощью обычных формул:

  • разместить в Личной книге макросов (PERSONAL.XLSB) вспомогательные диапазоны, содержащие некоторые числа прописью (от 0 до 999);
  • создать формулу, переводящую в текст любое число от 0 до 1 млрд. с помощью вспомогательных диапазонов и

    имен

    ;

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

    Именованную формулу

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

    с

    относительной

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

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

G

6

исходное число, а в ячейке

G7

формулу

=ЧислоПрописью

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

Все это реализовано в

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

.

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

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

на листе

Служ

размещены вспомогательные диапазоны, содержащие некоторые числа прописью в Excel.

Теперь эти диапазоны длиннее (числа от 1 до 999) и содержат слова

тысяча

и

миллион

с учетом склонения. Также создан диапазон для отображения слова

Рублей

с учетом склонения.

Теперь все готово для записи формулы переводящей исходное число (ячейка

B

6

) в текст:

=СЖПРОБЕЛЫ( ИНДЕКС(Миллионы;ОСТАТ(ОТБР(B6/1000000);1000000)+1)&» «& ИНДЕКС(Тысячи;ОСТАТ(ОТБР(B6/1000);1000)+1)&» «& ИНДЕКС(Единицы;ОСТАТ(B6;1000)+1))

Задача в принципе решена, осталось только разместить вспомогательные диапазоны в Личную книгу макросов PERSONAL.XLSB, для того чтобы формула, переводящая число в текст была доступна в любой книге.

В Windows XP эта книга находится в папке C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда она будет автоматически загружается при каждом запуске приложения Excel. В Windows Vista эта книга хранится в папке C:Usersимя_пользователяApplication DataMicrosoftExcelXLStart.

Если Личная книга макросов еще не была создана, то скопируйте лист

Служ

из файла примера в новую книгу, и сохраните ее в директорию C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart (для XP) под именем PERSONAL.XLSB.

Если Личная книга макросов уже была ранее создана, то через меню

отобразите ее, скопируйте в нее лист

Служ,

сохраните Личную книгу макросов (можно ее потом скрыть

).

Теперь откройте

книгу, в которой нужно записать число прописью

. Исходное число разместите, например, в ячейке

А1

. Введите в нужную ячейку формулу:

=ЕСЛИ(A1;СЖПРОБЕЛЫ( ИНДЕКС(PERSONAL.XLSB!Миллионы;ОКРУГЛВНИЗ(A1;-6)/1000000+1)&» «& ИНДЕКС(PERSONAL.XLSB!тысячи;ОСТАТ(ОТБР(A1/1000);1000)+1)&» «& ИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00″)&» коп.»);»ноль руб. 00 коп.»)

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

Чтобы еще больше приблизиться к идеалу создадим

именованную формулу

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

. Для этого:

  • выделите ячейку

    B1

    ;
  • через меню

    создайте именованную формулу

    ЧислоПрописью;

  • в поле

    Диапазон

    введите формулу указанную выше:
  • нажмите ОК;
  • в ячейке

    В1

    введите формулу

    =ЧислоПрописью
  • ячейка

    В1

    будет содержать число прописью.

Теперь ячейки

А1

и

В1

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

относительная ссылка

.


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

Дано: Excel c числами и суммами в рублях в ячейках.
Задача: написать данные числа прописью без использования макросов и каких-либо надстроек программы Excel, т.е. написать число прописью при помощи стандартных формул.

Пример файла excel с таким решением можно скачать здесь.
См. также Сумма прописью онлайн (если просто нужно получить результат).
Что означает прописью?
Данный файл производит следующие манипуляции с числами:

1. Формула 1 преобразовывает число в сумму прописью следующего формата:
«0 (пропись) рублей 00 копеек»

2. Формула 2 преобразовывает число в сумму прописью следующего формата:
«Пропись рублей 00 копеек»

3. Формула 3 просто переводит число в текст: число = пропись

Вот формулы, которые пишут сумму прописью:

1) Формула 1:

=ПОДСТАВИТЬ(ТЕКСТ(ОТБР(A1;0);«# ##0_ «) & «(« & ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);2;1)+1;ПСТР(ТЕКСТ(A1;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);1;3);«миллиард»&ВПР(ПСТР(ТЕКСТ(A1;n0);3;1)*И(ПСТР(ТЕКСТ(A1;n0);2;1)-1);мил;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);5;1)+1;ПСТР(ТЕКСТ(A1;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);4;3);«миллион»&ВПР(ПСТР(ТЕКСТ(A1;n0);6;1)*И(ПСТР(ТЕКСТ(A1;n0);5;1)-1);мил;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A1;n0);8;1)+1;ПСТР(ТЕКСТ(A1;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);7;3);ВПР(ПСТР(ТЕКСТ(A1;n0);9;1)*И(ПСТР(ТЕКСТ(A1;n0);8;1)-1);тыс;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);11;1)+1;ПСТР(ТЕКСТ(A1;n0);12;1)+1));«z»;» «)&ЕСЛИ(ОТБР(ТЕКСТ(A1;n0));«»;«Ноль «)&«) рубл»&ВПР(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A1;n0);11;2)-11;100);9);10);{0;«ь «:1;«я «:4;«ей «};2)&ПРАВСИМВ(ТЕКСТ(A1;n0);2)&» копе»&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВСИМВ(ТЕКСТ(A1;n0);2)-11;100);9);10);{0;«йка»:1;«йки»:4;«ек»};2);» )»;«)»)

2) Формула 2

=ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);2;1)+1;ПСТР(ТЕКСТ(A1;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);1;3);«миллиард»&ВПР(ПСТР(ТЕКСТ(A1;n0);3;1)*И(ПСТР(ТЕКСТ(A1;n0);2;1)-1);мил;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);5;1)+1;ПСТР(ТЕКСТ(A1;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);4;3);«миллион»&ВПР(ПСТР(ТЕКСТ(A1;n0);6;1)*И(ПСТР(ТЕКСТ(A1;n0);5;1)-1);мил;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A1;n0);8;1)+1;ПСТР(ТЕКСТ(A1;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);7;3);ВПР(ПСТР(ТЕКСТ(A1;n0);9;1)*И(ПСТР(ТЕКСТ(A1;n0);8;1)-1);тыс;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);11;1)+1;ПСТР(ТЕКСТ(A1;n0);12;1)+1));«z»;» «)&ЕСЛИ(ОТБР(ТЕКСТ(A1;n0));«»;«Ноль «)&«рубл»&ВПР(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A1;n0);11;2)-11;100);9);10);{0;«ь «:1;«я «:4;«ей «};2)&ПРАВСИМВ(ТЕКСТ(A1;n0);2)&» копе»&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВСИМВ(ТЕКСТ(A1;n0);2)-11;100);9);10);{0;«йка»:1;«йки»:4;«ек»};2)

3) Формула 3

=ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);2;1)+1;ПСТР(ТЕКСТ(A1;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);1;3);«миллиард»&ВПР(ПСТР(ТЕКСТ(A1;n0);3;1)*И(ПСТР(ТЕКСТ(A1;n0);2;1)-1);мил;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);5;1)+1;ПСТР(ТЕКСТ(A1;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);4;3);«миллион»&ВПР(ПСТР(ТЕКСТ(A1;n0);6;1)*И(ПСТР(ТЕКСТ(A1;n0);5;1)-1);мил;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A1;n0);8;1)+1;ПСТР(ТЕКСТ(A1;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);7;3);ВПР(ПСТР(ТЕКСТ(A1;n0);9;1)*И(ПСТР(ТЕКСТ(A1;n0);8;1)-1);тыс;2);«»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);11;1)+1;ПСТР(ТЕКСТ(A1;n0);12;1)+1));«z»;» «)&ЕСЛИ(ОТБР(ТЕКСТ(A1;n0));«»;«Ноль «)

При необходимости формулу можно подогнать под нужный формат.

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

Итак, нам необходимо сделать следующие справочники:

Имя диапазона: 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)&»00″

Имя диапазона: 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»}

Чтобы создать справочник таких диапазонов, переходим на вкладку «Формулы» — «Диспетчер имен«:

В открывшемся окне нажимаем кнопку «Создать» и в форме вводим данные первого диапазона из таблицы:

Далее таким же образом вводим все остальные диапазоны из таблицы:

Всё, теперь можно использовать указанные выше формулы: вставьте формулу в ячейку, где необходимо отобразить число прописью, а в самой формуле (можно через любой текстовый редактор) замените адрес «A1» на адрес той ячейки, где располагается исходное число.

 

Ella S.


Основано на материалах форума excelworld.ru/forum/3-9902

Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

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

Все описанное успешно работает с последним пакетом MS Excel 2021, а значит должно работать и в ранних версиях.

Содержание

  1. Шаг 1 – Скачиваем надстройку
  2. Шаг 2 – Подключаем надстройку
  3. Шаг 3 – Переделываем числа в текст
  4. Видео по теме
  5. Задать вопрос автору статьи

Шаг 1 – Скачиваем надстройку

Сумма прописью в Excel: трансформируем числа легко

Главная проблема в нашей задаче – Excel сам по себе не умеет делать такое Поэтому придется использовать внешнюю надстройку.

Скачиваем ее отсюда (используется NUM2TEXT.xla)

Шаг 2 – Подключаем надстройку

Теперь переходим в наш документ Excel.

  1. Щелкаем по «Файл».

Сумма прописью в Excel: трансформируем числа легко

  1. «Параметры».

Сумма прописью в Excel: трансформируем числа легко

  1. Переходим в раздел «Надстройки». Убеждаемся, что в пункте «Управление» стоит «Настройки Excel» и нажимаем на кнопку «Перейти».

Сумма прописью в Excel: трансформируем числа легко

  1. Откроется окошко, где нам нужно нажать на кнопку «Обзор».

Сумма прописью в Excel: трансформируем числа легко

  1. Находим ранее скаченную надстройку NUM2TEXT и выбираем ее.

Сумма прописью в Excel: трансформируем числа легко

  1. Смотрим, чтобы нашей надстройки стояла галочка и нажимаем «ОК».

Сумма прописью в Excel: трансформируем числа легко

Шаг 3 – Переделываем числа в текст

А вот теперь можно подойти к экспериментам.

  1. Выделяем нужную нам ячейку вписываем туда формулу:

=Сумма_прописью(1745,28)

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

Сумма прописью в Excel: трансформируем числа легко

Как видите, сумма сразу отображается в денежном формате. Если вам нужно получить просто число – я обычно копирую этот текст вручную (Ctrl + C), вставляю в формате «Только значения» (Ctrl + V и выбираем формат среди иконок) и уже удаляю рубли и копейки из простого текста. Вот так все несложно.

Видео по теме

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

Like this post? Please share to your friends:
  • Excel цифры после точки
  • Excel цифры не пишутся
  • Excel цифры на английском
  • Excel цифры меняются на дату
  • Excel цифры вместо букв в колонках