- Число прописью в Excel – формула
- Сумма прописью с копейками в Excel
- В русских рублях, все буквы строчные
- В русских рублях, первая буква заглавная
- В русских рублях с копейками прописью
- В белорусских рублях
- Сумма прописью — формула для Openoffice Calc
- Сумма прописью в Google Spreadsheets
- UDF-функции надстройки !SEMTools
- Процедуры !SEMTools
- Перевод чисел прописью в другие падежи
Число или сумма прописью — в ручном исполнении — непростая задача. А если его нужно печатать десятки раз на дню и с множеством документов, точно нужна автоматизация.
Идеальным решением была бы формула в Excel.
Есть ли такая формула? Да! А главное, что вам делать ничего не придется (только скопировать), потому что я уже сделал её за вас! Но обо всем по порядку.
Если попытаться описать алгоритм, который будет учитывать все нюансы написания числа или суммы прописью, окажется, что все на так просто, как кажется:
- в зависимости от того, на какую цифру заканчивается число, его падеж и число могут быть:
- единственное, именительный (двадцать один рубль)
- единственное, родительный (двадцать два/три/четыре рубля)
- множественное, родительный (двадцать, двадцать пять/шесть/семь/восемь/девять рублей)
- При этом даже из этого правила уже есть исключения – числа от 11 до 14 – множественного числа, хотя числа от 1 до 4 – единственного.
- Ноль пишется цифрами, но не пишется прописью. Кроме случая с копейками – там он пишется в прописи, но цифрами.
- При этом от нуля может зависеть то, как будет выглядеть число или сумма прописью.
- Копейки женского рода, а рубли – мужского. Одна копейка, но один рубль.
И это далеко не все нюансы. Есть ли варианты, которые их все учитывают?
Большинство руководств в интернете предлагают надстройки. Также предлагаются формулы на основе именованных диапазонов.
Но зачастую необходимо обмениваться файлами между разными компьютерами, и в таких случаях формулы попросту “полетят”, и данные будут повреждены, т.к. вместе с файлом нужно будет портировать и код надстроек, что никто делать обычно не будет.
В случае с именованными диапазонами – нужно будет создавать их заново (а их около десятка!).
Возможна ли формула без применения 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
Для записи суммы прописью с копейками по всем канонам, нужно соблюсти ряд условий:
- Рубли пишутся словами, первая буква обычно заглавная;
- Словоформа слова “рубль” должна соответствовать количеству;
- Копейки пишутся цифрами, но падеж и число слова “копейка” тоже должны соответствовать числу.
Трудно в это поверить, но и такая формула тоже существует. Аналогично, без применения 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 справляется и с этой задачей – смотрите раздел склонение по падежам в Excel.
Надстройка !SEMTools для Excel поможет буквально за пару кликов написать числа или суммы прописью.
Скачайте и убедитесь в этом сами!
Содержание
- 1 Использование надстройки
- 1.1 Помогла ли вам эта статья?
- 2 Num2Text
- 2.1 Создание простой формулы
- 2.2 Сумма ячеек
- 3 Sumprop
- 3.1 Работа с формулами
- 3.1.1 СуммаПрописью
- 3.1.2 СуммаПрописьюГривны
- 3.1.3 СуммаПрописьюДоллары
- 3.1.4 СуммаПрописьюЕвро
- 3.1.5 ЧислоПрописью
- 3.1 Работа с формулами
- 4 Платные модули
- 5 Заключение
- 6 Видеоинструкция
- 7 Создание сумм прописью с помощью формул
- 8 С помощью пользовательской функции
- 9 С помощью VBA
При заполнении различных финансовых документов часто требуется прописать сумму не только числом, но и прописью. Конечно, это занимает гораздо больше времени, чем обычное написание с помощью цифр. Если подобным образом нужно заполнить не одно, а много документов, то временные потери становятся огромными. Кроме того, именно в записи суммы прописью наиболее часто встречаются грамматические ошибки. Давайте выясним, как сделать так, чтобы числа прописью вносились автоматически.
Использование надстройки
В Эксель нет встроенного инструмента, который бы помогал автоматически переводить цифры в слова. Поэтому для решения поставленной задачи используют специальные надстройки.
Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.
- Открываем программу Excel и переходим во вкладку «Файл».
- Перемещаемся в раздел «Параметры».
- В активном окне параметров переходим в раздел «Надстройки».
- Далее, в параметре настроек «Управление» устанавливаем значение «Надстройки Excel». Жмем на кнопку «Перейти…».
- Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».
- В открывшемся окне ищем предварительно скачанный и сохраненный на жесткий диск компьютера файл надстройки NUM2TEXT.xla. Выделяем его и жмем на кнопку «OK».
- Мы видим, что данный элемент появился среди доступных надстроек. Ставим галочку около пункта NUM2TEXT и жмем на кнопку «OK».
- Для того, чтобы проверить как работает только что установленная надстройка пишем в любой свободной ячейке листа произвольное число. Выделяем любую другую ячейку. Кликаем по значку «Вставить функцию». Он расположен слева от строки формул.
- Запускается Мастер функций. В полном алфавитном перечне функций ищем запись «Сумма_прописью». Её раньше не было, но она появилась тут после установки надстройки. Выделяем эту функцию. Жмем на кнопку «OK».
- Отрывается окно аргументов функции Сумма_прописью. Оно содержит только одно поле «Сумма». Сюда можно записать обычное число. Оно в выделенной ячейке отобразиться в формате записанной прописью денежной суммы в рублях и копейках.
- После этого, любое число, которое записано в ячейку, указанную вами, будет отображаться в денежном виде прописью в том месте, где установлена формула функции.
Функцию можно также записать и вручную без вызова мастера функций. Она имеет синтаксис Сумма_прописью(сумма) или Сумма_прописью(координаты_ячейки). Таким образом, если вы в ячейке запишите формулу =Сумма_прописью(5)
, то после нажатия кнопки ENTER в этой ячейке отобразиться надпись «Пять рублей 00 копеек».
Если вы введете в ячейку формулу =Сумма_прописью(A2)
, то в таком случае, любое число, внесенное в ячейку A2 будет отображаться тут денежной суммой прописью.
Как видим, несмотря на то, что в Excel нет встроенного инструмента для преобразования чисел в сумму прописью, эту возможность можно довольно легко получить, просто установив необходимую надстройку в программу.
Мы рады, что смогли помочь Вам в решении проблемы.
Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Да Нет
Как правило, в финансовых документах довольно часто указывают сумму не только в виде числа, но и прописью. Вручную это делать сложно и долго. Гораздо проще автоматически преобразовать все значения при помощи функций. В данной статье мы рассмотрим, как в Excel сделать сумму прописью.
Для начала нужно открыть Эксель и написать какое-нибудь число.
Для того чтобы его перевести в текстовый вид, нужно скачать дополнительный макрос, написанный на vba. Данная функция по умолчанию в редакторе отсутствует.
Num2Text
Прежде чем приступить к дальнейшим действиям, вам необходимо скачать данную надстройку. Официального сайта в этом случае нет. Таких модулей в интернете довольно много.
Будьте внимательны. Скачивайте только те файлы, у которых расширение xla, а не exe, поскольку во втором случае там могут быть вирусы.
После этого нужно сделать следующее:
- Зайдите в пункт меню «Файл».
- В появившемся окне перейдите в раздел «Параметры».
- Затем нажимаем на пункт «Надстройки».
- Кликните на кнопку «Перейти» (предварительно убедитесь, что рядом выбран пункт «Надстройки Excel»).
- После этого у вас появится окно, в котором можно вставить дополнительные файлы, чтобы редактор «узнал» новые функции. Нажмите на кнопку «Обзор».
- После этого укажите заранее скаченный файл и кликните «Открыть».
- Затем нужно поставить галочку около нового пункта и нажать на «ОК».
На этом этап подготовки завершен. Теперь Excel сможет делать перевод цифр в текстовый вид.
Создание простой формулы
Для того чтобы увидеть возможности новых функций, нужно сделать следующее:
- Перейдите на любую соседнюю ячейку. Кликните на иконку «Fx».
- В появившемся окне в разделе категории выберите пункт «Полный алфавитный перечень».
- Найдите там функцию «Сумма_прописью». Выберите её и нажмите на «OK».
- После этого появится окно, в котором нужно указать аргументы функции. Следует указать ячейку, значение которой должно писаться прописью. Для этого достаточно кликнуть на неё.
- Сразу после этого адрес ячейки подставится автоматически. Для продолжения кликните «OK».
- В результате этого вы увидите вашу сумму прописью. Вплоть до копеек. Благодаря этому можно переводить даже дробные числа.
- Попробуйте изменить ваше значение на любое другое. Сумма прописью изменится мгновенно.
Сумма ячеек
В финансовых отчетах необходимо считать сумму различных ячеек или столбцов. В этом случае формула немного усложняется. Рассмотрим, как это сделать.
- Проставьте цифры в 4 ячейки подряд.
- Кликните на ячейку, в которой вы работали до этого. Скопируйте формулу при помощи сочетания клавиш Ctrl+C.
- После этого перейдите в другую ячейку, чтобы создать новую формулу. Активируйте строку ввода уравнений.
- Нажмите на клавиатуре на кнопки Ctrl+V.
- Удаляем аргумент функции, то есть «C4» в нашем случае. Вместо этого в скобке пишем обычную формулу суммы, которая будет считать диапазон наших ячеек.
=Сумма_прописью(СУММ(A4:D4))
- В результате этого должно получиться следующее.
- Нажмите на клавиатуре на кнопку Enter. В итоге вы увидите, что сумма указанного диапазона значений отобразилась прописью.
У данного модуля есть большой минус – вы сможете работать только с российкими рублями. То есть, не получится сделать сумму прописью для узбекских сумов, украинских гривен, казахских тенге, американских долларов, белорусских рублей, английских фунтов и так далее. Язык поменять не выйдет. Для таких случаев существует альтернативный метод.
Sumprop
Установка данного модуля происходит точно так же, как в описанном выше способе, только на этот раз выбираем другой файл.
Ставим галочку возле новой надстройки и нажимаем на кнопку «OK».
После этого в вашем редакторе появится еще несколько новых функций. Рассмотрим их всех.
Работа с формулами
Для этого нужно сделать следующие действия.
- Первым делом создадим наглядную таблицу. В одном столбце у нас будут цифры, во втором – результат. Для демонстрации возможностей будем использовать дробные числа.
- Переходим первую пустую ячейку и нажимаем на кнопку «Fx».
В появившемся окне выберите категорию «Определенные пользователем». Новые функции будут именно там.
Будем вставлять поочередно. Именно в той хронологии, как они идут в списке.
СуммаПрописью
- Выберите соответствующий пункт и нажмите на кнопку «OK».
Справка нам подсказывает, что эта функция для рублей.
- В появившемся окне нужно вставить аргумент. Для этого достаточно кликнуть на ячейку с числом.
- Благодаря этому адрес подставится автоматически. Для продолжения нажмите на кнопку «OK».
- В результате этого вы увидите следующее.
СуммаПрописьюГривны
- Выделяем следующую строчку и кликаем на иконку вставки функции.
- На этот раз выбираем вторую функцию. Для вставки нажимаем на кнопку «OK».
- Затем кликаем на следующее число.
- После автоматической подстановки нажмите на кнопку «OK».
- Результат будет следующим.
СуммаПрописьюДоллары
- Переходим на третью строчку и кликаем на иконку «Fx».
- Выбираем «долларовую» функцию и нажимаем на «OK».
- Указываем соответствующий аргумент.
- Кликаем на «OK».
- Благодаря этому целое число отображается в долларах, а дробное – в центах.
СуммаПрописьюЕвро
- Переходим на четвертую строчку и вызываем окно вставки уравнения.
- Указываем функцию для «Евро».
- Кликаем на соответствующий аргумент.
- Нажимаем на кнопку «OK».
- Результат будет следующим.
Обратите внимание на то, что количество центов (копеек) выводится всегда. Даже если их 0.
ЧислоПрописью
Преимущество данного модуля в том, что вы можете осуществить преобразование без дополнительных денежных приставок.
- Перейдите на последнюю строчку и нажмите на иконку «Fx».
- Выберите последнюю функцию.
- В качестве аргумента укажите последнее оставшееся число.
- Для вставки нажмите на кнопку «OK».
В результате проделанных действий, мы увидим следующую таблицу.
Обратите внимание на то, что во всех ячейках сумма прописью указывается с большой буквы и только число – с маленькой.
Платные модули
Описанные выше надстройки были бесплатными. В интернете можно найти и более мощные инструменты, но за определенную плату.
На сайте PlanetaExcel продается надстройка PLEX.
Нам показывают, что в ней находится огромная библиотека формул.
На момент публикации статьи стоимость надстройки оценивается в 795 рублей.
Разумеется, они предоставляют возможность бесплатного тестирования, но количество запусков ограничено.
Заключение
Прочитав данную инструкцию, вы должны были понять, как настроить редактор Excel, чтобы можно был выводить сумму прописью. Если у вас что-то не получается, возможны следующие варианты:
- вы скачали не тот файл;
- вы не добавили эту надстройку в Эксель;
- вы выделяете не те ячейки;
- используете не те функции;
- допускаете опечатку при подсчете суммы различных значений.
Видеоинструкция
Если у вас остались какие-нибудь вопросы или вы так и не смогли найти причину своих проблем, рекомендуется посмотреть видеоролик, в котором приводятся дополнительные комментарии к описанным выше инструкциям.
Добрый день уважаемый читатель!
Статья посвящена такому интересному вопросу: «Как создается сумма прописью в Excel?». Эта возможность позволяет нам всю массу информации и расчетов, которые сведены в один результат, оформить как финансовой документ, которые нельзя трактовать двузначно. Недаром же любые банковские, юридические и финансовые документы оформляются и цифрами и буквами. Окромя всего, такие суммы не позволяют ошибаться, где же должна стоять запятая и просто отлично выглядят в сравнении с рядом цифр. Подведя итог, скажу, что любой пользователь Excel, который работает с цифрами и временем, а также печатает документы с их использованием, очень нуждается в инструменте создающим сумму прописью.
Решить эту проблему можно несколькими способами:
- С помощью формул;
- С помощью пользовательской функции;
- С помощью VBA.
Создание сумм прописью с помощью формул
Это вполне осуществимый вариант, но очень громоздкий. Формула, которая может самостоятельно преобразовывать числа в буковки и правильно орфографически написать сумму прописью получится очень большой. В случае, когда вы захотите упростить формулу, вам нужно будет отдельный блок формул, который буде и заниматься всеми преобразованиями. Единственное преимущество от использования формулы, это когда вы разберетесь с ней, то самостоятельно сможете ее изменять: разрядность, валюту, склонение и т.п.
Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.
С помощью пользовательской функции
Как мой взгляд, это самое оптимальное и простое, относительно конечно, решение поставленного вопроса. Вы просто включаете функцию и пользуетесь ее с удовольствием.
Для этого вам необходимо выполнить некоторые действия. Сначала скачиваете файл надстройки здесь. После, переносите его в папку AddIns, которую можно найти по пути C:Documents and SettingsUserApplication DataMicrosoftAddIns, только вы вместо «User» подставляете имя вашего пользователя Windows. Еще может возникнуть проблема в отображении папки «Application Data», она может быть скрыта, тогда вам в настройках «Свойства папки» нужно активировать пункт «Показать скрытые файлы и папки». Теперь собственно и приступим к включении этой надстройки. В Excel выбираем «Файл» — «Параметры» — «Надстройки». В диалоговом окне «Настройки» ставим галочку напротив включаемой надстройки «Сумма Прописью» и нажимаем «ОК». Следующим шагом, ставим курсор на нужную ячейку и вызываем «Мастер функций». В разделе «Категория» выбираем пункт «Определенные пользователем» и теперь весть список встроенных функций по написанию сумм прописью нам доступен. Кстати как видите, доступен даже выбор функций в разрезе валют. Сразу замечу, что надстроек бывает много, есть и более расширенные, но эта меня полностью устраивает, вот я ее и описываю. В результате мы получаем возможность получить следующие данные:
С помощью VBA
Вот еще один способ на любителя. Конечно создать сумму прописью в Excel с помощью макроса не самый распространённый способ, но им достаточно часто пользовались и пользуются до сих пор. Большой сложности он не представляет, вам нужно:
- Комбинацией горячих клавиш ALT+F11 вызвать редактор Visual Basic;
- С помощью меню «Insert» — «Module», создать пустой новый модуль;
- Скопировать предоставленный код макроса в тело модуля.
Получается готовая пользовательская функция VBA, которая умеет превращать любую сумму от 0 до 9 999 999 в ее текстовое воплощение, создается сумма прописью.
Код нужного макроса выглядит так:
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, ‘проверяем миллионы 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 |
Сохраняете внесенные изменения и теперь можно пользоваться новой функцией, как и прочими, она отображается в «Мастере функций» в категории «Определенные пользователем» или же просто вручную ввести ее в ячейке указав какую сумму необходимо сделать прописной.
Но как видите, макрос пишет прописью суммы, только целые числа, а вот для получения еще и копеек, эту конструкцию нужно доработать использованием следующей функции:
=СУММАПРОПИСЬЮ(A3)&» руб. «&ТЕКСТ((A3-ЦЕЛОЕ(A3))*100;»00″)&» коп.»
Приставку «Module2» в моей формуле можете опустить, так как таким образом, программа разделяет 2 похожие формулы, одна от установленных надстроек, а вторая от макроса.
А на этом у меня всё! Я очень надеюсь, что всё о том, как ваши цифры сделать прописными вам понятно. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями прочитанным и ставьте лайк!
Не забудьте поблагодарить автора!
Что такое ограбление банка по сравнению с основанием банка?
Бертольт Брехт
При внесении информации в разные экономические документы иногда по регламенту требуется вписать сумму прописью. Если речь идет о единичных случаях, то проблем не возникнет. Но при заполнении большого числа документов на это уходит больше времени, чем при заполнении цифрами. Выясним, как установить инструмент, позволяющий автоматически вписать сумму прописью в Excel.
Зачем это нужно
Число, указанное прописью, применяют во многих бухгалтерских документов. Если фирма использует специальные программы, например 1С для формирования отчетности, то такой потребности не возникнет. Но когда нужно ввести сумму прописью при заполнении бумаг в обычных программах, могут возникнуть проблемы. Это требует большого количества времени, поэтому встает вопрос об автоматизации процесса.
Кроме специалистов, которым на работе нужно указать буквенное значение числа, обычным пользователям тоже может потребоваться такой ввод для своих личных целей.
Использование надстройки
В Экселе отсутствует стандартный инструмент, позволяющий добавить сумму прописью, для этого применяют специальные надстройки. Одна из популярных надстроек — NUM2TEXT, которую можно скачать бесплатно. Она меняет цифровые значения на буквенные с помощью Мастера функций. Предварительно необходимо загрузить и сохранить на жестком диске компьютера файл NUM2TEXT.xla.
Преобразовать числа в текст прописью в Excel 2007, 2010, 2016, можно следующим образом:
- Запустить Эксель и зайти в раздел «файл».
- Кликнуть на строку «параметры».
- Откроется окошко, в котором необходимо перейти в пункт «надстройки».
- Внизу в строке «управление» поставить значение «надстройки Эксель» и щелкнуть на элемент «перейти».
- Появится маленькое окно, в котором требуется нажать на кнопку «обзор».
- В появившемся окошке найти предварительно скачанный файл, выделить его и кликнуть на ОК.
- Инструмент появился в доступных надстройках. Поставить галочку в квадратике рядом с ним и снова щелкнуть мышкой на ОК.
- Теперь нужно проверить функционирование надстройки. Для этого в любой ячейке ввести произвольное число.
- Выделить любой другой элемент и кликнуть на ярлычок «вставить функцию», находящийся с левой стороны от строчки формулы.
- Открыть мастер функций, в предложенном списке найти «сумма прописью». Выделить ее и кликнуть на ОК.
- В окошке «аргументы функции» в строке «сумма» вписать нужное числовое значение. Оно сразу отобразится в указанной области в рублях и копейках прописью.
- В строчке можно указать адрес любой ячейки. Возможны 2 варианта – ручным способом через запись координат или простым нажатием на нее в тот момент, когда указатель мышки стоит в поле «сумма». Щелкнуть на ОК.
- Далее цифра, введенная в ячейку, отобразится в стоимостном выражении прописью в той клетке, где стоит формула.
Использование формулы
Опцию записи значения прописью можно запустить вручную, не прибегая к помощи мастера функций. Но для преобразования числа в текст сначала нужно составить формулу. Примеры различных формул под разные требования можно найти на специализированном форуме.
Синтаксис обычно такой: Сумма_прописью (сумма) или Сумма_прописью (координаты_ячейки).
Если пользователь напечатает в ячейке формулу =Сумма_прописью (74) и нажмет на клавишу ENTER, то в ней автоматически появится текст «семьдесят четыре рубля 00 копеек» (с копейками или без зависит от самой формулы).
Если пользователь напечатает в ячейке =Сумма прописью (А3), то цифра, стоящая в клетке А3, отобразится в запрашиваемом формате.
Скрипт VBA
Далее представлена подготовленная функция на VBA для пользователей, которая переведет цифровой показатель от 0 до 9 999 999 в его текстовое выражение, т.е. в сумму прописью. Сначала ее потребуется занести в книгу. Алгоритм действий:
- нажимают одновременно на ALT+F11, откроется редактор Visual Basic;
- добавляют новый пустой модуль посредством меню Insert – Module;
- копируют и добавляют туда скрипт:
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. Затем вставляют функцию в любую клетку листа книги привычным способом — через мастер функций или просто набирают ее в ячейке вручную, а в качестве аргумента указывают ячейку с суммой.
Как сделать в эксель чтобы цифры автоматически прописывались
Сумма прописью в Microsoft Excel
При заполнении различных финансовых документов часто требуется прописать сумму не только числом, но и прописью. Конечно, это занимает гораздо больше времени, чем обычное написание с помощью цифр. Если подобным образом нужно заполнить не одно, а много документов, то временные потери становятся огромными. Кроме того, именно в записи суммы прописью наиболее часто встречаются грамматические ошибки. Давайте выясним, как сделать так, чтобы числа прописью вносились автоматически.
Использование надстройки
В Эксель нет встроенного инструмента, который бы помогал автоматически переводить цифры в слова. Поэтому для решения поставленной задачи используют специальные надстройки.
Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.
- Открываем программу Excel и переходим во вкладку «Файл».
Перемещаемся в раздел «Параметры».
В активном окне параметров переходим в раздел «Надстройки».
Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».
В открывшемся окне ищем предварительно скачанный и сохраненный на жесткий диск компьютера файл надстройки NUM2TEXT.xla. Выделяем его и жмем на кнопку «OK».
Мы видим, что данный элемент появился среди доступных надстроек. Ставим галочку около пункта NUM2TEXT и жмем на кнопку «OK».
Запускается Мастер функций. В полном алфавитном перечне функций ищем запись «Сумма_прописью». Её раньше не было, но она появилась тут после установки надстройки. Выделяем эту функцию. Жмем на кнопку «OK».
Отрывается окно аргументов функции Сумма_прописью. Оно содержит только одно поле «Сумма». Сюда можно записать обычное число. Оно в выделенной ячейке отобразиться в формате записанной прописью денежной суммы в рублях и копейках.
Можно в поле занести адрес любой ячейки. Это делается либо путем ручной записи координат этой ячейки, либо простым кликом по ней в то время, когда курсор находится в поле параметра «Сумма». Жмем на кнопку «OK».
Функцию можно также записать и вручную без вызова мастера функций. Она имеет синтаксис Сумма_прописью(сумма) или Сумма_прописью(координаты_ячейки). Таким образом, если вы в ячейке запишите формулу =Сумма_прописью(5) , то после нажатия кнопки ENTER в этой ячейке отобразиться надпись «Пять рублей 00 копеек».
Если вы введете в ячейку формулу =Сумма_прописью(A2) , то в таком случае, любое число, внесенное в ячейку A2 будет отображаться тут денежной суммой прописью.
Как видим, несмотря на то, что в Excel нет встроенного инструмента для преобразования чисел в сумму прописью, эту возможность можно довольно легко получить, просто установив необходимую надстройку в программу.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Цифры буквами в Excel
Цифры прописью в Excel — вот так чудо, и это один из наглядных примеров рационального использования достижений автоматизации процессов. О такой возможности многие пользователи и не догадываются, а между тем можно порядком сэкономить драгоценное время.
Цифры прописью в Excel
Для замены цифр прописью в Excel потребуется воспользоваться дополнительной надстройкой, но не стоит пугаться, если вы ничего в этом не понимаете. Читайте и делайте согласно инструкции, и все у вас получится.
Интересно. Как сделать подобное в Word читайте здесь.
Число прописью в Экселе. Установка
В данном уроке вам будет предложено скачать бесплатно корректно работающий вариант приложения для написания числа прописью найденного на просторах интернета.
Как правило, необходимость конвертировать цифры в текст возникает в различных бухгалтерских и платежных документах, поэтому радует и наличие возможности выбора основных валют (рубли, доллары и евро).
Довольно лирики, давайте приступим и подробно разберемся, как написать число прописью.
Делаем в следующем порядке:
1. Скачиваем и распаковываем файл кликнув здесь.
2. Закиньте файл NUMSTR.XLA в папку Library, которая находится C:ProgramFiles (x86)MicrosoftOfficeOffice14Library (возможно расположение немного отличается, зависит от версий ПО).
3. Запустите Excel и на вкладке «Разработчик» кликните по кнопке «Надстройки» ( если ее нет, читайте ниже ).
Внимание. Если нет вкладки «Разработчик», пройдите Файл → Параметры → Настройка ленты и установите галку напротив пункта «Разработчик».
4. В окне «Надстройки» отметьте пункт NumStrAdd-in и нажмите ОК.
Усё можно пользоваться.
Число прописью в Excel. Как пользоваться
Расширение установлено, теперь несколько слов как использовать:
5. Для примера напишите в произвольной ячейке число цифрами.
6. Кликните по кнопке «Вставить Функцию».
7. В открывшемся окне «Мастер функций» в списке «Категория» выберите «Определенные пользователем».
8. После этого выберите необходимую функцию:
NumStr – отобразит цифры буквами в Excel;
RubStr — преобразует число прописью в рублях;
USDStr – конвертирует число прописью в долларах;
EURStr – выведет сумму прописью в евро.
9. В следующем окне «Аргументы функции» укажите в поле ячейку с данными (кликнут курсором) или непосредственно число цифрами, завершив нажатием кнопки ОК и растянувшейся улыбкой.
Интересно. Как закрепить строки в Excel читайте тут.
Как прописать сумму, число, цифры прописью в Excel
Очень распространенная задача написать числа прописью в Excel. Встроенной функции пока еще в Excel нет, поэтому мы можем создать пользовательскую функцию, которая и будет заменять цифры, числа текстом.
Как правило, это требуется в торговле, бухгалтерском учете и других сферах, где производятся расчеты с денежными средствами. Обычно необходимо перевести сумму в рублях и копейках прописью, как на картинке (первый пример).
Сумма в рублях, долларах или евро с копейками прописью
Допустим, мы делаем какие-то расчеты в таблице и получаем итоговую сумму в рублях 1526,23
Нам необходимо прописать эту цифру в рублях и желательно указать так же и копейки. Для этого создадим специальную универсальную пользовательскую функцию, которая будет выглядеть следующим образом
Propis ( Amount ; Money ; lang ; Prec )
Amount — это ссылка на ячейку с числом
Money — тут указывается вид валюты, можно указать рубли, доллары и евро ( «RUB» , «USD» , «EUR» ) — валюта обязательно указывается в кавычках.
lang — это язык на котором необходимо вывести сумму, доступно два языка английский и русский ( «EN» , «RU» ) — так же указываем в кавычках
Prec — показывать ( 1 ) или не показывать ( 0 ) дробную часть
Таким образом, вы сможете прописать сумму в рублях, долларах или евро прописью русскими или английскими буквами вместе с дробной частью, при этом в зависимости от числа будет вставляться правильное окончание, например 2 рубля, 8 рублей, 1 рубль и так далее.
Чтобы создать пользовательскую функцию Propis, необходимо скопировать код, указанный ниже, далее нажмите ALT+F11, чтобы открыть VBA, добавьте новый пустой модуль через меню Insert — Module и вставьте туда скопированный код
Макрос пользовательской функции суммы прописью
Итак, функция создана, чтобы воспользоваться ей, просто введите ячейке Propis с нужными аргументами, например, если нам необходимо прописать сумму прописью в рублях с копейками и на русском языке, то формула будет выглядеть следующим образом.
Числа прописью с копейками заглавными или строчными буквами в Excel
Вот код VBA для пользовательской функции. Отображение суммы прописью с копейками и выбором первой заглавной или строчной буквы
- Без копеек (1), с копейками (0)
- Копейки прописью (1), числом (0)
- Начинать прописью (0), заглавной (1)
Вот как используется функция
- Данная функция будет работать с числами от 0 до 99 999 999
- Перед копирование кода переключите раскладку клавиатуры на русский язык (для корректного копирования русского текста)
- Код VBA необходимо вставлять во все файлы (Книги Excel), где вы хотите, чтобы она работала
- После вставки код, необходимо сохранить файл с поддержкой макросов xlsm (в Excel, начиная с 2007 версии)
- Функцию можно либо набирать в ручную, либо, если вы забыли как она пишется, через мастер функций (кнопка fx в строке формул, категория Определенные пользователем)
Как создается сумма прописью в Excel?
Добрый день уважаемый читатель!
Статья посвящена такому интересному вопросу: «Как создается сумма прописью в Excel?». Эта возможность позволяет нам всю массу информации и расчетов, которые сведены в один результат, оформить как финансовой документ, которые нельзя трактовать двузначно. Недаром же любые банковские, юридические и финансовые документы оформляются и цифрами и буквами. Окромя всего, такие суммы не позволяют ошибаться, где же должна стоять запятая и просто отлично выглядят в сравнении с рядом цифр. Подведя итог, скажу, что любой пользователь Excel, который работает с цифрами и временем, а также печатает документы с их использованием, очень нуждается в инструменте создающим сумму прописью.
Решить эту проблему можно несколькими способами:
Создание сумм прописью с помощью формул
Это вполне осуществимый вариант, но очень громоздкий. Формула, которая может самостоятельно преобразовывать числа в буковки и правильно орфографически написать сумму прописью получится очень большой. В случае, когда вы захотите упростить формулу, вам нужно будет отдельный блок формул, который буде и заниматься всеми преобразованиями. Единственное преимущество от использования формулы, это когда вы разберетесь с ней, то самостоятельно сможете ее изменять: разрядность, валюту, склонение и т.п.
Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.
С помощью пользовательской функции
Как мой взгляд, это самое оптимальное и простое, относительно конечно, решение поставленного вопроса. Вы просто включаете функцию и пользуетесь ее с удовольствием.
Для этого вам необходимо выполнить некоторые действия. Сначала скачиваете файл надстройки здесь. После, переносите его в папку AddIns, которую можно найти по пути C:Documents and SettingsUserApplication DataMicrosoftAddIns, только вы вместо «User» подставляете имя вашего пользователя Windows. Еще может возникнуть проблема в отображении папки «Application Data», она может быть скрыта, тогда вам в настройках «Свойства папки» нужно активировать пункт «Показать скрытые файлы и папки». Теперь собственно и приступим к включении этой надстройки. В Excel выбираем «Файл» — «Параметры» — «Надстройки». В диалоговом окне «Настройки» ставим галочку напротив включаемой надстройки «Сумма Прописью» и нажимаем «ОК». Следующим шагом, ставим курсор на нужную ячейку и вызываем «Мастер функций». В разделе «Категория» выбираем пункт «Определенные пользователем» и теперь весть список встроенных функций по написанию сумм прописью нам доступен. Кстати как видите, доступен даже выбор функций в разрезе валют. Сразу замечу, что надстроек бывает много, есть и более расширенные, но эта меня полностью устраивает, вот я ее и описываю. В результате мы получаем возможность получить следующие данные:
С помощью VBA
Вот еще один способ на любителя. Конечно создать сумму прописью в Excel с помощью макроса не самый распространённый способ, но им достаточно часто пользовались и пользуются до сих пор. Большой сложности он не представляет, вам нужно:
- Комбинацией горячих клавиш ALT+F11 вызвать редактор Visual Basic;
- С помощью меню «Insert» — «Module», создать пустой новый модуль;
- Скопировать предоставленный код макроса в тело модуля.
Получается готовая пользовательская функция VBA, которая умеет превращать любую сумму от 0 до 9 999 999 в ее текстовое воплощение, создается сумма прописью.
Число прописью в Excel: инструкция, как написать сумму
Сумма прописью в Excel
Windows 10 на калькуляторе
Windows 10 не видит флешку
Не работают наушники на компьютере Windows 10
Ноутбук с Windows 10 не видит наушники
Не видит компьютеры в сети Windows 10
Во многих документах мы можем видеть строку, в которой требуется указать сумму не в числовом виде, а прописью. Это защищает отчетность от подделки, ведь цифру легко переправить. А вот длинную запись незаметно исправить не так-то просто. Сумма прописью в Excel доступна только в виде надстроек или с использованием формул. Встроенного инструмента не имеется.
Как в Excel сделать сумму прописью
Чтобы получить эту возможность, вы можете скачать надстройку «Сумма прописью» в Excel бесплатно на нашем сайте.
Разместите его в любом удобном каталоге и подключите. Для этого следует пройти следующие этапы:
Эта функция «сумма_прописью» работает в Excel 2007, 2010, 2016
Данная надстройка работает только для рублей. Если вам нужна другая валюта, скачайте еще файл sumprop.xla. Действуя по аналогии подключите надстройку для получения суммы прописью в Excel.
Для проверки введем в ячейке A3 произвольное число. Пусть это будет десятичная дробь. Также вызовем окно вставки функций и найдем новые функции для вывода суммы прописью.
Как видите, нам стали доступны:
- Сумма Прописью
- Сумма Прописью Доллары
- Сумма Прописью Евро
- Сумма Прописью Евро
Переведем число в евро. Выбираем соответствующую функцию и кликаем по ячейке с числом.
После нажатия ОК получаем результат.
С помощью этих инструментов преобразование числа в текст прописью в Excel выполняется очень просто. Если по каким-то причинам вы не хотите устанавливать их в Excel, можно воспользоваться другим способом.
Формула суммы прописью в Excel — как написать число
Для вывода числа прописью в Excel можно создать формулу. Приведем пример:
Для ее использования вам необходимо указать несколько массивов Excel:
Просто скопируйте эту таблицу на лист Excel, а формулу вставляйте туда, где необходима сумма прописью. Вышеприведенная конструкция предназначена для ячейки A3. Не забудьте поменять адрес.
В англоязычном Excel формула суммы прописью будет выглядеть следующим образом:
SUBSTITUTE(PROPER(INDEX(n_4,MID(TEXT(A1,n0),1,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),2,1)+1,MID(TEXT(A1,n0),3,1)+1)&IF(-MID(TEXT(A1,n0),1,3),»миллиард»&VLOOKUP(MID(TEXT(A1,n0),3,1)*AND(MID(TEXT(A1,n0),2,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),4,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),5,1)+1,MID(TEXT(A1,n0),6,1)+1)&IF(-MID(TEXT(A1,n0),4,3),»миллион»&VLOOKUP(MID(TEXT(A1,n0),6,1)*AND(MID(TEXT(A1,n0),5,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),7,1)+1)&INDEX(n1x,MID(TEXT(A1,n0),8,1)+1,MID(TEXT(A1,n0),9,1)+1)&IF(-MID(TEXT(A1,n0),7,3),VLOOKUP(MID(TEXT(A1,n0),9,1)*AND(MID(TEXT(A1,n0),8,1)-1),тыс,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),10,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),11,1)+1,MID(TEXT(A1,n0),12,1)+1)),»z»,» «)&IF(TRUNC(TEXT(A1,n0)),»»,»Ноль «)&»рубл»&VLOOKUP(MOD(MAX(MOD(MID(TEXT(A1,n0),11,2)-11,100),9),10),<0,»ь «;1,»я «;4,»ей «>,2)&RIGHT(TEXT(A1,n0),2)&» копе»&VLOOKUP(MOD(MAX(MOD(RIGHT(TEXT(A1,n0),2)-11,100),9),10),<0,»йка»;1,»йки»;4,»ек»>,2)
Как видим, это не самый удобный способ преобразовать число в текст прописью в Excel.
Преобразование с помощью макросов Excel
Можно написать собственную функцию, которая произведет конвертацию суммы прописью. Нажмите сочетание ALT+F11 и в открывшемся разработчике Excel VBA вставьте новый модуль.
В него добавьте следующий код.
Теперь эту функцию можно вызвать обычным путем и получить сумму прописью. Она находится в разделе функций Excel «Определенные пользователем».
В качестве аргумента укажите адрес с числом.
Перевод в сумму прописью осуществляется только для целых чисел.
Дробное число требует дополнительной формулы:
Вместо ячейки A7 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа.
Мы рассмотрели все способы представления суммы прописью в Excel. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!
Во многих документах мы можем видеть строку, в которой требуется указать сумму не в числовом виде, а прописью. Это защищает отчетность от подделки, ведь цифру легко переправить. А вот длинную запись незаметно исправить не так-то просто. Сумма прописью в Excel доступна только в виде надстроек или с использованием формул. Встроенного инструмента не имеется.
Как в 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. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!
Отличного Вам дня!