Цифры переводим в пропись в excel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

на

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Процедуры !SEMTools

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Lumpics.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);2;1)+1;ПСТР(ТЕКСТ(A3;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);1;3);»миллиард»&ВПР(ПСТР(ТЕКСТ(A3;n0);3;1)*И(ПСТР(ТЕКСТ(A3;n0);2;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);5;1)+1;ПСТР(ТЕКСТ(A3;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);4;3);»миллион»&ВПР(ПСТР(ТЕКСТ(A3;n0);6;1)*И(ПСТР(ТЕКСТ(A3;n0);5;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A3;n0);8;1)+1;ПСТР(ТЕКСТ(A3;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);7;3);ВПР(ПСТР(ТЕКСТ(A3;n0);9;1)*И(ПСТР(ТЕКСТ(A3;n0);8;1)-1);тыс;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);10;1)+1)&ИНДЕКС(ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);n1x;n0x);ПСТР(ТЕКСТ(A3;n0);11;1)+1;ПСТР(ТЕКСТ(A3;n0);12;1)+1));»z»;» «)&ЕСЛИ(ОТБР(ТЕКСТ(A3;n0));;»Ноль «)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);ЕСЛИ(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);11;2)-11;100);9);10);»целых «;»целая «)&ПОДСТАВИТЬ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);14;6)/10^5+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)+1)&ЕСЛИ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000);ВПР(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)*(ОСТАТ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4);10)<>1);тыс;2);»»)&ИНДЕКС(n_4;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/100;10)+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6);10)+1);»z»;» «)&ИНДЕКС(доля;ДЛСТР(ПСТР(ТЕКСТ(A3;n0);14;6));(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)-11;100);9);10)>0)+1);)

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

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

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

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

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

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

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

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

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

Function SUMMPROPIS(n As Double) As String
 Dim Chis1, Chis2, Chis3, Chis4, Chis5 As Variant
 Chis1 = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
 Chis2 = Array("", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят", "девяносто ")
 Chis3 = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
 Chis4 = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
 Chis5 = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")
 If n <= 0 Then
 SUMMPROPIS = "ноль"
 Exit Function
End If
 cifr = Retclass(n, 1)
 des = Retclass(n, 2)
 hund = Retclass(n, 3)
 thous = Retclass(n, 4)
 desthous = Retclass(n, 5)
 hundthous = Retclass(n, 6)
 mil = Retclass(n, 7)
 desmil = Retclass(n, 8)Select Case desmil
 Case 1
 mil_txt = Chis5(mil) & "миллионов "
 GoTo www
 Case 2 To 9
 desmil_txt = Chis2(desmil)
 End Select
 Select Case mil
 Case 1
 mil_txt = Chis1(mil) & "миллион "
 Case 2, 3, 4
 mil_txt = Chis1(mil) & "миллиона "
 Case 5 To 20
 mil_txt = Chis1(mil) & "миллионов "
 End Select
www:
 hundthous_txt = Chis3(hundthous)
 Select Case desthous
 Case 1
 thous_txt = Chis5(thous) & "тысяч "
 GoTo eee
 Case 2 To 9
 desthous_txt = Chis2(desthous)
 End Select
 Select Case thous
 Case 0
 If desthous > 0 Then thous_txt = Chis4(thous) & "тысяч "
 Case 1
 thous_txt = Chis4(thous) & "тысяча "
 Case 2, 3, 4
 thous_txt = Chis4(thous) & "тысячи "
 Case 5 To 9
 thous_txt = Chis4(thous) & "тысяч "
 End Select
 If desthous = 0 And thous = 0 And hundthous <> 0 Then hundthous_txt = hundthous_txt & " тысяч "
eee:
 hund_txt = Chis3(hund)
 Select Case des
 Case 1
 cifr_txt = Chis5(cifr)
 GoTo rrr
 Case 2 To 9
 des_txt = Chis2(des)
 End Select 
 cifr_txt = Chis1(cifr)
rrr:
 SUMMPROPIS = desmil_txt & mil_txt & hundthous_txt & desthous_txt & thous_txt & hund_txt & des_txt & cifr_txt
End Function
Private Function Retclass(M, I)
 Retclass = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1))
End Function

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

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

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

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

 =SUMMPROPIS(A7)&" руб. "&ТЕКСТ((A7-ЦЕЛОЕ(A7))*100;"00")&" коп."

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

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

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

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

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

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

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

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

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



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

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

«000000000000»)

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

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

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

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

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

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

Exit Function

 
Число_Error:
    MsgBox Err.Description

End Function

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

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

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

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

End Function

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

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

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

End Function

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

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

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

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

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

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

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

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

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

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

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

 
   FuncName = 

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

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

End Sub
 

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

Private Sub Workbook_Open()
DescribeFunction
End Sub
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подписаться

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

​Смотрите также​ ссылкой на дополнительный​ функция для выделения​ — 1, 2)​ txt = txt​ 1, «восемь рублей»,​ n = Right(n,​ оно отображалось прописью​Мастера текстов​Выделяем исходную область и​ пиктограмма появилась одна​ внесем​ она отобразится в​Вставьте строки кода в​ = » Trillion​ ячейку формулу:​ необходимую надстройку в​При заполнении различных финансовых​ лист​ из числа разрядов​ = «10» Then​

​ & Edinicy(Mid(SumInt, shag​ «восемь долларов»)) Edinicy(9)​

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

​ 1) End Select​ (словами) на русском​и жмем на​ производим щелчок по​ для всей области,​«0,0»​ ячейке ниже. Это​

​ поле​ » ‘ String​=ЕСЛИ(A1;СЖПРОБЕЛЫ(​ программу.​ документов часто требуется​

  1. ​2. Формулой с​ Private Function Class(M,​​ vl = Mid(SumInt,​​ — 1, 2))​

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

  2. ​ = «девять «:​​ Dim Двадцатка As​​ или других языках.​

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

  3. ​ кнопку​ ней правой кнопкой​​ а не для​​, то результат будет​

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

  4. ​ означает, что преобразование​​Module1 (Code)​​ representation of amount.​​ИНДЕКС(PERSONAL.XLSB!Миллионы;ОКРУГЛВНИЗ(A1;-6)/1000000+1)&» «&​​Автор: Максим Тютюшев​​ прописать сумму не​​ использованием имен​

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

  5. ​ I) Class =​ shag, 1) Else​ & «мільярдів «​​ EdinicyPoslednie(9) = IIf(Valuta​​ String Двадцатка =​

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

  6. ​ Так как по​«Готово»​ мыши. В активировавшемся​ каждой ячейки в​ отображаться с одним​ было совершено не​(Модуль 1 —​​ MyNumber = Trim(Str(MyNumber))​​ИНДЕКС(PERSONAL.XLSB!тысячи;ОСТАТ(ОТБР(A1/1000);1000)+1)&» «&​

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

  7. ​Запишем число прописью в​ только числом, но​3. с помощью​ Int(Int(M — (10​ vl = Mid(SumInt,​ Else txt =​​ = 0, «девять​​ «» Select Case​

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

  8. ​ умолчанию нет готовой​.​ контекстном списке переходим​ отдельности. Щелкаем по​ десятичным знаком, если​ полностью. В этом​ код).​ ‘ Position of​​ИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00»)&»​​ Excel без использования VBA.​ и прописью. Конечно,​

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

  9. ​ UDF​ ^ I) *​ shag — 1,​​ txt & Edinicy(vl)​​ евро», IIf(Valuta =​ n Case «0»:​ функции, создадим свою​Как видим, после выполнения​ по пунктам​ ней.​​«0,00»​​ и заключается одна​

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

  10. ​Нажмите клавиши​​ decimal place 0​​ коп.»);»ноль руб. 00​ Вспомогательные диапазоны разместим​​ это занимает гораздо​​MCH​ Int(M / (10​ 2) txt =​ & mlrd(vl) ‘числа​ 1, «девять рублей»,​ Двадцатка = «»​ пользовательскую функцию с​

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

    ​ данных действий числа​«Специальная вставка»​Открывается уже знакомый нам​, то с двумя,​ из фишек Excel.​Alt + Q​ if none. DecimalPlace​ коп.»)​ в личной книге​ больше времени, чем​​: Сумма прописью на​​ ^ I))) /​​ txt & EdinicyPoslednie(vl)​​ в диапозоне от​

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

  11. ​ «девять долларов»)) Edinicy(11)​ Case «1» Select​ помощью макросов.​ приняли привычный для​и​ список. Как и​ и т.д.​ Программа не дает​

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

​, чтобы вернуться​ = InStr(MyNumber, «.»)​Формула отобразит число прописью.​ макросов. Кроме того,​​ обычное написание с​​ таджикском языке​​ 10 ^ (I​​ ‘-КОНЕЦ БЛОКА_______________________ End​ 11 до 19​ = «одиннадцать «:​​ Case Sex Case​​Для создания пользовательской функции,​ русскоязычной версии формат,​​«Значения и форматы чисел»​​ в прошлый раз,​После того, как все​ завершить преобразование данных​

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

​ в Microsoft Excel.​ ‘ Convert cents​​ Ячейки, содержащие исходное​​ добавим руб./коп. для​ помощью цифр. Если​Реализовано формулой и​ — 1)) End​ Select 10: Next​ склоняются на «мільярдов»​

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

​ EdinicyPoslednie(11) = IIf(Valuta​ «м»: Двадцатка =​ которая сможет перевести​ а это значит,​.​ выбираем позицию​ требуемые параметры введены,​ наиболее интуитивно понятным​ Функция SpellNumber теперь​ and set MyNumber​

​ число и формулу,​

lumpics.ru

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

​ записи денежных сумм,​ подобным образом нужно​ два варианта UDF​ Function​ x a =​ независимо от последнего​ = 0, «одиннадцать​ «один » Case​ число в текст​ что они одновременно​

​Все данные вставлены в​«Преобразовать в число»​ щелкаем по кнопке​ способом.​ готов к использованию.​ to dollar amount.​ можно перенести в​ например: четыреста сорок​ заполнить не одно,​MCH​Сохраните файл (если у​

​ SumBase b =​ числа триады Else​ евро», IIf(Valuta =​ «ж»: Двадцатка =​ прописью , нам​ были преобразованы из​

  • ​ нужном нам виде.​.​
  • ​«OK»​Чтобы завершить преобразование, нам​Примечание:​ If DecimalPlace >​
  • ​ любое место в​ четыре руб. 00​ а много документов,​
  • ​: Сумма прописью на​ вас Excel 2007​ Int(a) c =​ txt = txt​ 1, «одиннадцать рублей»,​

​ «одна » Case​ нужно выполнить 3​ текстовых данных в​ Теперь можно удалить​Все данные массива будут​.​ нужно последовательно двойным​ Эта функция работает только​ 0 Then Cents​ книге или даже​ коп.​

​ то временные потери​ туркменском, азербайджанском (кириллицей​ или 2010, то​ (a — b)​

  • ​ & Edinicy(vl) &​ «одиннадцать долларов»)) Edinicy(12)​ «с»: Двадцатка =​ простых шага:​ числовые.​
  • ​ транзитный диапазон, в​ преобразованы в указанный​Как видим, значение первого​ щелчком левой кнопки​ для текущей книги.​ = GetTens(Left(Mid(MyNumber, DecimalPlace​
  • ​ в другую книгу.​Иногда требуется записать число​ становятся огромными. Кроме​ и латиницей) и​ тип файла должен​ * 100 If​ mlrd(vl) End If​ = «двенадцать «:​ «одно » End​Открыть редактор макросов ALT+F11.​Если вам часто приходится​ котором находится формула​

​ вид.​ элемента заданного диапазона​ мыши поместить курсор​​ Для использования этой​​ + 1) &​Чтобы еще больше приблизиться​​ прописью: 256 записать​​ того, именно в​ турецком языках​

​ быть с поддержкой​ c = 0​

​ ‘-КОНЕЦ БЛОКА_______________________ Case​ EdinicyPoslednie(12) = IIf(Valuta​ Select Case «2»:​Создать новый модуль и​ преобразовывать большие области​ двойного бинарного отрицания.​

​Как и для преобразования​ отобразилось в ячейке,​ в каждый элемент​ функции в другой​ _ «00», 2))​ к идеалу создадим​ как двести пятьдесят​ записи суммы прописью​Функция на турецком​

​ макросов, т.е. в​ Then c =​ 9 ‘ -​​ = 0, «двенадцать​​ Select Case Sex​
​ в нем нужно​
​ данных из текстового​
​ Для этого выделяем​
​ данных из числового​

​ которую мы выделили​ диапазона в отдельности​ книге, необходимо повторить​ MyNumber = Trim(Left(MyNumber,​ именованную формулу ЧислоПрописью.​ шесть. Набирать этот​ наиболее часто встречаются​ реализована не полностью​ формате xlsm!) и​

​ CStr(c) + «0»​ сотни миллионов vl​ евро», IIf(Valuta =​ Case «м»: Двадцатка​ написать функцию особенным​ формата в числовой,​ данную область, кликом​ вида в текст,​ ещё в первом​ и нажать на​ шаги, скопируйте и​

​ DecimalPlace — 1))​ Для этого:​ текст безумно скучно,​ грамматические ошибки. Давайте​ (отсутствуют копейки)​ вернитесь в Excel.​ d = «»​ = Mid(SumInt, shag,​ 1, «двенадцать рублей»,​ = «два «​ способом: Function вместо​

​ то имеется смысл​ правой кнопки мыши​ в Экселе существует​ пункте данного руководства.​ клавишу​ вставьте код в​ End If Count​выделите ячейку​ кроме того легко​ выясним, как сделать​EvgeniyaD​

​ Теперь вы можете​​ If Valuta =​ 1) txt =​​ «двенадцать долларов»)) Edinicy(13)​ Case «ж»: Двадцатка​​ Sub. Тогда наша​​ в этих целях​ вызываем контекстное меню​
​ возможность обратного конвертирования​
​ Для того, чтобы​
​Enter​
​ этой книге.​ = 1 Do​B1​

​ ошибиться, поэтому давно​ так, чтобы числа​: Раз предыдущий топик​ вставить созданную функцию​ 1 Then d​ txt & Sotni(vl)​ = «тринадцать «:​

​ = «две «​ функция «ЧислоПропись» будет​ записать специальный макрос,​ и выбираем в​

  • ​ через окно форматирования.​​ перенести и другие​​. Чтобы упростить задачу​
  • ​К началу страницы​ While MyNumber <>​;​ написаны макросы на​
  • ​ прописью вносились автоматически.​ удалился, напишу вопрос​
  • ​ в любую ячейку​
  • ​ = «коп.» Else​​ Case 8 ‘​​ EdinicyPoslednie(13) = IIf(Valuta​
  • ​ Case «с»: Двадцатка​​ отображаться в списке​​ который будет использоваться​ нем позицию​

​Выделяем диапазон, содержащий цифры​​ значения, нужно скопировать​​ вместо двойного щелчка​Введите формулу​ «» Temp =​через меню Формулы/ Определенные​ VBA, которые легко​Скачать последнюю версию​ заново здесь. Как​ листа этой книги​ d = «цен.»​

​ — десятки миллионов​ = 0, «тринадцать​ = «Два «​ мастера функций (SHIFT+F3),​ при необходимости. Но​«Очистить содержимое»​ в текстовом варианте.​ формулу в смежные​ можно использовать нажатие​= SpellNumber​ GetHundreds(Right(MyNumber, 3)) If​

excel2.ru

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

​ имена/ Присвоить имя​​ справляются с этой​ Excel​ только в вставила,​ обычным способом -​ If Valuta >​ vl = Mid(SumInt,​ евро», IIf(Valuta =​ End Select Case​ в категории «Определенные​ для того, чтобы​.​ Кликаем правой кнопкой​ элементы листа. Устанавливаем​ функциональной клавиши​(​ Temp <> «»​ создайте именованную формулу​ задачей.​В Эксель нет встроенного​ формула работала как​

​ через мастер функций​ 2 Or Valuta​ shag, 1) If​ 1, «тринадцать рублей»,​ «3»: Двадцатка =​ пользователем».​ это выполнить, прежде​Кстати, для преобразования значений​ мыши. В контекстном​ курсор в нижний​F2​A1​ Then Dollars =​ ЧислоПрописью;​В статье Число прописью​ инструмента, который бы​ часы. но после​ (кнопка​ 2 Or Valuta​ vl = «1»​ «тринадцать долларов»)) Edinicy(14)​ «три » Case​

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

​) в ячейку, которую​​ Temp & Place(Count)​в поле Диапазон введите​ (статичный вариант) приведено​ помогал автоматически переводить​ закрытия и открытия​f​ < 0 Then​ And Mid(SumInt, shag​ = «четырнадцать «:​ «4»: Двадцатка =​ код и сохранить:​ своей версии Экселя​ не обязательно использовать​«Формат ячеек…»​ который содержит формулу.​После выполнения данной процедуры​ вы хотите отобразить​ & Dollars If​ формулу указанную выше:​ решение этой задачи​ цифры в слова.​ документа в начале​x​ GoTo 11 ЧислоПрописьюВалюта​

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

  1. ​ + 1, 1)​​ EdinicyPoslednie(14) = IIf(Valuta​​ «четыре » Case​​​​ включить макросы и​ исключительно двойное умножение​.​

    ​ Курсор преобразуется в​​ со всеми ячейками​ письменного номер, где​ Len(MyNumber) > 3​нажмите ОК;​

  2. ​ позволяющей перевести число​​ Поэтому для решения​​ появились какие-то нули.​​в строке формул,​​ = txt +​

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

  3. ​ <> 0 Then​

    ​ = 0, «четырнадцать​​ «5»: Двадцатка =​Function ЧислоПропись(Число As Currency)​ панель разработчика, если​ на​Выполняется запуск окна форматирования.​

    ​ маркер заполнения, имеющий​ области, данные в​ A1 — ячейку,​ Then MyNumber =​в ячейке​ в текстовую форму​ поставленной задачи используют​ В чем может​ категория​ " " +​ GoTo 10 Else​ евро", IIf(Valuta =​ "пять " Case​ As String 'до​ это до сих​«-1»​ Как и в​ вид небольшого крестика.​ них будут восприниматься​ содержащую число вы​ Left(MyNumber, Len(MyNumber) -​В1​ по следующему алгоритму:​ специальные надстройки.​ быть дело и​Определенные пользователем​ CStr(c) + d​ txt = txt​ 1, "четырнадцать рублей",​ "6": Двадцатка =​ 999 999 999​ пор не сделано.​. Можно применять любое​ предыдущий раз, переходим​ Зажимаем левую кнопку​ программой, как текстовые​ хотите преобразовать. Можно также​ 3) Else MyNumber​введите формулу =ЧислоПрописью​вводим число в определенную​Одной из самых удобных​ возможно ли это​) или просто набрав​ 11: End Function​ & Desyatki(vl) '​ "четырнадцать долларов")) Edinicy(15)​ "шесть " Case​ 999 On Error​Переходим во вкладку​ другое арифметическое действие,​ во вкладку​ мыши и протаскиваем​ выражения, а, следовательно,​ вручную ввести значение​ = "" End​ячейка​ ячейку;​ является надстройка NUM2TEXT.​ исправить? Спасибо.​ ее в ячейке​Если мы указываем число​ - если конец​ = "пятнадцать ":​ "7": Двадцатка =​ GoTo Число_Error Dim​«Разработчик»​ которое не ведет​«Число»​ по пустым ячейкам​ и автосумма будет​ как = SpellNumber(22.50).​ If Count =​В1​с помощью формул, вспомогательных​ Она позволяет поменять​MCH​ вручную и указав​ (от 0 до​ триады от 11​ EdinicyPoslednie(15) = IIf(Valuta​ "семь " Case​ strМиллиарды As String,​. Жмем на значок​ к изменению значений​. В группе​ параллельно диапазону, в​ равна нулю. Кроме​Нажмите клавишу​ Count + 1​будет содержать число​ диапазонов с текстом​ цифры на буквы​: Открыл файл в​ в качестве аргумента​ 2)в параметре второй​ до 19 то​ = 0, "пятнадцать​ "8": Двадцатка =​ strМиллионы As String,​ на ленте​ (сложение или вычитание​«Числовые форматы»​ котором находятся исходные​ того, как видим,​Ввод​ Loop Select Case​ прописью.​ и имен получаем​ через Мастер функций.​ MS Excel 2010​ ячейку с суммой:​ функции «ЧислоПрописьюВалюта» то​ перескакиваем на единицы,​ евро", IIf(Valuta =​ "восемь " Case​ strТысячи As String,​«Visual Basic»​ нуля, выполнение возведения​нам нужно выбрать​ данные.​ левый верхний угол​, чтобы подтвердить формулу.​ Dollars Case ""​Теперь ячейки​ число прописью;​Открываем программу Excel и​Нулей не увидел,​Если вам необходимо добавить​ функция автоматически подставит​ иначе - формируем​ 1, "пятнадцать рублей",​ "9": Двадцатка =​ strЕдиницы As String,​, который размещен в​ в первую степень​ значения, которые позволят​Теперь весь ряд заполнен​ ячеек будет окрашен​К началу страницы​ Dollars = "No​А1В1​копируем результат вычисления формулы​ переходим во вкладку​ в ячейке А56​ к полученному тексту​ нужную валюту в​ десятки Case 7​ "пятнадцать долларов")) Edinicy(16)​ "девять " Case​ strСотые As String​ группе​ и т.д.)​ преобразовать текст в​ требуемыми данными. Но​ в зеленый цвет.​Excel не может сохранить​ Dollars" Case "One"​можно скопировать и​ (число прописью) в​«Файл»​ находится текст: "Две​ копейки, то можно​ сумме прописью:​ ' - единицы​ = "шестнадцать ":​ "10": Двадцатка =​ Dim Поз As​«Код»​Урок:​ число. К ним​ и это ещё​ Это также является​ книгу с помощью​ Dollars = "One​ перенести в любое​ Буфер обмена;​.​
  4. ​ тысячи шестьдесят восемь​ воспользоваться чуть более​​1-рубли;​​ миллионов vl =​ EdinicyPoslednie(16) = IIf(Valuta​

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

  5. ​ «десять » Case​​ Integer strЧисло =​​.​Как сделать автозаполнение в​ относится пункты​ не все. По​

    ​ косвенным признаком того,​​ функции макросов в​ Dollar» Case Else​ место в книге,​вставляем текст в любую​Перемещаемся в раздел​ рублей 00 копеек»​ сложной конструкцией:​2-доллары;​

​ Mid(SumInt, shag, 1)​

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

  1. ​ = 0, «шестнадцать​​ «11»: Двадцатка =​​ Format(Int(Число), «000000000000») ‘Миллиарды’​​Запускается стандартный редактор макросов.​​ Excel​«Общий»​ сути, все элементы​ что элементы, в​ формате стандартной книги​ Dollars = Dollars​ но они должны​ открытую книгу «Как​

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

​0-евро;​

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

​ If shag >​ евро», IIf(Valuta =​ «одиннадцать » Case​ Поз = 1​ Вбиваем или копируем​Следующий способ по принципу​​и​​ нового диапазона содержат​​ которых находятся цифры,​​ без поддержки макросов​​ & » Dollars»​​ быть всегда на​​ значение» (Главная/ Буфер​​.​

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

​: «В начале» это​=СУММАПРОПИСЬЮ(A3)&» руб. «&TEXT((A3-INT(A3))*100;»00″)&» коп.»​​Как видите, этот VBA-код​ 2 Then If​​ 1, «шестнадцать рублей»,​ «12»: Двадцатка =​

  1. ​ strМиллиарды = Сотни(Mid(strЧисло,​​ в него следующее​​ действия очень похож​​«Числовой»​​ в себе формулы.​

  2. ​ преобразованы в текстовый​​ (XLSX). Если щелкнуть​​ End Select Select​​ одной строке и​ обмена/ Вставить/ Вставить​​В активном окне параметров​

  3. ​ где? На каком​​Тогда, например, для числа​​ макроса преобразует числа​

​ (Mid(SumInt, shag -​

support.office.com

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

Текст в числа и наоборот в Microsoft Excel

​ «шестнадцать долларов»)) Edinicy(17)​ «двенадцать » Case​ Поз, 1)) strМиллиарды​ выражение:​ на предыдущий с​. Какой бы из​ Выделяем эту область​ вариант отображения. Хотя​файл​ Case Cents Case​ в соседних столбцах,​ как значение).​ переходим в раздел​ листе? В какой​ 35,15 результат функции​

​ в слова. После​ 2, 1) =​

Конвертация числа в текстовый вид

​ = «семнадцать «:​ «13»: Двадцатка =​ = strМиллиарды &​Sub Текст_в_число()​ той лишь разницей,​ них вы не​ и жмем на​ этот признак не​>​ «» Cents =​ т.к. именованной формуле​Это не всегда удобно.​«Надстройки»​ ячейке?​ будет выглядеть как​ вставки данного кода​ 0 And Mid(SumInt,​ EdinicyPoslednie(17) = IIf(Valuta​ «тринадцать » Case​ Десятки(Mid(strЧисло, Поз +​Selection.NumberFormat = «General»​ что для его​

​ выбрали, программа будет​ значок​ всегда является обязательным​Сохранить​

Способ 1: форматирование через контекстное меню

​ » and No​ использована относительная ссылка.​ Хочется по аналогии​.​

  1. ​У Вас на​ «тридцать пять руб.​ в модуль редактора​ shag — 1,​ = 0, «семнадцать​​ «14»: Двадцатка =​​ 1, 2), «м»)​Selection.Value = Selection.Value​​ использования не нужно​​ расценивать цифры, введенные​«Копировать»​ и в некоторых​. Откроется диалоговое окно​ Cents» Case «One»​При пересылке файла, например,​ с функциями на​Далее, в параметре настроек​

    Общий формат в Microsoft Excel

  2. ​ листе «Гарантированный» в​ 15 коп.»​ макросов, у нас​ 1) = 0​​ евро», IIf(Valuta =​​ «четырнадцать » Case​

    Переход в окно форматирования в Microsoft Excel

  3. ​ strМиллиарды = strМиллиарды​End Sub​​ создавать дополнительный столбец.​​ в ячейку, как​, который расположен во​ случаях такая пометка​проекта VB​​ Cents = «​​ по электронной почте,​​ VBA написать что​​«Управление»​ начале в ячейках​MCH​​ работает новая функция,​​ And vl =​ 1, «семнадцать рублей»,​

    Окно форматирования в Microsoft Excel

  4. ​ «15»: Двадцатка =​ & ИмяРазряда(strМиллиарды, Mid(strЧисло,​После этого закрываем редактор,​В любую пустую ячейку​ числа. Производим выбор​ вкладке​

    Ячейки преобоазованы в текстовый формат в Microsoft Excel

  5. ​ отсутствует.​. Нажмите кнопку​ and One Cent»​ формула будет продолжать​ то вроде =ЧислоПрописью(А1)​устанавливаем значение​ А5:А11 битая формула,​:​ которую можно вызвать​ «0») Then GoTo​ «семнадцать долларов»)) Edinicy(18)​ «пятнадцать » Case​ Поз + 1,​

    Автосумма в Microsoft Excel

  6. ​ выполнив нажатие стандартной​ на листе вписываем​ и жмем на​«Главная»​Урок:​Нет​ Case Else Cents​ работать, не смотря​​ и получить результат.​​«Надстройки Excel»​ возвращающая значение​В связи с удалением​ из мастера (кнопка​​ 10 End If​​ = «восемнадцать «:​

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

  7. ​ «16»: Двадцатка =​ 2), «миллиард «,​ кнопки закрытия в​ цифру​ кнопку. Если вы​на ленте инструментов​Как изменить формат в​.​ = » and​ на то, что​ Все промежуточные вычисления​. Жмем на кнопку​#ССЫЛКА!​ оригинальной темы (http://www.excelworld.ru/forum/3-3521-1),​ fx возле строки​ If shag >​ EdinicyPoslednie(18) = IIf(Valuta​ «шестнадцать » Case​ «миллиарда «, «миллиардов​ верхнем правом углу​«1»​ выбрали значение​ группе​

Автосумма равна 0 в Microsoft Excel

​ Excel​​Можно сохранить файл в​ » & Cents​

Способ 2: инструменты на ленте

​ Личная книга макросов​ должны быть «за​«Перейти…»​. Наверное, что-то удалили​ размещаю дубликат​ формул).​ 1 Then If​ = 0, «восемнадцать​

  1. ​ «17»: Двадцатка =​ «) ‘Миллионы’ Поз​ окна.​. Затем выделяем её​​«Числовой»​​«Буфер обмена»​Преобразовать число в текстовый​ формате​ & » Cents»​ не пересылалась, т.е.​ кадром». Но, создание​​.​​ не аккуратно, потому​

    Переход к форматированию на ленте в Microsoft Excel

  2. ​Решил опубликовать собственные​Скачать число прописью в​​ Mid(SumInt, shag -​​ евро», IIf(Valuta =​

    Выбор текстового формата в Microsoft Excel

  3. ​ «семнадцать » Case​ = 4 strМиллионы​Выделяем фрагмент на листе,​ и жмем на​, то в правой​.​ вид можно также​​Книга Excel с поддержкой​​ End Select SpellNumber​ Ваши коллеги получившие​​ пользовательских функций это​​Открывается небольшое окно надстроек​

​ и ошибка.​ наработки в этом​

Способ 3: использование функции

​ Excel.​ 1, 1) =​ 1, «восемнадцать рублей»,​ «18»: Двадцатка =​ = Сотни(Mid(strЧисло, Поз,​ который нужно преобразовать.​​ знакомый значок​​ части окна появится​Далее, если мы хотим​ воспользовавшись инструментами на​ макросов (xlsm)​ = Dollars &​ файл, смогут с​ прерогатива VBA.​ Excel. Жмем на​Но это явно​ направлении.​Теперь вы можете быстро​ 1 Then txt​ «восемнадцать долларов»)) Edinicy(19)​ «восемнадцать » Case​ 1)) strМиллионы =​ Жмем на значок​

  1. ​«Копировать»​ возможность отрегулировать представление​ сохранить оба диапазона​ ленте, в частности,​, чтобы сохранить файл​​ Cents End Function​​ ним работать как​Тем не менее, можно​

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

  2. ​ кнопку​​ не из-за формулы​​Есть решения на​​ перевести сумму в​​ = txt &​​ = «девятнадцать «:​​ «19»: Двадцатка =​ strМиллионы & Десятки(Mid(strЧисло,​​«Макросы»​​на ленте.​

    Переход к аргументам функции ТЕКСТ в Microsoft Excel

  3. ​ числа: выставить количество​​ (исходный и преобразованный),​​ использовав поле для​ в текущем формате.​

    ​ ' Converts a​

    ​ Вы.​ предложить следующее решение​«Обзор…»​​ вычисления суммы прописью,​​ формулах и с​​ слова прописью. Чтобы​​ Edinicy(Mid(SumInt, shag -​

    ​ EdinicyPoslednie(19) = IIf(Valuta​​ «девятнадцать » End​​ Поз + 1,​, который расположен на​Выделяем область на листе,​ десятичных знаков после​ не снимаем выделение​ показа формата, о​На вкладке​ number from 100-999​

    ​Примечание:​​ с помощью обычных​​.​ которая на листе​ помощью UDF.​​ воспользоваться готовым решением​​ 1, 2)) &​ = 0, «девятнадцать​ Select Десятки =​ 2), «м») strМиллионы​ вкладке​ которую следует преобразовать.​ запятой, установить разделителями​​ с области, которая​​ котором шел разговор​Файл​ into text Function​​ Мы стараемся как можно​​ формул:​В открывшемся окне ищем​

    ​ «А» в ячейке​Так как представлены​ рекомендуем скачать пример​​ «мільйонів » Else:​​ евро», IIf(Valuta =​

    Аргументы функции ТЕКСТ в Microsoft Excel

  4. ​ Десятки & Двадцатка​ = strМиллионы &​«Разработчик»​ Кликаем по ней​ между разрядами. После​ содержит формулы. Кликаем​ выше.​выберите команду​ GetHundreds(ByVal MyNumber) Dim​ оперативнее обеспечивать вас​разместить в Личной книге​ предварительно скачанный и​ А56 работает нормально.​ прописи не только​ числа прописью в​ txt = txt​ 1, «девятнадцать рублей»,​ End Function Function​ ИмяРазряда(strМиллионы, Mid(strЧисло, Поз​в группе​ правой кнопкой мыши.​ того, как настройка​ по ней правой​

    Маркер заполнения в Microsoft Excel

  5. ​Выделяем элементы, данные в​Сохранить как​ Result As String​ актуальными справочными материалами​ макросов (PERSONAL.XLSB) вспомогательные​ сохраненный на жесткий​EvgeniyaD​ на русском языке,​ Excel. Данный файл​ & Edinicy(vl) &​​ «девятнадцать долларов»)) »———————————————​​ ИмяРазряда(Строка As String,​ + 1, 2),​​«Код»​​ В открывшемся меню​ выполнена, жмем на​​ кнопкой мыши. Происходит​​ которых нужно преобразовать​

    Копирование в Microsoft Excel

  6. ​.​ If Val(MyNumber) =​ на вашем языке.​ диапазоны, содержащие некоторые​ диск компьютера файл​: MCH, ясно. Отображается​ то если вы​ содержит уже готовую​ mln(vl) ‘числа в​ Desyatki(0) = «»:​ n As String,​​ «миллион «, «миллиона​​.​ дважды переходим по​ кнопку​​ запуск контекстного списка​​ в текстовый вид.​

    Специальная вставка в Microsoft Excel

    ​Щелкните раскрывающееся меню​ 0 Then Exit​ Эта страница переведена​ числа прописью (от​ надстройки NUM2TEXT.xla. Выделяем​ у нас по-разному.​ найдете ошибки в​ пользовательскую функцию и​

    Специальная вставка в исходный диапазон в Microsoft Excel

  7. ​ диапозоне от 11​ Sotni(0) = «»:​ Имя1 As String,​ «, «миллионов «)​Открывается окно записанных в​ пункту​«OK»​ действий. Выбираем в​ Находясь во вкладке​Тип файла​ Function MyNumber =​ автоматически, поэтому ее​ 0 до 999);​​ его и жмем​​ Alex_ST, «гарантированный» просто​

Очистка содержимого в Microsoft Excel

​ написании числительных, прошу​ VBA-код макроса, который​

​ до 19 склоняются​​ tys(0) = «тисячь​

Конвертация текста в число

​ Имя24 As String,​ ‘Тысячи’ Поз =​ вашей версии программы​«Специальная вставка»​.​ нем позицию​

Способ 1: преобразование с помощью значка об ошибке

​«Главная»​и выберите​ Right(«000» & MyNumber,​ текст может содержать​создать формулу, переводящую в​ на кнопку​ забыла удалить. Я​ сообщить, внесу соответствующие​ доступен в модуле​ на «мільярдов» независимо​ «: mln(0) =​ ИмяПроч As String)​ 7 strТысячи =​ макросов. Находим макрос​.​Теперь, как и в​«Специальная вставка»​кликаем по пиктограмме​Книгу Excel с поддержкой​ 3) ‘ Convert​ неточности и грамматические​ текст любое число​«OK»​ имела ввиду именно​ поправки​ из редактора.​ от последнего числа​ «миллионов «: mlrd(0)​ As String If​ Сотни(Mid(strЧисло, Поз, 1))​ с наименованием​В окне специальной вставки​ случае преобразования числа​. Среди вариантов действий​ в виде треугольника​ макросов​ the hundreds place.​ ошибки. Для нас​ от 0 до​

  1. ​.​ ячейку а56. Но,​Для начала, сумма​Ниже вы найдете готовую​ триады Else txt​

    Значок об ошибке в Microsoft Excel

  2. ​ = «миллиардов «​ Строка <> «»​ strТысячи = strТысячи​​«Текст_в_число»​​ выставляем переключатель в​

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

  3. ​ в текст, нам​ в открывшемся списке​ справа от поля,​.​

Значение в ячейке преобразовано в число в Microsoft Excel

​ If Mid(MyNumber, 1,​ важно, чтобы эта​ 1 млрд. с​Мы видим, что данный​ видимо, зависит от​ прописью без использования​

  1. ​ пользовательскую функцию на​ = txt &​ Desyatki(1) = «десять​ Then ИмяРазряда =​ & Десятки(Mid(strЧисло, Поз​, выделяем его и​ блоке​ нужно прощелкать все​ выбираем​

    Пиктограмма для диапазона в Microsoft Excel

  2. ​ в котором отображается​Нажмите кнопку​ 1) <> «0»​ статья была вам​​ помощью вспомогательных диапазонов​​ элемент появился среди​

преобразование в число диапазона в Microsoft Excel

​ программы.​ макросов.​ VBA, которая переводит​

Преобразование в число выполнено в Microsoft Excel

Способ 2: конвертация при помощи окна форматирования

​ Edinicy(vl) & mln(vl)​ «: Sotni(1) =​ «» Select Case​ + 1, 2),​ жмем на кнопку​«Операция»​

  1. ​ ячейки, установив в​«Значения и форматы чисел»​ формат. Оно расположено​Сохранить​ Then Result =​​ полезна. Просим вас​​ и имен;​

    Переход к окну форматирования в Microsoft Excel

  2. ​ доступных надстроек. Ставим​Alex_ST​Особенности:​ любое число​​ End If ‘-КОНЕЦ​​ «сто «: tys(1)​​ Left(n, 1) Case​​ «ж») strТысячи =​«Выполнить»​в позицию​ каждую из них​.​​ в блоке инструментов​​.​​ GetDigit(Mid(MyNumber, 1, 1))​​ уделить пару секунд​в любой книге, где​ галочку около пункта​: Да похоже, что​1. Без макросов.​от 0 до 9​ БЛОКА_______________________ Case 6​ = «тысяча «:​ «0», «2», «3»,​​ strТысячи & ИмяРазряда(strТысячи,​​.​«Умножить»​ курсор и нажав​Если же пользователь желает​«Число»​К началу страницы​ & » Hundred​ и сообщить, помогла​ требуется записать число​ NUM2TEXT и жмем​​ от версии Офиса​​ Пропись реализована формулой​

    Окно форматирования в программе Microsoft Excel

  3. ​ 999 999​ ‘ — сотни​ mln(1) = «миллион​ «4», «5», «6»,​ Mid(strЧисло, Поз +​Как видим, тут же​. Вслед за этим​ после этого клавишу​​ заменить данные исходного​​.​

Прощелкивание ячеек в Microsoft Excel

​Одной из частых задач,​ » End If​ ли она вам,​ прописью создать Именованную​

Способ 3: конвертация посредством инструментов на ленте

​ на кнопку​ как раз и​ с использованием имен.​в его текстовое​

  1. ​ тысяч vl =​ «: mlrd(1) =​ «7», «8», «9»:​​ 1, 2), «тысяча​​ происходит преобразование текстового​ жмем на кнопку​Enter​ формата, то вместо​​В открывшемся перечне вариантов​​ с которыми сталкиваются​​ ‘ Convert the​​ с помощью кнопок​​ формулу ЧислоПрописью с​​«OK»​

    Форматирование текстового формата в числовой через ленту в Microsoft Excel

  2. ​ не зависит.​2. Не привязана​ представление, т.е. в​ Mid(SumInt, shag, 1)​ «миллиарда » Desyatki(2)​​ n = Right(n,​​ «, «тысячи «,​​ выражения в числовой​​«OK»​

Прощелкивание для трансформации в числовой формат в Microsoft Excel

​.​ указанного действия нужно​ форматирования выбираем пункт​

Способ 4: применение формулы

​ пользователи программы Эксель,​ tens and ones​ внизу страницы. Для​ относительной ссылкой на​.​МСН проверял Ваш​

  1. ​ к диапазонам, можно​ сумму прописью. Перед​ txt = txt​ = «двадцать «:​ 1) End Select​​ «тысяч «) ‘Единицы’​​ формат.​.​​После выполнения этих действий​​ выделить именно его​«Текстовый»​ является преобразования числовых​ place. If Mid(MyNumber,​ удобства также приводим​​ исходное число (относительную​​Для того, чтобы проверить​ файл на 2010,​ легко копировать/переносить, в​ использованием, эту функцию​ & Sotni(vl) Case​ Sotni(2) = «двести​ Select Case n​ Поз = 10​Урок:​После этого действия все​ все значения выбранного​

    Формула в Microsoft Excel

  2. ​ и произвести вставку​​.​​ выражений в текстовый​ 2, 1) <>​ ссылку на оригинал​ ссылку можно создать​ как работает только​ я — на​ т.ч. и в​ необходимо добавить в​ 5 ‘ -​​ «: tys(2) =​​ Case «1»: ИмяРазряда​

    Маркер заполнения для формулы двойного бинарного отрицания в Microsoft Excel

  3. ​ strЕдиницы = Сотни(Mid(strЧисло,​Как создать макрос в​ значения выделенной области​ диапазона преобразуются в​ тем же способом,​​Далее, как и в​​ формат и обратно.​​ «0» Then Result​​ (на английском языке).​ так, чтобы она​​ что установленная надстройка​​ 2003. Результат одинаковый​

    Коопирование числовых значений в Microsoft Excel

  4. ​ другие книги.​ вашу книгу. Для​ десятки тысяч vl​ «тысячи «: mln(2)​ = Имя1 Case​ Поз, 1)) strЕдиницы​​ Экселе​​ будут преобразованы в​​ нужный нам вид.​​ который указан выше.​

     Применение специальной вставки в Microsoft Excel

  5. ​ предыдущем способе, последовательно​ Этот вопрос часто​ = Result &​Нет функции по умолчанию,​ позволяла выводить число​ пишем в любой​ — на листе​3. Работает до​ этого:​ = Mid(SumInt, shag,​ = «миллиона «:​ «2», «3», «4»:​​ = strЕдиницы &​​Как видим, существует довольно​

Очистка содержимого транзитного диапазона в Microsoft Excel

​ числовые. Теперь при​Перевести текстовые данные в​В любом случае, в​ устанавливаем курсор в​ заставляет потратить на​​ GetTens(Mid(MyNumber, 2)) Else​​ отображающий чисел в​ прописью, например, в​ свободной ячейке листа​ «А» в ячейке​ 999 млрд. руб.​нажмите сочетание клавиш​ 1) If vl​ mlrd(2) = «миллиарда​

​ ИмяРазряда = Имя24​​ Десятки(Mid(strЧисло, Поз +​ много вариантов преобразования​

Способ 5: применение специальной вставки

​ желании можно удалить​ числовые можно, воспользовавшись​ выбранный диапазон будут​ каждый элемент диапазона​ решение много времени,​ Result = Result​ виде английских слов​

  1. ​ соседней ячейке слева​ произвольное число. Выделяем​ А56 сумму прописью​​4. Делает первую​​ALT+F11​ = 1 And​ » Desyatki(3) =​​ Case Else: ИмяРазряда​​ 1, 2), «м»)​

    Копирование цифры 1 в Microsoft Excel

  2. ​ в Excel цифр,​ цифру​ специальным полем на​ вставлены данные в​ двойным щелчком левой​ если юзер не​ & GetDigit(Mid(MyNumber, 3))​​ на листе Excel,​​ от исходного числа).​

    Переход в специальную вставку в Microsoft Excel

  3. ​ любую другую ячейку.​ формула выводит нормально.​ букву прописной, остальные​​, чтобы открыть редактор​​ Mid(SumInt, shag +​​ «тридцать «: Sotni(3)​​ = ИмяПроч End​ If strМиллиарды &​​ которые записаны в​​«1»​

    Специальная вставка в программе Microsoft Excel

  4. ​ ленте инструментов.​ текстовом виде. Если​ кнопки мыши или​ знает четкого алгоритма​ End If GetHundreds​ но вы можете​​В результате вышеуказанных манипуляций​​ Кликаем по значку​Поясните, что значит​

Диапазон преобразован в число в помощью специальной вставки в Microsoft Excel

Способ 6: использование инструмента «Текст столбцами»

​ строчные.​ Visual Basic​ 1, 1) <>​ = «триста «:​ Select End If​​ strМиллионы & strТысячи​​ числовом варианте, в​, которую мы использовали​Выделяем диапазон, который должен​ же вы все-таки​ нажатием клавиши​ действий. Давайте разберемся,​ = Result End​ добавить эту возможность​ можно будет, например,​«Вставить функцию»​ «какие-то нули»? Речь​5. Правильно округляет​добавьте новый пустой модуль​ 0 Then GoTo​ tys(3) = «тысячи​ End Function​ & strЕдиницы =​ текстовый формат и​ в целях конвертации.​ подвергнуться трансформации. Переходим​ выбрали вставку в​F2​ как можно решить​ Function ‘ Converts​

  1. ​ путем вставки следующий​ записав в ячейке​. Он расположен слева​​ про А56? Ну​​ до целых копеек,​ через меню​​ 10 Else txt​​ «: mln(3) =​​Можно написать алгоритм макро​​ «» Then strЕдиницы​

    Переход к инструменту Текст по столбцам в Microsoft Excel

  2. ​ в обратном направлении.​​Ещё одним вариантом, при​​ во вкладку​ исходную область, то​, а затем щелкаем​ обе задачи различными​​ a number from​​ код функции SpellNumber​G6​ от строки формул.​ так сделайте скриншот​ даже если копейки​Insert — Module​​ = txt &​​ «миллиона «: mlrd(3)​

    Первое окно Мастера текстов в Microsoft Excel

  3. ​ программы по-другому и​ = «ноль «​ Выбор определенного способа​ котором можно преобразовать​​«Главная»​

    Второе окно Мастера текстов в Microsoft Excel

  4. ​ ячейки, содержащие формулы,​ по клавише​​ способами.​​ 10 to 99​ в модуле VBA​​исходное число, а​​Запускается Мастер функций. В​

    Третье окно Мастера текстов в Microsoft Excel

  5. ​ и выложите, если​ дробные.​скопируйте и вставьте туда​​ Desyatki(vl) ‘ -​ = «миллиарда «​​ еще сделать так,​ ‘strЕдиницы = strЕдиницы​​ зависит от многих​​ текст в числовой​на ленте. Кликаем​ можно очистить. Для​​Enter​​Скачать последнюю версию​

    Дополнительная настройка импорта текста в Microsoft Excel

  6. ​ into text. Function​​ (Visual Basic for​​ в ячейке​ полном алфавитном перечне​​ не можете описать​​6. Изменяет окончание​

    Завершение работы в Мастере текста в Microsoft Excel

  7. ​ текст этой функции:​ если конец триады​ Desyatki(4) = «сорок​ чтобы она дописывала​ & ИмяРазряда(» «,​ факторов. Прежде всего,​ вид, является применение​ по полю с​ этого выделяем их,​

Разделители приняли обычный формат в Microsoft Excel

Способ 7: применение макросов

​.​ Excel​ GetTens(TensText) Dim Result​ Applications). Эта функция​G7​ функций ищем запись​ словами.​ в слове «копейка»​Function СУММАПРОПИСЬЮ(n As​ от 11 до​ «: Sotni(4) =​ валюту суммы прописью.​ Mid(strЧисло, Поз +​ это поставленная задача.​ инструмента​ выбором формата в​ кликаем правой кнопкой​

  1. ​Данные преобразовываются в текстовый​​Все ячейки в Экселе​​ As String Result​ позволяет преобразовывать доллара​​формулу =ЧислоПрописью, и​​«Сумма_прописью»​Pelena​​ в соответствии с​​ Double) As String​

    Переход в редактор макросов в Microsoft Excel

  2. ​ 19 то перескакиваем​ «четыреста «: tys(4)​ Для этого создайте​ 1, 2), «рубль​


    ​ Ведь, например, быстро​
    ​«Текст столбцами»​
    ​ группе​
    ​ мыши и выбираем​

    ​ вариант.​ имеют определенный формат,​ = «» ‘​ и кратное сумм​ получить нужный результат.​

    Редактор макросов в Microsoft Excel

  3. ​. Её раньше не​: Алексей, дело в​ правилами русского языка,​​ Dim Nums1, Nums2,​​ на единицы, иначе​ = «тысячи «:​​ Module2 и введите​​ «, «рубля «,​​ преобразовать текстовое выражение​​. Его есть смысл​

    Переход к списку макросов в Microsoft Excel

  4. ​«Число»​ позицию​Ещё одним вариантом преобразования​ который задает программе,​​ Null out the​​ для слов с​Все это реализовано в​​ было, но она​​ том, что у​

    Окно макросов в Microsoft Excel

  5. ​ а не просто​ Nums3, Nums4 As​ — формируем десятки​ mln(4) = «миллиона​

Преобразование текста в число с помощью макросов выполнено в Microsoft Excel

​ в него следующий​​ «рублей «) ‘Сотые’​ с иностранными разделителями​

​ использовать тогда, когда​. Выбираем пункт​«Очистить содержимое»​ числовых данных в​ как ей рассматривать​ temporary function value.​ помощью формулы, 22,50​ файле примера.​ появилась тут после​ Евгении не MS​ «коп.».​ Variant Nums1 =​ Case 4 ‘​ «: mlrd(4) =​ код:​ ‘strСотые = strКопейки​​ в числовое можно​​ вместо запятой в​«Числовой»​.​ тестовые в Экселе​ то или иное​ If Val(Left(TensText, 1))​ читается как двадцати​Как и в примере​ установки надстройки. Выделяем​ Excel, а какая-то​7. Формула менее​

​ Array(«», «один «,​

lumpics.ru

Переводим число прописью в число цифрами в Excel

​ — единицы тысяч​ «миллиарда » Desyatki(5)​Function ЧислоПрописьюВалюта(SumBase As Double,​ & » «​ только использовав инструмент​ качестве разделителя десятичных​

​или​На этом процедуру преобразования​ является применение специальной​

​ выражение. Например, даже​​ = 1 Then​ двух центы и​ статьи Число прописью (статичный​ эту функцию. Жмем​ другая похожая программа,​ 1000 знаков, и​

​ «два «, «три​ vl = Mid(SumInt,​

  • ​ = «пятьдесят «:​ Valuta As Integer)​ & ИмяРазряда(strКопейки, Right(strКопейки,​
  • ​«Текст столбцами»​ знаков используется точка,​«Общий»​ можно считать оконченной.​ функции, которая так​ если в них​ ‘ If value​
  • ​ т. Это может​ вариант) на листе​
  • ​ на кнопку​ якобы совместимая с​ спокойно редактируется в​ «, «четыре «,​ shag, 1) If​ Sotni(5) = «пятьсот​ Dim Edinicy(0 To​
  • ​ 2), ‘»копейка», «копейки»,​. Второй фактор, который​ а в качестве​.​
  • ​Урок:​ и называется –​ будут записаны цифры,​ between 10-19… Select​

​ быть очень полезным​​ Служ размещены вспомогательные​«OK»​

​ Excel (помню по​​ 2003 Excel.​ «пять «, «шесть​ shag > 2​ «: tys(5) =​ 19) As String:​ «копеек») ЧислоПропись =​

excel2.ru

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

​ влияет на выбор​ разделителя разрядов вместо​Далее прощелкиваем уже не​Мастер функций в Excel​ТЕКСТ​ но формат выставлен​ Case Val(TensText) Case​ при использовании Excel​ диапазоны, содержащие некоторые​.​ предыдущему обсуждению)​

​MCH​ «, «семь «,​ Then If (Mid(SumInt,​ «тысяч «: mln(5)​ Dim EdinicyPoslednie(0 To​ strМиллиарды & strМиллионы​

  1. ​ варианта – это​
  2. ​ пробела – апостроф.​ раз описанным нами​Теперь давайте разберемся, какими​. Данный способ подойдёт,​ текстовый, то приложение​ 10: Result =​ как шаблон для​ числа прописью в Excel.​Отрывается окно аргументов функции​Alex_ST​Module.
  3. ​: Число прописью с​ «восемь «, «девять​

​ shag — 2,​

​ = «миллионов «:​ 19) As String​ & strТысячи &​ объемы и частота​ Этот вариант воспринимается​ способом каждую ячейку​ способами можно выполнить​ в первую очередь,​ будет рассматривать их,​ «Ten» Case 11:​ печати проверки.​Теперь эти диапазоны длиннее​Сумма_прописью​: А-а-а… Так вот,​ долями​ «) Nums2 =​ 1) = 0​ mlrd(5) = «миллиардов​ Dim Desyatki(0 To​ strЕдиницы ЧислоПропись =​ выполняемых преобразований. Например,​ в англоязычном Экселе,​ преобразуемой области с​ обратную задачу, а​ если вы хотите​ как простой текст,​ Result = «Eleven»​Если вы хотите преобразования​ (числа от 1​. Оно содержит только​ похоже, в чём​Формула базируется на​ Array(«», «десять «,​ And Mid(SumInt, shag​ » Desyatki(6) =​ 9) As String:​ UCase(Left(ЧислоПропись, 1)) &​ если вы часто​ как числовой, но​ применением клавиш​ именно как преобразовать​ перенести числа как​ и не сможет​ Case 12: Result​ числовых значений в​ до 999) и​ одно поле​ собака порылась!​ предыдущей формуле​ «двадцать «, «тридцать​ — 1, 1)​ «шестьдесят «: Sotni(6)​ Dim Sotni(0 To​ Right(ЧислоПропись, Len(ЧислоПропись) -​ используете подобные преобразования,​ в русскоязычной версии​F2​ текст в число​ текст в отдельный​ проводить с такими​ = «Twelve» Case​ текстовом формате без​ содержат слова тысяча​«Сумма»​Ну так предупреждать​Особенности:​ «, «сорок «,​ = 0 And​ = «шестьсот «:​ 9) As String:​ 1) Exit Function​ имеет смысл произвести​ этой программы все​и​ в Excel.​ столбец. Кроме того,​ данными математические вычисления.​ 13: Result =​ отображения их как​ и миллион с​. Сюда можно записать​ же надо было,​1. Без макросов.​ «пятьдесят «, «шестьдесят​ vl = «0»)​ tys(6) = «тысяч​ Dim mlrd(0 To​ Число_Error: MsgBox Err.Description​ запись макроса. И​ значения, которые содержат​Enter​Проще и быстрее всего​ он позволит сэкономить​ Для того, чтобы​ «Thirteen» Case 14:​ слова, используйте функции​ учетом склонения. Также​ обычное число. Оно​EvgeniyaD​2. Работает до​ «, «семьдесят «,​ Then GoTo 10​ «: mln(6) =​ 9) As String​ End Function Function​ третий фактор –​ указанные выше знаки,​.​ выполнить конвертацию текстового​ время на преобразовании,​ Excel воспринимал цифры​ Result = «Fourteen»​ текст .​ создан диапазон для​ в выделенной ячейке​, а не морочить​ 999 млрд.​ _ «восемьдесят «,​ End If Sclon_Tys​ «миллионов «: mlrd(6)​ Dim mln(0 To​ Сотни(n As String)​ индивидуальное удобство пользователя.​ воспринимаются как текст.​Значения в диапазоне будут​ варианта с помощью​ если объем данных​ именно как число,​ Case 15: Result​Примечание:​ отображения слова Рублей​ отобразиться в формате​ голову людям.​3. Округляет число​ «девяносто «) Nums3​ = Edinicy(vl) &​ = «миллиардов «​ 9) As String:​ As String Сотни​Автор: Максим Тютюшев​ Конечно, можно перебить​ преобразованы из текстовых​ специального значка, который​ слишком большой. Ведь,​ они должны быть​ = «Fifteen» Case​ Microsoft примеры программирования только​ с учетом склонения.​ записанной прописью денежной​С Вашим фальшивым​ до 6 знаков​ = Array(«», «сто​ tys(vl) ‘ -​ Desyatki(7) = «семьдесят​ Dim tys(0 To​ = «» Select​Преобразуем число из текстовой​ данные вручную, но​ в числовые.​ сообщает об ошибке.​ согласитесь, что перещелкивать​ вписаны в элемент​ 16: Result =​ для иллюстрации и​Теперь все готово для​ суммы в рублях​ Excel’ем​ после запятой.​ «, «двести «,​ вводим переменную Sclon_Tys​ «: Sotni(7) =​ 9) As String​ Case n Case​ формы в обычное​ если их много,​Также для преобразования текстовых​ Этот значок имеет​ каждую ячейку в​ листа с общим​ «Sixteen» Case 17:​ без гарантий выраженное​ записи формулы переводящей​ и копейках.​Вам тогда не​4. Делает первую​ «триста «, «четыреста​ из-за иного склонения​ «семьсот «: tys(7)​ Dim SumInt, x,​ 0: Сотни =​ число из цифр:​ это займет значительное​ значений в числовые​ вид восклицательного знака,​ диапазоне, насчитывающем сотни​ или числовым форматом.​ Result = «Seventeen»​ или подразумевается. Включает​ исходное число (ячейка​Можно в поле занести​ в этот раздел,​ букву прописной, остальные​ «, «пятьсот «,​ тысяч в русском​ = «тысяч «:​ shag, vl As​ «» Case 1:​ например, «сто пятьдесят​ количество времени, тем​ можно использовать специальные​ вписанного в пиктограмму​ или тысячи строк​Для начала рассмотрим различные​ Case 18: Result​ в себя, но​B6​ адрес любой ячейки.​ а в «Другие​ строчные.​ «шестьсот «, «семьсот​ языке If vl​ mln(7) = «миллионов​ Integer: Dim txt,​

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

​ Сотни = «сто​ три» преобразуем в​ более что существует​ формулы. Рассмотрим, как​ в виде ромба.​ – это не​ варианты решения задачи​ = «Eighteen» Case​ не ограничивается гарантий​

​) в текст:​ Это делается либо​ приложения», где о​5. Если число​ «, _ «восемьсот​ = 1 Then​ «: mlrd(7) =​ Sclon_Tys As String​ » Case 2:​ 153.​ возможность гораздо более​ это сделать на​ Он появляется при​ самый лучший выход.​ конвертации чисел в​ 19: Result =​ окупаемость или Фитнес​=СЖПРОБЕЛЫ(​ путем ручной записи​ всяких Опен-Дроид- и​ целое, например 121,​ «, «девятьсот «)​ Sclon_Tys = «одна​ «миллиардов » Desyatki(8)​ ‘——————————————— Application.Volatile ‘———————————————​ Сотни = «двести​Решим задачу для чисел​ быстрого решения проблемы.​ практике.​ выделении ячеек, которые​Устанавливаем курсор в первый​ текстовый вид.​ «Nineteen» Case Else​ для определенной цели.​ИНДЕКС(Миллионы;ОСТАТ(ОТБР(B6/1000000);1000000)+1)&» «&​ координат этой ячейки,​ прочих Офисах проблемы​ то результат будет​ Nums4 = Array(«»,​ » & tys(vl)​ = «восемьдесят «:​ Edinicy(0) = «»:​ » Case 3:​ от 1 до​Выделяем фрагмент листа, содержимое​В пустой ячейке, расположенной​ имеют пометку в​ элемент диапазона, в​Чаще всего пользователи выполняют​ End Select Else​ В этой статье​ИНДЕКС(Тысячи;ОСТАТ(ОТБР(B6/1000);1000)+1)&» «&​ либо простым кликом​ и обсуждают.​ «Сто двадцать один»,​ «одна «, «две​ ‘ — для​ Sotni(8) = «восемьсот​ EdinicyPoslednie(0) = IIf(Valuta​ Сотни = «триста​ 999 999.​ которого нужно преобразовать.​ параллельно первому элементу​ левом верхнем углу​ котором будет выводиться​ форматирование числовых выражений​ ‘ If value​ предполагается, что вы​ИНДЕКС(Единицы;ОСТАТ(B6;1000)+1))​ по ней в​EvgeniyaD​ если дробное -​ «, «три «,​ тысяч склонение «один»​ «: tys(8) =​ = 0, «евро»,​ » Case 4:​Примечание​ Переходим во вкладку​ диапазона, который следует​ зеленым цветом, обсуждаемую​ результат преобразования. Щелкаем​ в текстовые через​ between 20-99… Select​ знакомы с языком​Задача в принципе решена,​ то время, когда​: Alex_ST, Pelena права,​ 121,22, то результат​ «четыре «, «пять​ и «два» неприменимо​ «тысяч «: mln(8)​ IIf(Valuta = 1,​ Сотни = «четыреста​: Обратная задача -​«Данные»​ преобразовать, ставим знак​ нами ранее. Эта​ по значку​ контекстное меню.​ Case Val(Left(TensText, 1))​ VBA программирования и​ осталось только разместить​ курсор находится в​ у тех, для​ получится «Сто двадцать​ «, «шесть «,​ ( поэтому вводим​ = «миллионов «:​ «рублей», «долларов»)) Edinicy(1)​ » Case 5:​ преобразование обычного числа​. На ленте инструментов​ «равно»​ пометка ещё не​«Вставить функцию»​Выделяем те элементы листа,​ Case 2: Result​ с помощью средств,​ вспомогательные диапазоны в​ поле параметра​ кого я это​ одна целая двадцать​ «семь «, «восемь​ переменную Sclon_Tys )​ mlrd(8) = «миллиардов​ = «один «:​ Сотни = «пятьсот​ в число прописью​ в блоке​(=)​ свидетельствует о том,​, который размещен около​ в которых нужно​ = «Twenty «​ которые используются для​ Личную книгу макросов​«Сумма»​ делаю, к сожалению,​ две сотых».​ «, «девять «)​ If vl =​ » Desyatki(9) =​ EdinicyPoslednie(1) = IIf(Valuta​ » Case 6:​ решена в статье Число​«Работа с данными»​и двойной символ​ что данные находящиеся​ строки формул.​ преобразовать данные в​ Case 3: Result​ создания и отладки​ PERSONAL.XLSB, для того​. Жмем на кнопку​ не excel, а​6. Формула получилась​ Nums5 = Array(«десять​ 2 Then Sclon_Tys​ «девяносто «: Sotni(9)​ = 0, «один​ Сотни = «шестьсот​ прописью в MS​кликаем по значку​ «минус»​ в ячейке обязательно​Запускается окно​ текст. Как видим,​ = «Thirty «​ процедур. Сотрудники службы​ чтобы формула, переводящая​«OK»​ libreoffice​ большая и не​ «, «одиннадцать «,​ = «дві «​ = «девятьсот «:​ евро», IIf(Valuta =​ » Case 7:​ EXCEL (статичный вариант).​«Текст по столбцам»​(—)​ ошибочные. Но цифры,​Мастера функций​ во вкладке​ Case 4: Result​ поддержки Майкрософт могут​ число в текст​.​Спасибо за отклики.​ редактируется в Ex2003,​ «двенадцать «, «тринадцать​ & tys(vl) ‘​ tys(9) = «тысяч​ 1, «один рубль»,​ Сотни = «семьсот​Для решения задачи используем​.​. Далее указываем адрес​ расположенные в ячейке​. В категории​«Главная»​ = «Forty «​ пояснить конкретной процедуры.​ была доступна в​После этого, любое число,​Alex_ST​ но работает в​ «, «четырнадцать «,​ — для тысяч​ «: mln(9) =​ «один доллар»)) Edinicy(2)​ » Case 8:​ следующий алгоритм:​Запускается​ первого элемента трансформируемого​ имеющей текстовый вид,​«Текстовые»​на панели инструментов​ Case 5: Result​ Однако они не​ любой книге.​ которое записано в​:​ нем и свободно​ _ «пятнадцать «,​ склонение «один» и​ «миллионов «: mlrd(9)​ = «два «:​ Сотни = «восемьсот​в числе прописью удалим​Мастер текстов​ диапазона. Таким образом,​ вызывают подозрения у​выделяем пункт​ в блоке​ = «Fifty «​ изменять эти примеры​В Windows XP эта​ ячейку, указанную вами,​EvgeniyaD​ копируется.​ «шестнадцать «, «семнадцать​ «два» неприменимо (​ = «миллиардов «​ EdinicyPoslednie(2) = IIf(Valuta​ » Case 9:​ лишние пробелы с​. В первом окне​ происходит двойное умножение​ программы в том,​«ТЕКСТ»​«Число»​ Case 6: Result​ для обеспечения функциональных​ книга находится в​ будет отображаться в​, загляните-ка СЮДА .​MCH​ «, «восемнадцать «,​ поэтому вводим переменную​ ‘——————————————— On Error​ = 0, «два​ Сотни = «девятьсот​ помощью функции СЖПРОБЕЛЫ();​ обратите внимание, чтобы​ на значение​ что данные могут​. После этого кликаем​в специальном поле​ = «Sixty «​ возможностей или создания​ папке C:Documents and​ денежном виде прописью​ Там про Word,​: Сумма прописью на​ «девятнадцать «) If​ Sclon_Tys ) If​ Resume Next SumInt​ евро», IIf(Valuta =​ » End Select​в числе прописью удалим склонения по​ переключатель формата данных​«-1»​ быть внесены некорректно.​ по кнопке​ отображается информация о​ Case 7: Result​ процедур в соответствии​ Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда​ в том месте,​ но поищите вокруг,​ русском (MSumProp) и​ n 0 Then​ shag > 1​ = Int(SumBase) For​ 1, «два рубля»,​ End Function Function​ родам, например «одна​ стоял в позиции​. Как известно, умножение​ Поэтому на всякий​«OK»​ том, что данные​ = «Seventy «​ с конкретными требованиями.​ она будет автоматически​ где установлена формула​ нет ли там​ на украинском (MSumPropUkr)​ tys_txt = Nums4(tys)​ Then If Mid(SumInt,​ x = Len(SumInt)​ «два доллара»)) Edinicy(3)​ Десятки(n As String,​ тысяча» преобразуем в​«С разделителями»​ «минус» на «минус»​ случай она их​.​ элементы имеют общий​ Case 8: Result​Используйте сочетание клавиш​ загружается при каждом​ функции.​ чего ценного и​ языках, реализовано с​ & «тысяч «​ shag — 1,​ To 1 Step​ = «три «:​ Sex As String)​ «один тысяча». Это​. По умолчанию он​ дает «плюс». То​ помечает, чтобы пользователь​Открывается окно аргументов оператора​ формат, а значит,​ = «Eighty «​Alt​ запуске приложения Excel.​Функцию можно также записать​ про Excel ?​ помошью UDF​ Case 1 tys_txt​ 1) = 1​ -1 shag =​ EdinicyPoslednie(3) = IIf(Valuta​ As String Десятки​ существенно упростит формулы.​ должен находиться в​ есть, в целевой​ обратил внимание. Но,​ТЕКСТ​ цифры, вписанные в​ Case 9: Result​+​ В Windows Vista​ и вручную без​Да и убедиться​Особенности:​ = Nums4(tys) &​ Then Sclon_Tys =​ shag + 1​ = 0, «три​ = «» Select​ Для это используем​ этой позиции, но​ ячейке мы получаем​ к сожалению, такие​. Данная функция имеет​ них, воспринимаются программой,​ = «Ninety «​F11​ эта книга хранится​ вызова мастера функций.​ в установке самых​1. Работают до​ «тысяча » Case​ Edinicy(Mid(SumInt, shag -​ Select Case x​ евро», IIf(Valuta =​ Case Left(n, 1)​ функцию ПОДСТАВИТЬ();​ проверить состояние будет​ то же значение,​ пометки Эксель выдает​ следующий синтаксис:​ как число.​ Case Else End​, чтобы открыть​ в папке C:Usersимя_пользователяApplication​ Она имеет синтаксис​ свежих версий как​ 999 трлн.​ 2, 3, 4​ 1, 2)) &​ Case 12 ‘​ 1, «три рубля»,​ Case «0»: Десятки​определим позицию слова «тысячи», «тысяч», «тысяча» с​ не лишним. Затем​ которое было изначально,​ не всегда даже​=ТЕКСТ(значение;формат)​Кликаем правой кнопкой мыши​ Select Result =​ редактор Visual Basic​ DataMicrosoftExcelXLStart.​Сумма_прописью(сумма)​ самого LibreOffice, так​2. Делают первую​ tys_txt = Nums4(tys)​ «тисяч » End​ — сотни миллиардов​ «три доллара»)) Edinicy(4)​ = «»: n​ помощью функции ПОИСК();​ кликаем по кнопке​ но уже в​ тогда, когда цифры​Открывшееся окно имеет два​ по выделению и​ Result & GetDigit​ (VBE).​Если Личная книга макросов​или​ и пакетов совместимости​ букву прописной, остальные​ & «тысячи «​ If txt =​ vl = Mid(SumInt,​ = «четыре «:​ = Right(n, 1)​слева от слова «тысячи» будет​«Далее»​ числовом виде. Даная​

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

​ представлены в текстовом​ поля, которые соответствуют​ в открывшемся меню​ _ (Right(TensText, 1))​Примечание:​ еще не была​Сумма_прописью(координаты_ячейки)​

  • ​ не помешает​
  • ​ строчные.​
  • ​ Case 5 To​

​ txt & Sclon_Tys​ shag, 1) txt​ EdinicyPoslednie(4) = IIf(Valuta​ Case «1»: Десятки​ число прописью для​.​ процедура называется двойным​ виде, поэтому ниже​ данным аргументам:​ выбираем позицию​ ‘ Retrieve ones​

​ Вы также можете открывать​ создана, то скопируйте​

​. Таким образом, если​Alump​3. Округляют до​ 9 tys_txt =​ ‘-КОНЕЦ БЛОКА_______________________ Case​ = txt &​ = 0, «четыре​ = «» Case​ тысяч, а справа​Во втором окне также​ бинарным отрицанием.​ описанный способ подходит​

exceltable.com

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

​«Значение»​«Формат ячеек…»​ place. End If​ редактор Visual Basic,​​ лист Служ из​ вы в ячейке​​: Добрый день!​ целых копеек.​ Nums4(tys) & «тысяч​ 3 ‘ -​ Sotni(vl) Case 11​ евро», IIf(Valuta =​ «2»: Десятки =​

  1. ​ количество единиц. Используем​​ оставляем все без​​Жмем на клавишу​ не для всех​
  2. ​и​.​​ GetTens = Result​
  3. ​ добавив вкладку «Разработчик»​ файла примера в​

​ запишите формулу​Можно ли сделать​4. Функции получились​ » End Select​ сотни vl =​ ‘ — десятки​ 1, «четыре рубля»,​ «двадцать «: n​ функции ЛЕВСИМВ() и ПРАВСИМВ(),​ изменений и жмем​Enter​ случаев.​«Формат»​В открывшемся окне форматирования​ End Function ‘​ на ленту.​ новую книгу, и​=Сумма_прописью(5)​ что бы копейки​ относительно небольшими по​ If dectys =​ Mid(SumInt, shag, 1)​ миллиардов vl =​ «четыре доллара»)) Edinicy(5)​ = Right(n, 1)​ чтобы извлечь эти​ на кнопку​, после чего получаем​Выделяем ячейку, в которой​.​ переходим во вкладку​ Converts a number​На вкладке​ сохраните ее в​, то после​ тоже писались прописью?​ сравнению с другими​ 0 And tys​ txt = txt​ Mid(SumInt, shag, 1)​ = «пять «:​ Case «3»: Десятки​ числа;​«Далее».​ готовое преобразованное значение.​ содержится зеленый индикатор​В поле​«Число»​ from 1 to​Insert​ директорию C:Documents and​ нажатия кнопки​Заранее спасибо!​ аналогичными реализациями​ = 0 And​ & Sotni(vl) Case​ If vl =​ EdinicyPoslednie(5) = IIf(Valuta​ = «тридцать «:​текстовые значения от 1​А вот после открытия​ Для того, чтобы​ о возможной ошибке.​«Значение»​, если оно было​ 9 into text.​(Вставка) нажмите кнопку​ Settingsимя_пользователяApplication DataMicrosoftExcelXLStart (для​ENTER​Gustav​MCH​ sottys <> 0​ 2 ‘ -​ «1» And Mid(SumInt,​ = 0, «пять​ n = Right(n,​ до 999 введем​ третьего окна​ применить данную формулу​ Кликаем по появившейся​нужно указать преобразовываемое​ открыто в другом​ Function GetDigit(Digit) Select​Module​ XP) под именем​в этой ячейке​: Хм… А почему​: Время прописью​ Then sottys_txt =​

​ десятки vl =​ shag + 1,​ евро», IIf(Valuta =​ 1) Case «4»:​ в отдельный диапазон,​Мастера текстов​ для всех других​ пиктограмме.​ число или ссылку​ месте. В блоке​ Case Val(Digit) Case​(Модуль).​ PERSONAL.XLSB.​ отобразиться надпись «Пять​ она была удалена?​​Особенности:​​ sottys_txt & «​​ Mid(SumInt, shag, 1)​ 1) <> 0​​ 1, «пять рублей»,​​ Десятки = «сорок​ сопоставим им числа;​нужно нажать на​ ячеек диапазона, используем​Открывается список действий. Выбираем​

Перевод цифр в пропись вȎxcel

​ на ячейку, в​ настроек​ 1: GetDigit =​Скопируйте приведенный ниже код.​Если Личная книга макросов​

​ рублей 00 копеек».​

​У меня там​

​1. Реализовано формулой,​ тысяч » eee:​ If vl =​ Then GoTo 10​ «пять долларов»)) Edinicy(6)​

planetaexcel.ru

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

​ «: n =​​с помощью функции ВПР()​​ кнопку​ маркер заполнения, который​ в нем значение​
​ которой оно находится.​«Числовые форматы»​ «One» Case 2:​
​Примечание:​ уже была ранее​Если вы введете в​
​ была выложена в​ без макросов.​ sot_txt = Nums3(sot)​ «1» And Mid(SumInt,​ Else txt =​ = «шесть «:​ Right(n, 1) Case​ будем извлекать числа​
​«Подробнее»​ ранее был применен​ «​
​ В нашем случае​
​выбираем позицию​ GetDigit = «Two»​ Известные как Пользовательской функции​
​ создана, то через​ ячейку формулу​ текстовом файле процедурка​2. Работает только​ ‘проверяем десятки Select​
​ shag + 1,​ txt & Desyatki(vl)​
​ EdinicyPoslednie(6) = IIf(Valuta​ «5»: Десятки =​ в цифровом формате​
​.​ нами для функции​Преобразовать в число»​ это будет ссылка​
​«Текстовый»​ Case 3: GetDigit​ (UDF)этот код Автоматизация​ меню Вид/ Окно/​=Сумма_прописью(A2)​ на эту тему,​
​ с часами и​ Case dec Case​ 1) <> 0​ ‘ — если​

​ = 0, «шесть​​ «пятьдесят «: n​ задавая число прописью.​
​Открывается окно дополнительной настройки​ТЕКСТ​
​.​
​ на первый элемент​
​. Для сохранения изменений​ = «Three» Case​
​ задач для преобразования​ Отобразить отобразите ее,​, то в​
​ которая хоть и​ минутами, отбрасывая секунды.​ 1 ed_txt =​
​ Then GoTo 10​ конец триады от​ евро», IIf(Valuta =​ = Right(n, 1)​Примечание​ импорта текста. В​.​В выделенном элементе данные​ обрабатываемого числового диапазона.​
​ жмем на кнопку​ 4: GetDigit =​ чисел в разных​ скопируйте в нее​ таком случае, любое​ прошла незамеченной, но​

​3. Все реализовано​​ Nums5(ed) GoTo rrr​ Else txt =​ 11 до 19​ 1, «шесть рублей»,​ Case «6»: Десятки​
​: Формулы можно найти​
​ поле​Теперь мы имеем диапазон,​
​ тут же будут​В поле​ «​
​ «Four» Case 5:​ частях листа.​
​ лист Служ, сохраните​ число, внесенное в​ содержала в себе​ в одной формуле​

​ Case 2 To​​ txt & Desyatki(vl)​
​ то перескакиваем на​
​ «шесть долларов»)) Edinicy(7)​ = «шестьдесят «:​
​ в файле примера внизу статьи.​«Разделитель целой и дробной​ который заполнен значениями​
​ преобразованы в числовой​«Формат»​OK»​ GetDigit = «Five»​Option Explicit ‘Main Function​ Личную книгу макросов​ ячейку A2 будет​ неплохой потенциал «масштабирования»​

​ без ссылок на​​ 9 dec_txt =​ ‘ — если​
​ единицы, иначе -​
​ = «семь «:​ n = Right(n,​СОВЕТ​
​ части»​ с формулами. Выделяем​
​ вид.​нужно указать вариант​

​в нижней части​​ Case 6: GetDigit​ Function SpellNumber(ByVal MyNumber)​
​ (можно ее потом​ отображаться тут денежной​

​ на любые числительные…​​ имена, при этом​ Nums2(dec) End Select​ конец триады от​ формируем десятки Case​
​ EdinicyPoslednie(7) = IIf(Valuta​ 1) Case «7»:​: Подробнее о работе использованных​

​устанавливаем точку, а​​ его и жмем​Если подобных текстовых значений,​ отображения результата. Например,​ окна.​ = «Six» Case​ Dim Dollars, Cents,​ скрыть Вид/ Окно/​ суммой прописью.​ Я, конечно, ее​ формула чуть более​ ed_txt = Nums1(ed)​ 11 до 19​ 10 ‘ -​

​ = 0, «семь​​ Десятки = «семьдесят​ функций можно прочитать​
​ в поле​ на кнопку​ которые следует преобразовать,​ если мы введем​Как видим, после данных​

​ 7: GetDigit =​​ Temp Dim DecimalPlace,​ Скрыть).​Как видим, несмотря на​ попробую снова найти​
​ 700 знаков и​ rrr: ‘формируем итоговую​ то перескакиваем на​ единицы миллиардов vl​ евро», IIf(Valuta =​​ «: n =​​ кликнув на соответствующие​«Разделитель разрядов»​«Копировать»​
​ не одно, а​«0»​ манипуляций в специальном​ «Seven» Case 8:​ Count ReDim Place(9)​Теперь откройте​

​ то, что в​​ в своих залежах,​ легко редактируется в​ строку СУММАПРОПИСЬЮ =​ единицы, иначе -​ = Mid(SumInt, shag,​ 1, «семь рублей»,​ Right(n, 1) Case​ ссылки внизу статьи​

​— апостроф. Затем​​во вкладке​ множество, то в​, то текстовый вариант​ поле высвечивается информация​
​ GetDigit = «Eight»​ As String Place(2)​книгу, в которой нужно​ Excel нет встроенного​ но всё-таки почему?​ 2003 Excel.​ decmil_txt & mil_txt​ формируем десятки Case​
​ 1) If shag​ «семь долларов»)) Edinicy(8)​ «8»: Десятки =​ на вкладке Использованные функции (под​ делаем один щелчок​«Главная»​ этом случае можно​

​ на выходе будет​​ о том, что​ Case 9: GetDigit​ = » Thousand​ записать число прописью​ инструмента для преобразования​Pelena​MCH​ & sottys_txt &​

​ 1 ‘ -​​ > 1 Then​ = «восемь «:​ «восемьдесят «: n​
​ кнопкой Скачать файл примера).​ по кнопке​​или применяем сочетание​​ ускорить процедуру преобразования.​ отображаться без десятичных​
​ ячейки были преобразованы​ = «Nine» Case​:)​ » Place(3) =​. Исходное число разместите,​ чисел в сумму​: Случайно​: Дата прописью на​ dectys_txt & tys_txt​ единицы If Mid(SumInt,​

​ If Mid(SumInt, shag​​ EdinicyPoslednie(8) = IIf(Valuta​ = Right(n, 1)​Часто нужно перевести число​«OK»​ клавиш​Выделяем весь диапазон, в​:)​ знаков, даже если​

​ в текстовый вид.​​ Else: GetDigit =​​ » Million «​​ например, в ячейке​ прописью, эту возможность​MCH​ украинском языке​ & sot_txt &​ shag — 1,​
​ — 1, 1)​ = 0, «восемь​ Case «9»: Десятки​ в текст в​.​Ctrl+C​

​ котором находятся текстовые​​ в исходнике они​
​Но если мы попытаемся​ «» End Select​ Place(4) = «​
​А1​

​ можно довольно легко​​: Сделал на формулах​Реализовано тремя вариантами:​:(​ dec_txt & ed_txt​ 1) <> 1​ = 1 Then​ евро», IIf(Valuta =​ = «девяносто «:​ Excel так, чтобы​Возвращаемся в третье окно​.​ данные. Как видим,​ были. Если мы​ подсчитать автосумму, то​ End Function​ Billion » Place(5)​

​. Введите в нужную​​ получить, просто установив​

​ (без макросов), проверяйте​​1. Формулой с​ End Function ‘вспомогательная​

excelworld.ru

​ Or Mid(SumInt, shag​

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

Ниже вы найдете готовую пользовательскую функцию на 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
  • Что такое макросы, куда вставлять код макроса, как их использовать

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

Цифры прописью в Excel

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

Интересно. Как сделать подобное в Word читайте здесь.

Число прописью в Экселе. Установка

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

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

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

Делаем в следующем порядке:

1. Скачиваем и распаковываем файл кликнув здесь.

2. Закиньте файл NUMSTR.XLA в папку Library, которая находится C:ProgramFiles (x86)MicrosoftOfficeOffice14Library (возможно расположение немного отличается, зависит от версий ПО).

3. Запустите Excel и на вкладке «Разработчик» кликните по кнопке «Надстройки» (если ее нет, читайте ниже).

Цифры буквами в Excel

Внимание. Если нет вкладки «Разработчик», пройдите Файл → Параметры → Настройка ленты и установите галку напротив пункта «Разработчик».

Цифры прописью в Excel

4. В окне «Надстройки» отметьте пункт NumStrAdd-in и нажмите ОК.

Excel число прописью

Усё можно пользоваться.

Число прописью в Excel. Как пользоваться

Расширение установлено, теперь несколько слов как использовать:

5. Для примера напишите в произвольной ячейке число цифрами.

6. Кликните по кнопке «Вставить Функцию».

Число прописью в Экселе

7. В открывшемся окне «Мастер функций» в списке «Категория» выберите «Определенные пользователем».

8. После этого выберите необходимую функцию:

NumStr – отобразит цифры буквами в Excel;

RubStr — преобразует число прописью в рублях;

USDStr – конвертирует число прописью в долларах;

EURStr – выведет сумму прописью в евро.

9. В следующем окне «Аргументы функции» укажите в поле ячейку с данными (кликнут курсором) или непосредственно число цифрами, завершив нажатием кнопки ОК и растянувшейся улыбкой.

Число буквами Excel

Интересно. Как закрепить строки в Excel читайте тут.

Excel число прописью. Видеоурок

Премьера уже скоро…

  • ВКонтакте

Download SocComments v1.3

Понравилась статья? Поделить с друзьями:
  • Чего делать если word
  • Цифры на всю страницу для word
  • Чат бот телеграмм excel
  • Часы с текстом word
  • Часы с датой excel