При заполнении различных финансовых документов часто требуется прописать сумму не только числом, но и прописью. Конечно, это занимает гораздо больше времени, чем обычное написание с помощью цифр. Если подобным образом нужно заполнить не одно, а много документов, то временные потери становятся огромными. Кроме того, именно в записи суммы прописью наиболее часто встречаются грамматические ошибки. Давайте выясним, как сделать так, чтобы числа прописью вносились автоматически.
Использование надстройки
В Эксель нет встроенного инструмента, который бы помогал автоматически переводить цифры в слова. Поэтому для решения поставленной задачи используют специальные надстройки.
Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.
- Открываем программу Excel и переходим во вкладку «Файл».
- Перемещаемся в раздел «Параметры».
- В активном окне параметров переходим в раздел «Надстройки».
- Далее, в параметре настроек «Управление» устанавливаем значение «Надстройки Excel». Жмем на кнопку «Перейти…».
- Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».
- В открывшемся окне ищем предварительно скачанный и сохраненный на жесткий диск компьютера файл надстройки NUM2TEXT.xla. Выделяем его и жмем на кнопку «OK».
- Мы видим, что данный элемент появился среди доступных надстроек. Ставим галочку около пункта NUM2TEXT и жмем на кнопку «OK».
- Для того, чтобы проверить как работает только что установленная надстройка пишем в любой свободной ячейке листа произвольное число. Выделяем любую другую ячейку. Кликаем по значку «Вставить функцию». Он расположен слева от строки формул.
- Запускается Мастер функций. В полном алфавитном перечне функций ищем запись «Сумма_прописью». Её раньше не было, но она появилась тут после установки надстройки. Выделяем эту функцию. Жмем на кнопку «OK».
- Отрывается окно аргументов функции Сумма_прописью. Оно содержит только одно поле «Сумма». Сюда можно записать обычное число. Оно в выделенной ячейке отобразиться в формате записанной прописью денежной суммы в рублях и копейках.
- После этого, любое число, которое записано в ячейку, указанную вами, будет отображаться в денежном виде прописью в том месте, где установлена формула функции.
Можно в поле занести адрес любой ячейки. Это делается либо путем ручной записи координат этой ячейки, либо простым кликом по ней в то время, когда курсор находится в поле параметра «Сумма». Жмем на кнопку «OK».
Функцию можно также записать и вручную без вызова мастера функций. Она имеет синтаксис Сумма_прописью(сумма) или Сумма_прописью(координаты_ячейки). Таким образом, если вы в ячейке запишите формулу =Сумма_прописью(5)
, то после нажатия кнопки ENTER в этой ячейке отобразиться надпись «Пять рублей 00 копеек».
Если вы введете в ячейку формулу =Сумма_прописью(A2)
, то в таком случае, любое число, внесенное в ячейку A2 будет отображаться тут денежной суммой прописью.
Как видим, несмотря на то, что в Excel нет встроенного инструмента для преобразования чисел в сумму прописью, эту возможность можно довольно легко получить, просто установив необходимую надстройку в программу.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ
Еще статьи по данной теме:
- Число прописью в Excel — формула
-
Сумма прописью с копейками в Excel
- В русских рублях, все буквы строчные
- В русских рублях, первая буква заглавная
- В русских рублях с копейками прописью
- В белорусских рублях
-
Сумма и число прописью в Гугл таблицах
- Сумма прописью — формула для Openoffice Calc
- UDF-функции надстройки !SEMTools
- Процедуры !SEMTools
- Перевод чисел прописью в другие падежи
Написать число или сумму прописью кажется довольно тривиальной задачей. Но если это нужно делать десятки раз на дню и с множеством документов, нужна автоматизация. Идеальным решением была бы формула в Excel.
Можно ли сделать такую формулу? Можно! А главное, что вам делать ничего не придется (только скопировать), потому что я уже сделал её за вас! Но обо всем по порядку.
Если попытаться описать алгоритм, который будет учитывать все нюансы, окажется, что все на так просто, как кажется:
- в зависимости от того, на какую цифру заканчивается число, его падеж и число могут быть:
- единственное, именительный (двадцать один рубль)
- единственное, родительный (двадцать два/три/четыре рубля)
- множественное, родительный (двадцать, двадцать пять/шесть/семь/восемь/девять рублей)
- При этом даже из этого правила уже есть исключения — числа от 11 до 14 — множественного числа, хотя числа от 1 до 4 — единственного.
- Ноль пишется цифрами, но не пишется прописью. Кроме случая с копейками — там он пишется в прописи, но цифрами.
- При этом от нуля может зависеть то, как будет выглядеть число или сумма прописью.
- Копейки женского рода, а рубли — мужского. Одна копейка, но один рубль.
И это далеко не все нюансы. Есть ли варианты, которые их все учитывают?
Большинство руководств в интернете предлагают решения на VBA и надстройки. Также предлагаются формулы на основе именованных диапазонов.
Но зачастую необходимо обмениваться файлами между разными компьютерами, и в таких случаях формулы попросту «полетят», и данные будут повреждены, т.к. вместе с файлом нужно будет портировать и код надстроек, что никто делать обычно не будет.
В случае с именованными диапазонами — нужно будет создавать их заново (а их около десятка!).
Возможна ли формула без применения 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;"0,00");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;"0,00");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;"0,00");2))="1";ИНДЕКС({"десять";"одиннадцать";"двенадцать";"тринадцать";"четырнадцать";"пятнадцать";"шестнадцать";"семнадцать";"восемнадцать";"девятнадцать"};ПРАВСИМВ(ТЕКСТ(A1;"0,00");2)-9);ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(ПРАВСИМВ(ТЕКСТ(A1;"0,00");2));"2";"двадцать");"3";"тридцать");"4";"сорок");"5";"пятьдесят");"6";"шестьдесят");"7";"семьдесят");"8";"восемьдесят");"9";"девяносто");"0";"")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ПРАВСИМВ(ТЕКСТ(A1;"0,00");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;"0,00");2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек")
Если вам не нужно делать первую букву заглавной, просто «оберните» всю эту гигантскую формулу функцией СТРОЧН.
Сумма и число прописью в Гугл таблицах
Прелесть формул выше в том, что они с минимальными модификациями портируются в Google Spreadsheets, где их замечательно можно использовать.
Ниже пример таблицы с указанными формулами:
Посмотреть сам файл и скопировать к себе можно по ссылке:
https://docs.google.com/spreadsheets/d/1dmqEB3TehEGmWfaxRmIQ9LXjGal439_YgKxZhbK0Ods/edit?usp=sharing
Сумма прописью — формула для Openoffice Calc
У формулы выше были проблемы с импортом в Openoffice, т.к. тот в отличие от Excel (2007 и старше), поддерживает максимум 42 уровня вложенности в формулах, а не 64.
Поэтому пришлось полностью переделать логику формулы и сделать ее сложной формулой массивов.
Так она выглядит в Excel:
=ПРОПИСН(ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A2;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A2;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A2;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A2;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A2;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A2;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A2;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A2;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A2;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A2));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A2)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A2;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр")))&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A2;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A2;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A2;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A2;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A2;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A2;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A2;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A2;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A2;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A2;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A2));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A2)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A2;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A2;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A2;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)&" "&ЕСЛИ(ЛЕВСИМВ(ПРАВСИМВ(ТЕКСТ(A2;"0,00");2))="1";ПРАВСИМВ(ТЕКСТ(A2;"0,00");2) &" копеек";ПРАВСИМВ(ТЕКСТ(A2;"0,00");2)&ИНДЕКС({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};ПРАВСИМВ(ТЕКСТ(A2;"0,00"))+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(TEXT(A1;"0,00");2))="1";RIGHT(TEXT(A1;"0,00");2) &" копеек";RIGHT(TEXT(A1;"0,00");2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(TEXT(A1;"0,00"))+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(TEXT(A1;"0,00");2))="1";RIGHT(TEXT(A1;"0,00");2) &" копеек";RIGHT(TEXT(A1;"0,00");2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(TEXT(A1;"0,00"))+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)
UDF-функции надстройки !SEMTools
Для тех, у кого ОС Windows и Excel 2010 и выше, и кто не готов пользоваться указанными формулами, есть простое решение — установить надстройку, в которой присутствует код, скрывающий все эти вычисления «под капот». Одна из таких — разработанная мной надстройка !SEMTools.
В ней для решения задачи преобразования числа и суммы в их прописной вариант есть 2 лаконичные функции:
Они доступны абсолютно бесплатно безо всяких ограничений в любой версии надстройки, приобретать полную версию не обязательно.
Единственное ограничение — эти формулы будут работать только на тех компьютерах, где установлена надстройка.
Процедуры !SEMTools
Еще более простое, но не всегда удобное решение — процедуры (макросы). В надстройке для Excel !SEMTools доступны макросы преобразования чисел в сумму и число прописью в 1 клик.
Вызов процедур находится в меню «Изменить символы» в группе «ИЗМЕНИТЬ» на панели надстройки. Макрос преобразует числа на месте, превращая их в текст. Можно выделить как одну, так и несколько ячеек:
Функционал доступен в полной версии надстройки.
Перевод чисел прописью в другие падежи
Зачастую после получения числа или суммы прописью нужно указать его в другом падеже.
Например, «сумма в размере пятисот тысяч трехсот трех рублей». !SEMTools справляется и с этой задачей — смотрите раздел склонение по падежам в Excel.
Надстройка !SEMTools для Excel поможет буквально за пару кликов написать числа или суммы прописью.
Скачайте и убедитесь в этом сами!
Часто нужно перевести число в текст в Excel так, чтобы оно отображалось прописью (словами) на русском или других языках. Так как по умолчанию нет готовой функции, создадим свою пользовательскую функцию с помощью макросов.
Пример использования пользовательской функции для преобразования числа суммы в текстовые слова, которую можно скачать в конце статьи:
Для создания пользовательской функции, которая сможет перевести число в текст прописью , нам нужно выполнить 3 простых шага:
- Открыть редактор макросов ALT+F11.
- Создать новый модуль и в нем нужно написать функцию особенным способом: Function вместо Sub. Тогда наша функция «ЧислоПропись» будет отображаться в списке мастера функций (SHIFT+F3), в категории «Определенные пользователем».
- Вставить в модуль следующий код и сохранить:
Function ЧислоПропись(Число As Currency) As 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 String) As 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 String) As 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 String) As 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 Double, Optional Валюта As Integer = 1, Optional Копейки As Integer = 1)
Attribute ЧислоПрописьюВалюта.VB_Description = «Функция преобразовывает число суммы текстовыми словами»
Attribute ЧислоПрописьюВалюта.VB_ProcData.VB_Invoke_Func = » n1″
Dim Edinicy(0 To 19) As String: Dim EdinicyPoslednie(0 To 19) As String
Dim Desyatki(0 To 9) As String: Dim Sotni(0 To 9) As String: Dim mlrd(0 To 9) As String
Dim mln(0 To 9) As String: Dim tys(0 To 9) As String
Dim SumInt, x, shag, vl As Integer: Dim 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-код макроса, который доступен в модуле из редактора.
Запишем число прописью в Excel без использования
VBA
. Вспомогательные диапазоны разместим в личной книге макросов. Кроме того, добавим руб./коп. для записи денежных сумм, например: четыреста сорок четыре руб. 00 коп.
Иногда требуется записать число прописью:
256
записать как
двести пятьдесят шесть
. Набирать этот текст безумно скучно, кроме того легко ошибиться, поэтому давно написаны макросы на VBA, которые легко справляются с этой задачей.
В статье
Число прописью (статичный вариант)
приведено решение этой задачи позволяющей перевести число в текстовую форму по следующему алгоритму:
- вводим число в определенную ячейку;
-
с помощью формул, вспомогательных диапазонов с текстом и
имен
получаем число прописью;
-
копируем результат вычисления формулы (число прописью) в
Буфер обмена
; -
вставляем текст в любую открытую книгу «Как значение» (
).
Это не всегда удобно. Хочется по аналогии с функциями на VBA написать что то вроде =ЧислоПрописью(А1) и получить результат. Все промежуточные вычисления должны быть «за кадром». Но, создание пользовательских функций это прерогатива VBA.
Тем не менее, можно предложить следующее решение с помощью обычных формул:
- разместить в Личной книге макросов (PERSONAL.XLSB) вспомогательные диапазоны, содержащие некоторые числа прописью (от 0 до 999);
-
создать формулу, переводящую в текст любое число от 0 до 1 млрд. с помощью вспомогательных диапазонов и
имен
;
-
в любой книге, где требуется записать число прописью создать
Именованную формулу
ЧислоПрописью
сотносительной
ссылкой на исходное число (относительную ссылку можно создать так, чтобы она позволяла выводить число прописью, например, в соседней ячейке слева от исходного числа).
В результате вышеуказанных манипуляций можно будет, например, записав в ячейке
G
6
исходное число, а в ячейке
G7
формулу
=ЧислоПрописью
, и получить нужный результат.
Все это реализовано в
файле примера
.
Как и в примере статьи
Число прописью (статичный вариант)
на листе
Служ
размещены вспомогательные диапазоны, содержащие некоторые числа прописью в Excel.
Теперь эти диапазоны длиннее (числа от 1 до 999) и содержат слова
тысяча
и
миллион
с учетом склонения. Также создан диапазон для отображения слова
Рублей
с учетом склонения.
Теперь все готово для записи формулы переводящей исходное число (ячейка
B
6
) в текст:
=СЖПРОБЕЛЫ( ИНДЕКС(Миллионы;ОСТАТ(ОТБР(B6/1000000);1000000)+1)&» «& ИНДЕКС(Тысячи;ОСТАТ(ОТБР(B6/1000);1000)+1)&» «& ИНДЕКС(Единицы;ОСТАТ(B6;1000)+1))
Задача в принципе решена, осталось только разместить вспомогательные диапазоны в Личную книгу макросов PERSONAL.XLSB, для того чтобы формула, переводящая число в текст была доступна в любой книге.
В Windows XP эта книга находится в папке C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда она будет автоматически загружается при каждом запуске приложения Excel. В Windows Vista эта книга хранится в папке C:Usersимя_пользователяApplication DataMicrosoftExcelXLStart.
Если Личная книга макросов еще не была создана, то скопируйте лист
Служ
из файла примера в новую книгу, и сохраните ее в директорию C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart (для XP) под именем PERSONAL.XLSB.
Если Личная книга макросов уже была ранее создана, то через меню
отобразите ее, скопируйте в нее лист
Служ,
сохраните Личную книгу макросов (можно ее потом скрыть
).
Теперь откройте
книгу, в которой нужно записать число прописью
. Исходное число разместите, например, в ячейке
А1
. Введите в нужную ячейку формулу:
=ЕСЛИ(A1;СЖПРОБЕЛЫ( ИНДЕКС(PERSONAL.XLSB!Миллионы;ОКРУГЛВНИЗ(A1;-6)/1000000+1)&» «& ИНДЕКС(PERSONAL.XLSB!тысячи;ОСТАТ(ОТБР(A1/1000);1000)+1)&» «& ИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00″)&» коп.»);»ноль руб. 00 коп.»)
Формула отобразит число прописью. Ячейки, содержащие исходное число и формулу, можно перенести в любое место в книге или даже в другую книгу.
Чтобы еще больше приблизиться к идеалу создадим
именованную формулу
ЧислоПрописью
. Для этого:
-
выделите ячейку
B1
; -
через меню
создайте именованную формулу
ЧислоПрописью;
-
в поле
Диапазон
введите формулу указанную выше: - нажмите ОК;
-
в ячейке
В1
введите формулу
=ЧислоПрописью
-
ячейка
В1
будет содержать число прописью.
Теперь ячейки
А1
и
В1
можно скопировать и перенести в любое место в книге, но они должны быть всегда на одной строке и в соседних столбцах, т.к. именованной формуле использована
относительная ссылка
.
При пересылке файла, например, по электронной почте, формула будет продолжать работать, не смотря на то, что Личная книга макросов не пересылалась, т.е. Ваши коллеги получившие файл, смогут с ним работать как Вы.
Во многих документах мы можем видеть строку, в которой требуется указать сумму не в числовом виде, а прописью. Это защищает отчетность от подделки, ведь цифру легко переправить. А вот длинную запись незаметно исправить не так-то просто. Сумма прописью в Excel доступна только в виде надстроек или с использованием формул. Встроенного инструмента не имеется.
Как в Excel сделать сумму прописью
Скачать файл надстройки
Чтобы получить эту возможность, вы можете скачать надстройку «Сумма прописью» в Excel бесплатно на нашем сайте.
Разместите его в любом удобном каталоге и подключите. Для этого следует пройти следующие этапы:
Эта функция «сумма_прописью» работает в Excel 2007, 2010, 2016
Данная надстройка работает только для рублей. Если вам нужна другая валюта, скачайте еще файл sumprop.xla. Действуя по аналогии подключите надстройку для получения суммы прописью в Excel.
Для проверки введем в ячейке A3 произвольное число. Пусть это будет десятичная дробь. Также вызовем окно вставки функций и найдем новые функции для вывода суммы прописью.
Как видите, нам стали доступны:
- Сумма Прописью
- Сумма Прописью Доллары
- Сумма Прописью Евро
- Сумма Прописью Евро
Переведем число в евро. Выбираем соответствующую функцию и кликаем по ячейке с числом.
После нажатия ОК получаем результат.
С помощью этих инструментов преобразование числа в текст прописью в Excel выполняется очень просто. Если по каким-то причинам вы не хотите устанавливать их в Excel, можно воспользоваться другим способом.
Формула суммы прописью в Excel — как написать число
Для вывода числа прописью в Excel можно создать формулу. Приведем пример:
ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);2;1)+1;ПСТР(ТЕКСТ(A3;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);1;3);»миллиард»&ВПР(ПСТР(ТЕКСТ(A3;n0);3;1)*И(ПСТР(ТЕКСТ(A3;n0);2;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);5;1)+1;ПСТР(ТЕКСТ(A3;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);4;3);»миллион»&ВПР(ПСТР(ТЕКСТ(A3;n0);6;1)*И(ПСТР(ТЕКСТ(A3;n0);5;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A3;n0);8;1)+1;ПСТР(ТЕКСТ(A3;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);7;3);ВПР(ПСТР(ТЕКСТ(A3;n0);9;1)*И(ПСТР(ТЕКСТ(A3;n0);8;1)-1);тыс;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);10;1)+1)&ИНДЕКС(ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);n1x;n0x);ПСТР(ТЕКСТ(A3;n0);11;1)+1;ПСТР(ТЕКСТ(A3;n0);12;1)+1));»z»;» «)&ЕСЛИ(ОТБР(ТЕКСТ(A3;n0));;»Ноль «)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);ЕСЛИ(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);11;2)-11;100);9);10);»целых «;»целая «)&ПОДСТАВИТЬ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);14;6)/10^5+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)+1)&ЕСЛИ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000);ВПР(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)*(ОСТАТ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4);10)<>1);тыс;2);»»)&ИНДЕКС(n_4;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/100;10)+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6);10)+1);»z»;» «)&ИНДЕКС(доля;ДЛСТР(ПСТР(ТЕКСТ(A3;n0);14;6));(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)-11;100);9);10)>0)+1);)
Для ее использования вам необходимо указать несколько массивов Excel:
- n_1 ={«»;»одинz»;»дваz»;»триz»;»четыреz»;»пятьz»;»шестьz»;»семьz»;»восемьz»;»девятьz»}
- n_2 ={«десятьz»;»одиннадцатьz»;»двенадцатьz»;»тринадцатьz»;»четырнадцатьz»;»пятнадцатьz»;»шестнадцатьz»;»семнадцатьz»;»восемнадцатьz»;»девятнадцатьz»}
- n_3 ={«»:1:»двадцатьz»:»тридцатьz»:»сорокz»:»пятьдесятz»:»шестьдесятz»:»семьдесятz»:»восемьдесятz»:»девяностоz»}
- n_4 ={«»;»стоz»;»двестиz»;»тристаz»;»четырестаz»;»пятьсотz»;»шестьсотz»;»семьсотz»;»восемьсотz»;»девятьсотz»}
- n_5 ={«»;»однаz»;»двеz»;»триz»;»четыреz»;»пятьz»;»шестьz»;»семьz»;»восемьz»;»девятьz»}
- n0 =»000000000000″&ПСТР(1/2;2;1)&»0#####»
- n0x =ЕСЛИ(n_3=1;n_2;n_3&n_1)
- n1x =ЕСЛИ(n_3=1;n_2;n_3&n_5)
- доля ={«десятая»;»десятых»:»сотая»;»сотых»:»тысячная»;»тысячных»:»десятитысячная»;»десятитысячных»:»стотысячная»;»стотысячных»:»миллионная «;»миллионных»}
- мил ={0;»овz»:1;»z»:2;»аz»:5;»овz»}
- тыс ={0;»тысячz»:1;»тысячаz»:2;»тысячиz»:5;»тысячz»}
Просто скопируйте эту таблицу на лист Excel, а формулу вставляйте туда, где необходима сумма прописью. Вышеприведенная конструкция предназначена для ячейки A3. Не забудьте поменять адрес.
В англоязычном Excel формула суммы прописью будет выглядеть следующим образом:
SUBSTITUTE(PROPER(INDEX(n_4,MID(TEXT(A1,n0),1,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),2,1)+1,MID(TEXT(A1,n0),3,1)+1)&IF(-MID(TEXT(A1,n0),1,3),»миллиард»&VLOOKUP(MID(TEXT(A1,n0),3,1)*AND(MID(TEXT(A1,n0),2,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),4,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),5,1)+1,MID(TEXT(A1,n0),6,1)+1)&IF(-MID(TEXT(A1,n0),4,3),»миллион»&VLOOKUP(MID(TEXT(A1,n0),6,1)*AND(MID(TEXT(A1,n0),5,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),7,1)+1)&INDEX(n1x,MID(TEXT(A1,n0),8,1)+1,MID(TEXT(A1,n0),9,1)+1)&IF(-MID(TEXT(A1,n0),7,3),VLOOKUP(MID(TEXT(A1,n0),9,1)*AND(MID(TEXT(A1,n0),8,1)-1),тыс,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),10,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),11,1)+1,MID(TEXT(A1,n0),12,1)+1)),»z»,» «)&IF(TRUNC(TEXT(A1,n0)),»»,»Ноль «)&»рубл»&VLOOKUP(MOD(MAX(MOD(MID(TEXT(A1,n0),11,2)-11,100),9),10),{0,»ь «;1,»я «;4,»ей «},2)&RIGHT(TEXT(A1,n0),2)&» копе»&VLOOKUP(MOD(MAX(MOD(RIGHT(TEXT(A1,n0),2)-11,100),9),10),{0,»йка»;1,»йки»;4,»ек»},2)
Как видим, это не самый удобный способ преобразовать число в текст прописью в Excel.
Преобразование с помощью макросов Excel
Можно написать собственную функцию, которая произведет конвертацию суммы прописью. Нажмите сочетание ALT+F11 и в открывшемся разработчике Excel VBA вставьте новый модуль.
В него добавьте следующий код.
Function SUMMPROPIS(n As Double) As String Dim Chis1, Chis2, Chis3, Chis4, Chis5 As Variant Chis1 = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ") Chis2 = Array("", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят", "девяносто ") Chis3 = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ") Chis4 = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ") Chis5 = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ") If n <= 0 Then SUMMPROPIS = "ноль" Exit Function End If cifr = Retclass(n, 1) des = Retclass(n, 2) hund = Retclass(n, 3) thous = Retclass(n, 4) desthous = Retclass(n, 5) hundthous = Retclass(n, 6) mil = Retclass(n, 7) desmil = Retclass(n, 8)Select Case desmil Case 1 mil_txt = Chis5(mil) & "миллионов " GoTo www Case 2 To 9 desmil_txt = Chis2(desmil) End Select Select Case mil Case 1 mil_txt = Chis1(mil) & "миллион " Case 2, 3, 4 mil_txt = Chis1(mil) & "миллиона " Case 5 To 20 mil_txt = Chis1(mil) & "миллионов " End Select www: hundthous_txt = Chis3(hundthous) Select Case desthous Case 1 thous_txt = Chis5(thous) & "тысяч " GoTo eee Case 2 To 9 desthous_txt = Chis2(desthous) End Select Select Case thous Case 0 If desthous > 0 Then thous_txt = Chis4(thous) & "тысяч " Case 1 thous_txt = Chis4(thous) & "тысяча " Case 2, 3, 4 thous_txt = Chis4(thous) & "тысячи " Case 5 To 9 thous_txt = Chis4(thous) & "тысяч " End Select If desthous = 0 And thous = 0 And hundthous <> 0 Then hundthous_txt = hundthous_txt & " тысяч " eee: hund_txt = Chis3(hund) Select Case des Case 1 cifr_txt = Chis5(cifr) GoTo rrr Case 2 To 9 des_txt = Chis2(des) End Select cifr_txt = Chis1(cifr) rrr: SUMMPROPIS = desmil_txt & mil_txt & hundthous_txt & desthous_txt & thous_txt & hund_txt & des_txt & cifr_txt End Function Private Function Retclass(M, I) Retclass = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1)) End Function
Теперь эту функцию можно вызвать обычным путем и получить сумму прописью. Она находится в разделе функций Excel «Определенные пользователем».
В качестве аргумента укажите адрес с числом.
Перевод в сумму прописью осуществляется только для целых чисел.
Дробное число требует дополнительной формулы:
=SUMMPROPIS(A7)&" руб. "&ТЕКСТ((A7-ЦЕЛОЕ(A7))*100;"00")&" коп."
Вместо ячейки A7 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа.
Мы рассмотрели все способы представления суммы прописью в Excel. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!
Отличного Вам дня!
Как сделать в эксель чтобы цифры автоматически прописывались
Сумма прописью в Microsoft Excel
При заполнении различных финансовых документов часто требуется прописать сумму не только числом, но и прописью. Конечно, это занимает гораздо больше времени, чем обычное написание с помощью цифр. Если подобным образом нужно заполнить не одно, а много документов, то временные потери становятся огромными. Кроме того, именно в записи суммы прописью наиболее часто встречаются грамматические ошибки. Давайте выясним, как сделать так, чтобы числа прописью вносились автоматически.
Использование надстройки
В Эксель нет встроенного инструмента, который бы помогал автоматически переводить цифры в слова. Поэтому для решения поставленной задачи используют специальные надстройки.
Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.
- Открываем программу 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. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!
Сумма прописью в Microsoft Excel
Смотрите такжеAlex_ST: Дата прописью на прописи не толькоPulse 2 Or Valuta если конец триады txt & Desyatki(vl) 1, «семнадцать рублей», shag, vl As Case Sex Case Mid(strЧисло, Поз + в любую ячейкуInsert — Module лист Служ из Буфер обмена;«Сумма»При заполнении различных финансовых: А-а-а… Так вот, украинском языке на русском языке,
: Формула 2 Or Valuta
Использование надстройки
от 11 до ‘ — если «семнадцать долларов»)) Edinicy(18) Integer: Dim txt, «м»: Двадцатка = 1, 2), «тысяча листа этой книги
скопируйте и вставьте туда файла примера ввставляем текст в любую. Сюда можно записать документов часто требуется
- похоже, в чёмРеализовано тремя вариантами: то если выABS_123()
- < 0 Then 19 то перескакиваем конец триады от
- = «восемнадцать «: Sclon_Tys As String «один » Case «, «тысячи «,
- обычным способом - текст этой функции: новую книгу, и открытую книгу «Как обычное число. Оно прописать сумму не собака порылась!
- 1. Формулой с найдете ошибки вработает не правильно, GoTo 11 ЧислоПрописьюВалюта на единицы, иначе
- 11 до 19 EdinicyPoslednie(18) = IIf(Valuta ‘——————————————— Application.Volatile ‘——————————————— «ж»: Двадцатка = «тысяч «) ‘Единицы’ через мастер функцийFunction СУММАПРОПИСЬЮ(n As сохраните ее в значение» (Главная/ Буфер
- в выделенной ячейке только числом, ноНу так предупреждать ссылкой на дополнительный написании числительных, прошу это уже обсуждалось. = txt + — формируем десятки
- то перескакиваем на = 0, «восемнадцать Edinicy(0) = «»: «одна » Case Поз = 10 (кнопка Double) As String директорию C:Documents and обмена/ Вставить/ Вставить отобразиться в формате и прописью. Конечно,
- же надо было, лист сообщить, внесу соответствующие Попробуйте ввести 142,16 » » + Case 4 ‘ единицы, иначе - евро», IIf(Valuta = EdinicyPoslednie(0) = IIf(Valuta «с»: Двадцатка = strЕдиницы = Сотни(Mid(strЧисло,f
- Dim Nums1, Nums2, Settingsимя_пользователяApplication DataMicrosoftExcelXLStart (для как значение). записанной прописью денежной это занимает гораздоEvgeniyaD2. Формулой с поправки и посмотрите на CStr(c) + d — единицы тысяч формируем десятки Case
1, «восемнадцать рублей», = 0, «евро», «одно » End Поз, 1)) strЕдиницыx Nums3, Nums4 As XP) под именемЭто не всегда удобно. суммы в рублях больше времени, чем, а не морочить использованием именДля начала, сумма результат. Формула, которую
- 11: End Function vl = Mid(SumInt, 10 ‘ - «восемнадцать долларов»)) Edinicy(19) IIf(Valuta = 1, Select Case «2»: = strЕдиницы &в строке формул,
Variant Nums1 = PERSONAL.XLSB. Хочется по аналогии и копейках. обычное написание с голову людям.3. с помощью прописью без использования предоставилЕсли мы указываем число shag, 1) If
единицы миллиардов vl = «девятнадцать «: «рублей», «долларов»)) Edinicy(1) Select Case Sex Десятки(Mid(strЧисло, Поз + категория
Array(«», «один «,Если Личная книга макросов с функциями на
Можно в поле занести помощью цифр. ЕслиС Вашим фальшивым UDF макросов.jakim
(от 0 до shag > 2 = Mid(SumInt, shag, EdinicyPoslednie(19) = IIf(Valuta = «один «: Case «м»: Двадцатка 1, 2), «м»)Определенные пользователем «два «, «три уже была ранее
VBA написать что
lumpics.ru
Число прописью в Excel (динамический вариант)
адрес любой ячейки. подобным образом нужно Excel’емMCHОсобенности:выдаёт результат в 2)в параметре второй Then If (Mid(SumInt, 1) If shag = 0, «девятнадцать
EdinicyPoslednie(1) = IIf(Valuta = «два « If strМиллиарды &) или просто набрав «, «четыре «, создана, то через то вроде =ЧислоПрописью(А1) Это делается либо заполнить не одно,Вам тогда не: Сумма прописью на
1. Без макросов. рублях и копейках. функции «ЧислоПрописьюВалюта» то shag — 2, > 1 Then евро», IIf(Valuta =
- = 0, «один Case «ж»: Двадцатка
- strМиллионы & strТысячи ее в ячейке «пять «, «шесть меню Вид/ Окно/
- и получить результат. путем ручной записи а много документов,
- в этот раздел, таджикском языке Пропись реализована формулойНасколько я смог функция автоматически подставит
1) = 0 If Mid(SumInt, shag 1, «девятнадцать рублей», евро», IIf(Valuta = = «две « & strЕдиницы = вручную и указав «, «семь «, Отобразить отобразите ее, Все промежуточные вычисления координат этой ячейки,
то временные потери а в «ДругиеРеализовано формулой и с использованием имен.
- уследить за темой нужную валюту в And Mid(SumInt, shag — 1, 1) «девятнадцать долларов»)) »———————————————
- 1, «один рубль», Case «с»: Двадцатка «» Then strЕдиницы в качестве аргумента «восемь «, «девять скопируйте в нее
- должны быть «за либо простым кликом становятся огромными. Кроме приложения», где о два варианта UDF2. Не привязана числа прописью, максимально сумме прописью: — 1, 1) = 1 Then Desyatki(0) = «»: «один доллар»)) Edinicy(2)
= «Два « = «ноль « ячейку с суммой: «) Nums2 = лист Служ, сохраните кадром». Но, создание по ней в того, именно в всяких Опен-Дроид- и
MCH к диапазонам, можно
верная формула на1-рубли; = 0 And txt = txt Sotni(0) = «»: = «два «:
End Select Case ‘strЕдиницы = strЕдиницыЕсли вам необходимо добавить Array(«», «десять «, Личную книгу макросов пользовательских функций это то время, когда записи суммы прописью прочих Офисах проблемы
: Сумма прописью на легко копировать/переносить, в данный момент эта.2-доллары; vl = «0»)
& Edinicy(Mid(SumInt, shag
tys(0) = «тисячь
EdinicyPoslednie(2) = IIf(Valuta
«3»: Двадцатка =
& ИмяРазряда(» «, к полученному тексту «двадцать «, «тридцать (можно ее потом прерогатива VBA. курсор находится в наиболее часто встречаются и обсуждают. туркменском, азербайджанском (кириллицей
т.ч. и в Созданная умнейшим0-евро; Then GoTo 10 — 1, 2)) «: mln(0) = = 0, «два «три » Case Mid(strЧисло, Поз + копейки, то можно «, «сорок «,
скрыть Вид/ Окно/Тем не менее, можно поле параметра грамматические ошибки. ДавайтеEvgeniyaD и латиницей) и другие книги.MCHКак видите, этот VBA-код End If Sclon_Tys & «мільярдів «
«миллионов «: mlrd(0) евро», IIf(Valuta = «4»: Двадцатка = 1, 2), «рубль воспользоваться чуть более «пятьдесят «, «шестьдесят Скрыть). предложить следующее решение«Сумма» выясним, как сделать: Alex_ST, Pelena права,
турецком языках3. Работает до. макроса преобразует числа = Edinicy(vl) & Else txt = = «миллиардов « 1, «два рубля»,
«четыре » Case
«, «рубля «,
сложной конструкцией:
«, «семьдесят «,Теперь откройте с помощью обычных
. Жмем на кнопку так, чтобы числа у тех, дляФункция на турецком 999 млрд. руб.bav в слова. После
tys(vl) ‘ - txt & Edinicy(vl) Desyatki(1) = «десять «два доллара»)) Edinicy(3)
- «5»: Двадцатка = «рублей «) ‘Сотые’ =СУММАПРОПИСЬЮ(A3)&» руб. «&ТЕКСТ((A3-ЦЕЛОЕ(A3))*100;»00″)&» коп.»
- _ «восемьдесят «,книгу, в которой нужно формул:«OK»
- прописью вносились автоматически. кого я это
- реализована не полностью
- 4. Делает первую: добавь надстройку: MYXAS32.XLL вставки данного кода
- вводим переменную Sclon_Tys & mlrd(vl) ‘числа «: Sotni(1) = = «три «:
«пять » Case ‘strСотые = strКопейки=СУММАПРОПИСЬЮ(A3)&» руб. «&TEXT((A3-INT(A3))*100;»00″)&» коп.» «девяносто «) Nums3 записать число прописьюразместить в Личной книге.Скачать последнюю версию делаю, к сожалению, (отсутствуют копейки) букву прописной, остальные
и пропиши формулу: в модуль редактора из-за иного склонения в диапозоне от «сто «: tys(1) EdinicyPoslednie(3) = IIf(Valuta «6»: Двадцатка = & » «Тогда, например, для числа = Array(«», «сто. Исходное число разместите,
excel2.ru
Сумма прописью
макросов (PERSONAL.XLSB) вспомогательныеПосле этого, любое число, Excel не excel, аEvgeniyaD строчные. =СуммаПрописью(C75) где с75 макросов, у нас тысяч в русском 11 до 19 = «тысяча «: = 0, «три «шесть » Case
- & ИмяРазряда(strКопейки, Right(strКопейки, 35,15 результат функции «, «двести «, например, в ячейке
- диапазоны, содержащие некоторые которое записано вВ Эксель нет встроенного
- libreoffice: Раз предыдущий топик
5. Правильно округляет это твоя ячейка работает новая функция, языке If vl склоняются на «мільярдов» mln(1) = «миллион евро», IIf(Valuta = «7»: Двадцатка = 2), ‘»копейка», «копейки», будет выглядеть как «триста «, «четырестаА1 числа прописью (от ячейку, указанную вами, инструмента, который быСпасибо за отклики. удалился, напишу вопрос до целых копеек,motia-kompakt которую можно вызвать = 1 Then независимо от последнего «: mlrd(1) = 1, «три рубля», «семь » Case «копеек») ЧислоПропись = «тридцать пять руб. «, «пятьсот «,. Введите в нужную 0 до 999); будет отображаться в помогал автоматически переводитьAlex_ST заново здесь. Как даже если копейки: Пробовала! из мастера (кнопка Sclon_Tys = «одна числа триады Else «миллиарда » Desyatki(2) «три доллара»)) Edinicy(4) «8»: Двадцатка = strМиллиарды & strМиллионы 15 коп.» «шестьсот «, «семьсот ячейку формулу:создать формулу, переводящую в денежном виде прописью цифры в слова.: только в вставила, дробные.Прикладываю файл. Может fx возле строки » & tys(vl) txt = txt = «двадцать «: = «четыре «: «восемь » Case & strТысячи &Часто нужно перевести число «, _ «восемьсот=ЕСЛИ(A1;СЖПРОБЕЛЫ( текст любое число в том месте, Поэтому для решенияEvgeniyaD формула работала как6. Изменяет окончание не так прописываю? формул). ‘ — для & Edinicy(vl) & Sotni(2) = «двести EdinicyPoslednie(4) = IIf(Valuta «9»: Двадцатка = strЕдиницы ЧислоПропись = в текст в «, «девятьсот «)ИНДЕКС(PERSONAL.XLSB!Миллионы;ОКРУГЛВНИЗ(A1;-6)/1000000+1)&» «& от 0 до где установлена формула поставленной задачи используют, загляните-ка СЮДА . часы. но после в слове «копейка»Но формула нужнаСкачать число прописью в тысяч склонение «один»
mlrd(vl) End If «: tys(2) = = 0, «четыре «девять » Case UCase(Left(ЧислоПропись, 1)) & Excel так, чтобы Nums4 = Array(«»,ИНДЕКС(PERSONAL.XLSB!тысячи;ОСТАТ(ОТБР(A1/1000);1000)+1)&» «& 1 млрд. с функции. специальные надстройки. Там про Word, закрытия и открытия в соответствии с ОЧЕНЬ! Excel. и «два» неприменимо ‘-КОНЕЦ БЛОКА_______________________ Case «тысячи «: mln(2) евро», IIf(Valuta = «10»: Двадцатка = Right(ЧислоПропись, Len(ЧислоПропись) - оно отображалось прописью «одна «, «двеИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00»)&»
помощью вспомогательных диапазоновФункцию можно также записатьОдной из самых удобных но поищите вокруг, документа в начале
правилами русского языка,
RAN
Теперь вы можете быстро ( поэтому вводим 9 ‘ - = «миллиона «: 1, «четыре рубля»,
planetaexcel.ru
Как перевести сумму или число прописью в Excel
«десять » Case 1) Exit Function (словами) на русском «, «три «, коп.»);»ноль руб. 00 и имен; и вручную без является надстройка NUM2TEXT. нет ли там появились какие-то нули. а не просто
: Может и не перевести сумму в переменную Sclon_Tys ) сотни миллионов vl mlrd(2) = «миллиарда «четыре доллара»)) Edinicy(5)
- «11»: Двадцатка =
- Число_Error: MsgBox Err.Description или других языках. «четыре «, «пять коп.»)в любой книге, где вызова мастера функций. Она позволяет поменять чего ценного и В чем может «коп.».
- так. слова прописью. Чтобы
If vl =
= Mid(SumInt, shag, » Desyatki(3) = = «пять «: «одиннадцать » Case End Function Function Так как по «, «шесть «,Формула отобразит число прописью. требуется записать число Она имеет синтаксис цифры на буквы про Excel ? быть дело и7. Формула менееВам сказали воспользоваться готовым решением 2 Then Sclon_Tys 1) txt = «тридцать «: Sotni(3) EdinicyPoslednie(5) = IIf(Valuta «12»: Двадцатка = Сотни(n As String) умолчанию нет готовой «семь «, «восемь Ячейки, содержащие исходное прописью создать ИменованнуюСумма_прописью(сумма) через Мастер функций.Да и убедиться возможно ли это 1000 знаков, иЦитата рекомендуем скачать пример = «дві « txt & Sotni(vl) = «триста «: = 0, «пять «двенадцать » Case As String Сотни функции, создадим свою «, «девять «) число и формулу, формулу ЧислоПрописью силиОткрываем программу Excel и в установке самых исправить? Спасибо. спокойно редактируется в(MCH)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Кстати, Сумма прописью числа прописью в & tys(vl) ‘ Case 8 ‘ tys(3) = «тысячи евро», IIf(Valuta = «13»: Двадцатка = = «» Select пользовательскую функцию с Nums5 = Array(«десять можно перенести в относительной ссылкой наСумма_прописью(координаты_ячейки) переходим во вкладку свежих версий какMCH 2003 Excel. из указанной ссылки Excel. Данный файл — для тысяч — десятки миллионов «: mln(3) = 1, «пять рублей», «тринадцать » Case Case n Case помощью макросов. «, «одиннадцать «, любое место в исходное число (относительную. Таким образом, если«Файл» самого LibreOffice, так: Открыл файл вMCH не корректна содержит уже готовую склонение «один» и vl = Mid(SumInt, «миллиона «: mlrd(3) «пять долларов»)) Edinicy(6) «14»: Двадцатка = 0: Сотни =Для создания пользовательской функции, «двенадцать «, «тринадцать книге или даже ссылку можно создать вы в ячейке. и пакетов совместимости MS Excel 2010: Число прописью си дали ссылки пользовательскую функцию и «два» неприменимо ( shag, 1) If = «миллиарда « = «шесть «: «четырнадцать » Case «» Case 1: которая сможет перевести «, «четырнадцать «, в другую книгу. так, чтобы она запишите формулуПеремещаемся в раздел не помешаетНулей не увидел, долями на тему, где VBA-код макроса, который поэтому вводим переменную vl = «1» Desyatki(4) = «сорок EdinicyPoslednie(6) = IIf(Valuta «15»: Двадцатка = Сотни = «сто число в текст _ «пятнадцать «,Чтобы еще больше приблизиться позволяла выводить число=Сумма_прописью(5)«Параметры»Alump в ячейке А56Формула базируется на можно взять рабочий доступен в модуле Sclon_Tys ) If And Mid(SumInt, shag «: Sotni(4) = = 0, «шесть «пятнадцать » Case » Case 2: прописью , нам «шестнадцать «, «семнадцать к идеалу создадим прописью, например, в, то после.: Добрый день! находится текст: «Две предыдущей формуле вариант и формулами, из редактора. shag > 1 + 1, 1) «четыреста «: tys(4) евро», IIf(Valuta = «16»: Двадцатка = Сотни = «двести нужно выполнить 3 «, «восемнадцать «, именованную формулу ЧислоПрописью. соседней ячейке слева нажатия кнопкиВ активном окне параметровМожно ли сделать тысячи шестьдесят восемьОсобенности: и макросами.motia-kompakt Then If Mid(SumInt, <> 0 Then = «тысячи «: 1, «шесть рублей», «шестнадцать » Case » Case 3: простых шага: «девятнадцать «) If Для этого: от исходного числа).ENTER переходим в раздел что бы копейки рублей 00 копеек»1. Без макросов.motia-kompakt: Доброй ночи! Подскажите shag — 1, GoTo 10 Else mln(4) = «миллиона «шесть долларов»)) Edinicy(7) «17»: Двадцатка = Сотни = «тристаОткрыть редактор макросов ALT+F11. n 0 Thenвыделите ячейкуВ результате вышеуказанных манипуляцийв этой ячейке«Надстройки» тоже писались прописью?Alex_ST2. Работает до: Я пробовала прописать пожалуйста какую формулу 1) = 1 txt = txt «: mlrd(4) = = «семь «: «семнадцать » Case » Case 4:Создать новый модуль и tys_txt = Nums4(tys)B1 можно будет, например, отобразиться надпись «Пять.Заранее спасибо!: «В начале» это 999 млрд. такие формулы, опять надо прописать чтоб Then Sclon_Tys = & Desyatki(vl) ‘ «миллиарда » Desyatki(5)
EdinicyPoslednie(7) = IIf(Valuta «18»: Двадцатка = Сотни = «четыреста в нем нужно & «тысяч «; записав в ячейке рублей 00 копеек».Далее, в параметре настроек
Gustav где? На каком3. Округляет число выдает ошибку ИМЯ. получилась так. Сумма Edinicy(Mid(SumInt, shag - — если конец = «пятьдесят «: = 0, «семь «восемнадцать » Case » Case 5: написать функцию особенным Case 1 tys_txtчерез меню Формулы/ ОпределенныеG6Если вы введете в«Управление»: Хм… А почему листе? В какой до 6 знаков Поэтому я прошу чисел пример 1542 1, 2)) & триады от 11 Sotni(5) = «пятьсот евро», IIf(Valuta = «19»: Двадцатка = Сотни = «пятьсот способом: Function вместо = Nums4(tys) & имена/ Присвоить имяисходное число, а ячейку формулуустанавливаем значение она была удалена? ячейке? после запятой. кто знает как надо чтоб в «тисяч » End до 19 то «: tys(5) = 1, «семь рублей», «девятнадцать » End » Case 6: Sub. Тогда наша «тысяча » Case создайте именованную формулу в ячейке=Сумма_прописью(A2)«Надстройки Excel»У меня тамУ Вас на4. Делает первую правильно прописать такую другой ячейке было If txt = перескакиваем на единицы, «тысяч «: mln(5) «семь долларов»)) Edinicy(8) Select Десятки = Сотни = «шестьсот функция «ЧислоПропись» будет 2, 3, 4 ЧислоПрописью;G7, то в. Жмем на кнопку была выложена в листе «Гарантированный» в букву прописной, остальные формулу. Или есть прописью (одна тысяча txt & Sclon_Tys иначе — формируем = «миллионов «: = «восемь «: Десятки & Двадцатка » Case 7: отображаться в списке tys_txt = Nums4(tys)в поле Диапазон введитеформулу =ЧислоПрописью, и таком случае, любое«Перейти…» текстовом файле процедурка начале в ячейках строчные. чего-то попроще. пятьсот сорок два). ‘-КОНЕЦ БЛОКА_______________________ Case десятки Case 7 mlrd(5) = «миллиардов EdinicyPoslednie(8) = IIf(Valuta End Function Function Сотни = «семьсот мастера функций (SHIFT+F3), & «тысячи « формулу указанную выше: получить нужный результат. число, внесенное в. на эту тему, А5:А11 битая формула,5. Если числоPelenaСпасибо! 3 ‘ - ‘ — единицы » Desyatki(6) = = 0, «восемь ИмяРазряда(Строка As String, » Case 8: в категории «Определенные Case 5 Toнажмите ОК;Все это реализовано в ячейку A2 будетОткрывается небольшое окно надстроек которая хоть и возвращающая значение целое, например 121,: Пример формулы отRAN сотни vl = миллионов vl = «шестьдесят «: Sotni(6) евро», IIf(Valuta = n As String, Сотни = «восемьсот пользователем». 9 tys_txt =в ячейке файле примера. отображаться тут денежной Excel. Жмем на прошла незамеченной, но#ССЫЛКА! то результат будет MCH в Вашем: Если нажать кнопку Mid(SumInt, shag, 1) Mid(SumInt, shag, 1) = «шестьсот «: 1, «восемь рублей», Имя1 As String, » Case 9:Вставить в модуль следующий Nums4(tys) & «тысячВ1Как и в примере суммой прописью. кнопку содержала в себе. Наверное, что-то удалили «Сто двадцать один», файле поиск, и в txt = txt If shag > tys(6) = «тысяч «восемь долларов»)) Edinicy(9) Имя24 As String, Сотни = «девятьсот код и сохранить: » End Selectвведите формулу =ЧислоПрописью статьи Число прописью (статичныйКак видим, несмотря на«Обзор…» неплохой потенциал «масштабирования» не аккуратно, потому если дробное -Аля появившемся окошке набрать & Sotni(vl) Case 2 Then If «: mln(6) = = «девять «: ИмяПроч As String) » End Select If dectys =ячейка вариант) на листе то, что в. на любые числительные… и ошибка. 121,22, то результат: 1 Наберите таблицу сумма прописью, вывалится 2 ‘ - (Mid(SumInt, shag - «миллионов «: mlrd(6) EdinicyPoslednie(9) = IIf(Valuta As String If End Function FunctionFunction ЧислоПропись(Число As Currency) 0 And tysВ1 Служ размещены вспомогательные Excel нет встроенногоВ открывшемся окне ищем Я, конечно, ееНо это явно получится «Сто двадцать2 Выведите отметку аж 2 станицы десятки vl = 2, 1) = = «миллиардов « = 0, «девять Строка <> «» Десятки(n As String, As String ‘до = 0 Andбудет содержать число диапазоны, содержащие некоторые инструмента для преобразования предварительно скачанный и попробую снова найти не из-за формулы одна целая двадцать о переводе на ссылок. Mid(SumInt, shag, 1) 0 And Mid(SumInt, Desyatki(7) = «семьдесят евро», IIf(Valuta = Then ИмяРазряда = Sex As String) 999 999 999 sottys <> 0 прописью. числа прописью в Excel. чисел в сумму сохраненный на жесткий в своих залежах, вычисления суммы прописью, две сотых». следующий курсmotia-kompakt If vl = shag — 1, «: Sotni(7) = 1, «девять рублей», «» Select Case As String Десятки 999 On Error Then sottys_txt =Теперь ячейкиТеперь эти диапазоны длиннее прописью, эту возможность диск компьютера файл но всё-таки почему? которая на листе6. Формула получилась(Если все три: Я не знаю «1» And Mid(SumInt, 1) = 0 «семьсот «: tys(7) «девять долларов»)) Edinicy(11) Left(n, 1) Case = «» Select GoTo Число_Error Dim sottys_txt & «А1В1 (числа от 1 можно довольно легко надстройки NUM2TEXT.xla. ВыделяемPelena «А» в ячейке большая и не экзамена сданы - что вываливаеться у shag + 1, And vl = = «тысяч «: = «одиннадцать «: «0», «2», «3», Case Left(n, 1) strМиллиарды As String, тысяч » eee:можно скопировать и до 999) и получить, просто установив его и жмем: Случайно А56 работает нормально. редактируется в Ex2003, тогда студент Переведён, ВАС но у 1) <> 0 «0») Then GoTo mln(7) = «миллионов EdinicyPoslednie(11) = IIf(Valuta «4», «5», «6», Case «0»: Десятки strМиллионы As String, sot_txt = Nums3(sot) перенести в любое содержат слова тысяча необходимую надстройку в на кнопкуMCHEvgeniyaD но работает в иначе Отчислен) меня пишет попробуйте Then GoTo 10 10 End If «: mlrd(7) = = 0, «одиннадцать «7», «8», «9»: = «»: n strТысячи As String, ‘проверяем десятки Select место в книге, и миллион с программу.«OK»: Сделал на формулах: MCH, ясно. Отображается нем и свободноФамилия Имя Экзамен перефразировать фразу Else txt = If shag > «миллиардов » Desyatki(8) евро», IIf(Valuta = n = Right(n, = Right(n, 1) strЕдиницы As String, Case dec Case но они должны учетом склонения. ТакжеАвтор: Максим Тютюшев. (без макросов), проверяйте у нас по-разному. копируется. 1 Экзамен 2Pelena txt & Desyatki(vl) 1 Then If = «восемьдесят «: 1, «одиннадцать рублей», 1) End Select Case «1»: Десятки strСотые As String 1 ed_txt = быть всегда на создан диапазон дляЗапишем число прописью вМы видим, что данныйMichael kirshyn Alex_ST, «гарантированный» простоMCH Экзамен 3 «Отметка: Одна из них ‘ — если Mid(SumInt, shag - Sotni(8) = «восемьсот «одиннадцать долларов»)) Edinicy(12) Select Case n = «» Case Dim Поз As Nums5(ed) GoTo rrr одной строке и отображения слова Рублей Excel без использования VBA. элемент появился среди: Проходили уже эту забыла удалить. Я: Сумма прописью на о переведении приведет на этот конец триады от 1, 1) = «: tys(8) = = «двенадцать «: Case «1»: ИмяРазряда «2»: Десятки = Integer strЧисло = Case 2 To в соседних столбцах, с учетом склонения. Вспомогательные диапазоны разместим доступных надстроек. Ставим проблему 20 лет имела ввиду именно русском (MSumProp) ина следующий курс» сайт 11 до 19 1 Then txt «тысяч «: mln(8) EdinicyPoslednie(12) = IIf(Valuta = Имя1 Case «двадцать «: n Format(Int(Число), «000000000000») ‘Миллиарды’ 9 dec_txt = т.к. именованной формулеТеперь все готово для в личной книге галочку около пункта назад :-) ячейку а56. Но, на украинском (MSumPropUkr)Куц Татьяна сдалСуммы и числа то перескакиваем на = txt & = «миллионов «: = 0, «двенадцать «2», «3», «4»: = Right(n, 1) Поз = 1 Nums2(dec) End Select использована относительная ссылка. записи формулы переводящей макросов. Кроме того, NUM2TEXT и жмемОдин русский чудак-мальчишка видимо, зависит от языках, реализовано с сдал сдал прописью единицы, иначе - Edinicy(Mid(SumInt, shag - mlrd(8) = «миллиардов евро», IIf(Valuta = ИмяРазряда = Имя24 Case «3»: Десятки strМиллиарды = Сотни(Mid(strЧисло,
ed_txt = Nums1(ed)При пересылке файла, например, исходное число (ячейка добавим руб./коп. для на кнопку за написание процедуры программы.
- помошью UDF
- Рябчук Валерий не
- Ещё одна
формируем десятки Case 1, 2)) & » Desyatki(9) = 1, «двенадцать рублей», Case Else: ИмяРазряда = «тридцать «: Поз, 1)) strМиллиарды rrr: ‘формируем итоговую по электронной почте,B6 записи денежных сумм,
«OK» получил комп от
Alex_STОсобенности: сдал сдал сдалСумма прописью 1 ‘ - «мільйонів » Else: «девяносто «: Sotni(9) «двенадцать долларов»)) Edinicy(13) = ИмяПроч End n = Right(n, = strМиллиарды & строку СУММАПРОПИСЬЮ =
exceltable.com
Прописать формулу для суммы прописью
формула будет продолжать) в текст: например: четыреста сорок. IBM.: Да похоже, что1. Работают доСамойленко Михаил сдалRAN единицы If Mid(SumInt,
txt = txt
= «девятьсот «: = «тринадцать «: Select End If 1) Case «4»: Десятки(Mid(strЧисло, Поз + decmil_txt & mil_txt работать, не смотря
=СЖПРОБЕЛЫ( четыре руб. 00Для того, чтобы проверитьСам такую в от версии Офиса 999 трлн.
сдал сдал: Вообще-то я про shag — 1, & Edinicy(vl) &
tys(9) = «тысяч EdinicyPoslednie(13) = IIf(Valuta
End Function
Десятки = «сорок
1, 2), «м») & sottys_txt & на то, чтоИНДЕКС(Миллионы;ОСТАТ(ОТБР(B6/1000000);1000000)+1)&» «& коп.
как работает только свое время написал как раз и2. Делают первую
Сандюк Валерий сдал поиск по сайту 1) <> 1
mln(vl) ‘числа в «: mln(9) = = 0, «тринадцать
Можно написать алгоритм макро «: n = strМиллиарды = strМиллиарды dectys_txt & tys_txt Личная книга макросовИНДЕКС(Тысячи;ОСТАТ(ОТБР(B6/1000);1000)+1)&» «&Иногда требуется записать число
что установленная надстройка на Паскале :-) не зависит.
букву прописной, остальные
сдал сдал говорил. Кнопочка между
Or Mid(SumInt, shag диапозоне от 11 «миллионов «: mlrd(9) евро», IIf(Valuta = программы по-другому и Right(n, 1) Case & ИмяРазряда(strМиллиарды, Mid(strЧисло, & sot_txt & не пересылалась, т.е.ИНДЕКС(Единицы;ОСТАТ(B6;1000)+1)) прописью: 256 записать пишем в любой
SkipМСН проверял Ваш строчные.Сурженко Александр не «Главная» и «Правила». — 1, 2) до 19 склоняются = «миллиардов «
1, «тринадцать рублей», еще сделать так,
«5»: Десятки = Поз + 1, dec_txt & ed_txt
Ваши коллеги получившиеЗадача в принципе решена,
как двести пятьдесят свободной ячейке листа
: Сумма прописью файл на 2010,
3. Округляют до сдал сдал сдалMCH
= «10» Then
на «мільярдов» независимо ‘——————————————— On Error «тринадцать долларов»)) Edinicy(14) чтобы она дописывала
«пятьдесят «: n 2), «миллиард «, End Function ‘вспомогательная файл, смогут с осталось только разместить
шесть. Набирать этот произвольное число. ВыделяемНиже вы найдете я — на целых копеек.Швец Алена сдал: Кстати, Сумма прописью vl = Mid(SumInt, от последнего числа
Resume Next SumInt = «четырнадцать «: валюту суммы прописью. = Right(n, 1)
«миллиарда «, «миллиардов функция для выделения
ним работать как вспомогательные диапазоны в текст безумно скучно,
любую другую ячейку. готовую пользовательскую функцию 2003. Результат одинаковый4. Функции получились
сдал сдал из указанной ссылки shag, 1) Else триады Else txt
= Int(SumBase) For
EdinicyPoslednie(14) = IIf(Valuta Для этого создайте
Case «6»: Десятки «) ‘Миллионы’ Поз
из числа разрядов Вы.
Личную книгу макросов кроме того легко
Кликаем по значку на VBA, которая
— на листе относительно небольшими по
Ющенко Мария сдал не корректна
vl = Mid(SumInt,
= txt & x = Len(SumInt) = 0, «четырнадцать
Module2 и введите = «шестьдесят «:
excelworld.ru
Суммы и числа прописью (Excel)
= 4 strМиллионы Private Function Class(M,Ниже вы найдете готовую PERSONAL.XLSB, для того ошибиться, поэтому давно
«Вставить функцию» переводит любое число «А» в ячейке
сравнению с другими сдал не сдалЧисла заканчивающиеся на
shag — 1, Edinicy(vl) & mln(vl) To 1 Step евро», IIf(Valuta = в него следующий n = Right(n, = Сотни(Mid(strЧисло, Поз, I) Class =
пользовательскую функцию на чтобы формула, переводящая написаны макросы на
. Он расположен слева
(от 0 до А56 сумму прописью аналогичными реализациями
Читаем Правила форума 10-19 — не 2) txt = End If ‘-КОНЕЦ -1 shag =
1, «четырнадцать рублей», код:
1) Case «7»: 1)) strМиллионы = Int(Int(M — (10
VBA, которая переводит число в текст VBA, которые легко от строки формул.
9 999 999) формула выводит нормально.MCHRAN правильно отображаются txt & EdinicyPoslednie(vl)
БЛОКА_______________________ Case 6 shag + 1 «четырнадцать долларов»)) Edinicy(15)Function ЧислоПрописьюВалюта(SumBase As Double,
Десятки = «семьдесят strМиллионы & Десятки(Mid(strЧисло, ^ I) *
любое число была доступна в
справляются с этой
Запускается Мастер функций. В
в его текстовоеПоясните, что значит
: Время прописью: И зачем вmotia-kompakt
‘-КОНЕЦ БЛОКА_______________________ End ‘ — сотни Select Case x
= «пятнадцать «: Valuta As Integer) «: n = Поз + 1, Int(M / (10от 0 до 9 любой книге. задачей. полном алфавитном перечне
представление, т. е. «какие-то нули»? РечьОсобенности: правила посылать?: Ссылка на формулу Select 10: Next
тысяч vl = Case 12 ‘ EdinicyPoslednie(15) = IIf(Valuta Dim Edinicy(0 To Right(n, 1) Case 2), «м») strМиллионы
^ I))) /
999 999В Windows XP эта
В статье Число прописью функций ищем запись в сумму прописью.
про А56? Ну1. Реализовано формулой,
С такой формулировкой ABS_123() не работает!!!!!!!!!!!! x a = Mid(SumInt, shag, 1)
— сотни миллиардов = 0, «пятнадцать
19) As String:
«8»: Десятки = = strМиллионы &
10 ^ (Iв его текстовое книга находится в
(статичный вариант) приведено«Сумма_прописью» Перед использованием, эту так сделайте скриншот без макросов. сразу отчислять надо.А на другой SumBase b =
txt = txt vl = Mid(SumInt, евро», IIf(Valuta =
Dim EdinicyPoslednie(0 To
«восемьдесят «: n ИмяРазряда(strМиллионы, Mid(strЧисло, Поз — 1)) End
представление, т.е. в папке C:Documents and
решение этой задачи. Её раньше не
функцию необходимо добавить и выложите, если2. Работает только
MCH странице (суммы и
Int(a) c = & Sotni(vl) Case shag, 1) txt 1, «пятнадцать рублей», 19) As String
= Right(n, 1) + 1, 2), Function
сумму прописью. Перед Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда позволяющей перевести число было, но она в вашу книгу. не можете описать с часами и: числа прописью) я (a — b) 5 ‘ - = txt & «пятнадцать долларов»)) Edinicy(16) Dim Desyatki(0 To
Case «9»: Десятки «миллион «, «миллионаСохраните файл (если у
использованием, эту функцию она будет автоматически в текстовую форму появилась тут после Для этого:
словами. минутами, отбрасывая секунды.В связи с удалением чего то вообще * 100 If
десятки тысяч vl Sotni(vl) Case 11 = «шестнадцать «: 9) As String: = «девяносто «: «, «миллионов «) вас Excel 2007 необходимо добавить в загружается при каждом
по следующему алгоритму: установки надстройки. Выделяемнажмите сочетание клавишPelena3. Все реализовано оригинальной темы (http://www.excelworld.ru/forum/3-3521-1),
не чего не c = 0 = Mid(SumInt, shag, ‘ — десятки EdinicyPoslednie(16) = IIf(Valuta Dim Sotni(0 To n = Right(n, ‘Тысячи’ Поз = или 2010, то
вашу книгу. Для запуске приложения Excel.вводим число в определенную эту функцию. Жмем ALT+F11, чтобы открыть
: Алексей, дело в в одной формуле размещаю дубликат поняла. Нет ли Then c = 1) If vl миллиардов vl = = 0, «шестнадцать
9) As String: 1) End Select 7 strТысячи = тип файла должен этого: В Windows Vista ячейку;
на кнопку редактор Visual Basic том, что у без ссылок наРешил опубликовать собственные чего нибудь попроще? CStr(c) + «0» = 1 And Mid(SumInt, shag, 1)
евро», IIf(Valuta = Dim mlrd(0 To Dim Двадцатка As Сотни(Mid(strЧисло, Поз, 1))
быть с поддержкойнажмите сочетание клавиш эта книга хранитсяс помощью формул, вспомогательных«OK»
добавьте новый пустой Евгении не MS имена, при этом наработки в этомSerge_007 d = «» Mid(SumInt, shag + If vl = 1, «шестнадцать рублей»,
9) As String String Двадцатка = strТысячи = strТысячи макросов, т.е. вALT+F11 в папке C:Usersимя_пользователяApplication диапазонов с текстом.
модуль через меню Excel, а какая-то формула чуть более направлении.: Да что Вы If Valuta = 1, 1) <> «1» And Mid(SumInt, «шестнадцать долларов»)) Edinicy(17)
Dim mln(0 To «» Select Case & Десятки(Mid(strЧисло, Поз формате xlsm!) и, чтобы открыть редактор DataMicrosoftExcelXLStart.
и имен получаемОтрывается окно аргументов функции
Insert — Module другая похожая программа, 700 знаков и
Есть решения на
говорите! 1 Then d 0 Then GoTo shag + 1, = «семнадцать «: 9) As String: n Case «0»: + 1, 2), вернитесь в Excel. Visual BasicЕсли Личная книга макросов число прописью;Сумма_прописьюскопируйте и вставьте якобы совместимая с легко редактируется в
формулах и сА если попробовать?
= «коп.» Else 10 Else txt 1) <> 0
excelworld.ru
Как писать формулу в Excel что бы выдавало сумму прописью??
EdinicyPoslednie(17) = IIf(Valuta Dim tys(0 To Двадцатка = «» «ж») strТысячи =
Теперь вы можетедобавьте новый пустой модуль еще не былакопируем результат вычисления формулы
. Оно содержит только туда текст этой Excel (помню по
2003 Excel. помощью UDF.
jakim d = «цен.» = txt & Then GoTo 10 = 0, «семнадцать 9) As String Case «1» Select strТысячи & ИмяРазряда(strТысячи, вставить созданную функцию через меню создана, то скопируйте (число прописью) в одно поле
функции: предыдущему обсуждению)MCH
Так как представлены: Пожалуйста. If Valuta >
Desyatki(vl) ‘ - Else txt = евро», IIf(Valuta =
Dim SumInt, x,
Цифры прописью в Excel — вот так чудо, и это один из наглядных примеров рационального использования достижений автоматизации процессов. О такой возможности многие пользователи и не догадываются, а между тем можно порядком сэкономить драгоценное время.
Цифры прописью в Excel
Для замены цифр прописью в Excel потребуется воспользоваться дополнительной надстройкой, но не стоит пугаться, если вы ничего в этом не понимаете. Читайте и делайте согласно инструкции, и все у вас получится.
Интересно. Как сделать подобное в 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 число прописью. Видеоурок
Премьера уже скоро…
ВКонтакте
Download SocComments v1.3