Как в excel 2010 макрос пропись

Содержание

  1. Сумма прописью. Используем возможности VBA.
  2. Постановка задачи.
  3. Найденное решение.
  4. Добавим код в Excel.
  5. Применение функции
  6. Как в Excel сделать сумму прописью из числа
  7. Зачем это нужно
  8. Использование надстройки
  9. Использование формулы
  10. Скрипт VBA
  11. Как преобразовать число в текст прописью и наоборот? Сумма прописью в Excel 2007/2010/2013/2016
  12. Как преобразовать число в текст прописью?
  13. Как преобразовать текст, написанный прописью в число цифрами?

Сумма прописью. Используем возможности VBA.

Постановка задачи.

В работе часто встречается ситуация, когда необходимо вывести числовые значения в виде текста. Например, написать не «150», а «сто пятьдесят». В основном с такой задачей сталкиваются те, кто имеет дело с различными платежными бланками и банковскими ведомостями. Сумма прописью в таких документах должна быть обязательно указана.

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

В результате поисков решение все-таки было найдено. Честно скажу, не запомнил сайт-источник. В этом я искренне каюсь и прошу прощения у автора. Также прошу прощения, что внес небольшие исправления. Итак, используем возможности VBA.

Найденное решение.

Итак, смотрим код:

Public Function СуммаПрописью(x As Double) As String

If x > 999999999999.99 Then
СуммаПрописью = “Аргумент больше 999 999 999 999.99!”
ElseIf x
СуммаПрописью = “Аргумент отрицательный!”
Else
x = FormatNumber(x, 2)
Dim b As Byte, b1 As Byte, b2 As Byte, kop As String
b = (x – Fix(x)) * 100
b2 = b 10
b1 = b Mod 10
If b2 <> 1 And b1 = 1 Then
kop = ” тиын”
ElseIf b2 <> 1 And b1 > 1 And b1
kop = ” тиын”
Else
kop = ” тиын”
End If
kop = b2 & b1 & kop
Dim y(1 To 4) As Integer, i1 As Byte
For i1 = 1 To 4
x = Fix(x) / 1000
y(i1) = (x – Fix(x)) * 1000
Next

Dim Text(1 To 4) As String, i2 As Byte, y1 As Byte, y2 As Byte, _
y3 As Byte, Text0 As String, Text1 As String, Text2 As String, Text3 As String, _
Text4 As String
For i2 = 1 To 4
y1 = y(i2) Mod 10
y2 = (y(i2) – y1) / 10 Mod 10
y3 = y(i2) 100
Text1 = Choose(y3 + 1, “”, “сто “, “двести “, “триста “, “четыреста “, _
“пятьсот “, “шестьсот “, “семьсот “, “восемьсот “, “девятьсот “)
Text2 = Choose(y2 + 1, “”, “”, “двадцать “, “тридцать “, “сорок “, _
“пятьдесят “, “шестьдесят “, “семьдесят “, “восемьдесят “, “девяносто “)
If y2 = 1 Then
Text3 = Choose(y1 + 1, “десять “, “одиннадцать “, “двенадцать “, _
“тринадцать “, “четырнадцать “, “пятнадцать “, “шестнадцать “, _
“семнадцать “, “восемнадцать “, “девятнадцать “)
ElseIf y2 <> 1 And i2 = 2 Then
Text3 = Choose(y1 + 1, “”, “одна “, “две “, “три “, “четыре “, “пять “, _
“шесть “, “семь “, “восемь “, “девять “)
Else
Text3 = Choose(y1 + 1, “”, “один “, “два “, “три “, “четыре “, “пять “, _
“шесть “, “семь “, “восемь “, “девять “)
End If

If y2 <> 1 And y1 = 1 Then
Text4 = Choose(i2, “тенге “, “тысяча “, “миллион “, “миллиард “)
ElseIf y2 <> 1 And y1 > 1 And y1
Text4 = Choose(i2, “тенге “, “тысячи “, “миллиона “, “миллиарда “)
ElseIf y1 = 0 And y2 = 0 And y3 = 0 Then
Text4 = Choose(i2, “тенге “, “”, “”, “”)
Else
Text4 = Choose(i2, “тенге “, “тысяч “, “миллионов “, “миллиардов “)
End If
Text(i2) = Text1 & Text2 & Text3 & Text4
Next
If y(1) + y(2) + y(3) + y(4) = 0 Then
Text0 = “ноль тенге ” & kop
Else
Text0 = Text(4) & Text(3) & Text(2) & Text(1) & kop
End If
СуммаПрописью = Replace(Text0, Left(Text0, 1), UCase(Left(Text0, 1)), 1, 1)
End If
End Function

Добавим код в Excel.

Обратите внимание, что вместо слов «тенге» и «тиын» вы поставите свои варианты. В России это будут соответственно рубли и копейки, в США доллары и центы, у остальных свои признаки. Можно вообще убрать эти названия, тогда получим только значения в виде текста.

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

1. Создадим новый файл. Зайдем на вкладку «Вид», перейдем в блок «Макросы» и дадим команду «Запись макроса». Название не трогаем, но местом хранения укажем личную книгу макросов, как на рисунке.

После этого, не выполняя никаких действий, вновь переходим «ВИД» → «МАКРОСЫ» → «Остановить запись. Эти действия необходимы для получения доступа к личной книге макросов.

2. Нажимаем сочетание клавиш «Alt + F11». Это значит, что надо нажать клавишу Alt и , не отпуская ее, клавишу F11 в верхнем ряду клавиатуры. На ноутбуке, вероятно, надо дополнительно удерживать клавишу Fn внизу рядом с клавишей Ctrl. Это уже зависит от настройки ноутбука. Если у вас активна вкладка «разработчик», то можно нажать соответствующую кнопку в ней.

3. В результате откроется окно редактора VBA. С левой стороны щелкаем по элементу «VBAProject (PERSONAL.XLSB)». Это и есть наша личная книга макросов.

4. На следующем шаге выбираем в верхнем меню команду «Insert» → «Module». Откроется пустое окно , в которое и копируем указанный выше код.

5. Закрываем редактор VBA и файл Excel, соглашаясь с изменениями в личной книге макросов. Сам файл Excel сохранять не надо!

Применение функции

Применение созданной функции “СуммаПрописью” позволит легко преобразовать числовое значение в число прописью в текстовом виде. Выбираем ячейку рядом с той, которая содержит числовые значения и нажимаем на кнопку вставки функции или сочетание клавиш «Shift + F3». В списке категорий находим вариант «Определенные пользователем», а внизу – нашу функцию.

Щелкаем в появившемся окне по ячейке с цифрами:

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

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

Желающие могут поэкспериментировать с функцией, например изменив, как я, названия валюты. Еще пример – разделить по знаку «запятая» значения в ячейках, применить функцию по отдельности к каждой части, а затем соединить результат в одно целое c помощью функций сцепить. В этом случае лучше для знаков после запятой использовать копию указанной функции. Замените в ней нужные места на свои. В частности, вместо слов «сто» и «тысяча» необходимо будет написать «сотых» и «тысячных», ну и так далее. Предлагаю включить вашу фантазию. Кроме этого, если у вас английская версия Windows, то, скорее всего, название функции выйдет в виде иероглифов. Тогда в тексте функции надо поменять везде название на русском языке на название латинскими символами, например вместо СуммаПрописью вставит ValueToText.

На этом наше небольшое занятие подходит к концу. Всем удачи!

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

Источник

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

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

Зачем это нужно

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

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

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

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

Преобразовать числа в текст прописью в Excel 2007, 2010, 2016, можно следующим образом:

  1. Запустить Эксель и зайти в раздел «файл».
  2. Кликнуть на строку «параметры».
  3. Откроется окошко, в котором необходимо перейти в пункт «надстройки».
  4. Внизу в строке «управление» поставить значение «надстройки Эксель» и щелкнуть на элемент «перейти».
  5. Появится маленькое окно, в котором требуется нажать на кнопку «обзор».
  6. В появившемся окошке найти предварительно скачанный файл, выделить его и кликнуть на ОК.
  7. Инструмент появился в доступных надстройках. Поставить галочку в квадратике рядом с ним и снова щелкнуть мышкой на ОК.
  8. Теперь нужно проверить функционирование надстройки. Для этого в любой ячейке ввести произвольное число.
  9. Выделить любой другой элемент и кликнуть на ярлычок «вставить функцию», находящийся с левой стороны от строчки формулы.
  10. Открыть мастер функций, в предложенном списке найти «сумма прописью». Выделить ее и кликнуть на ОК.
  11. В окошке «аргументы функции» в строке «сумма» вписать нужное числовое значение. Оно сразу отобразится в указанной области в рублях и копейках прописью.
  12. В строчке можно указать адрес любой ячейки. Возможны 2 варианта – ручным способом через запись координат или простым нажатием на нее в тот момент, когда указатель мышки стоит в поле «сумма». Щелкнуть на ОК.
  13. Далее цифра, введенная в ячейку, отобразится в стоимостном выражении прописью в той клетке, где стоит формула.

Использование формулы

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

Синтаксис обычно такой: Сумма_прописью (сумма) или Сумма_прописью (координаты_ячейки).

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

Если пользователь напечатает в ячейке =Сумма прописью (А3), то цифра, стоящая в клетке А3, отобразится в запрашиваемом формате.

Скрипт VBA

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

  • нажимают одновременно на ALT+F11, откроется редактор Visual Basic;
  • добавляют новый пустой модуль посредством меню Insert – Module;
  • копируют и добавляют туда скрипт:

Сохраняют файл и возвращаются в Excel. Затем вставляют функцию в любую клетку листа книги привычным способом — через мастер функций или просто набирают ее в ячейке вручную, а в качестве аргумента указывают ячейку с суммой.

Источник

Как преобразовать число в текст прописью и наоборот? Сумма прописью в Excel 2007/2010/2013/2016

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

И поскольку реестр договоров велся в Excel, то возник соблазн воспользоваться какой-нибудь формулой, которая бы перевела мне число, набранное цифрами, в число написанное прописью, причем по-русски. Перебрав все стандартные формулы в Excel, и найдя в категории «текстовые» функцию БАТТЕКСТ с описанием «преобразует число в текст», признаюсь, обрадовался. Разочарование наступило очень быстро, когда число, преобразованное в текст прописью оказалось на непонятном мне языке.

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

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

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

1. Одним кликом мыши вызвать диалоговое окно макроса прямо с панели инструментов Excel;

2. преобразовать любое число от 0 до 999 999 999 999 в прописной текст ;

3. преобразовать все числа в выбранном Вами диапазоне;

4. использовать при написании чисел прописью одну из валют на выбор: рубли, доллары, евро, тенге, гривны;

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

6. выбрать любую позицию для вставки суммы прописью, относительно суммы цифрами;

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

Как преобразовать текст, написанный прописью в число цифрами?

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

1. Одним кликом мыши вызвать диалоговое окно макроса прямо с панели инструментов Excel;

2. преобразовать любую сумму, написанную прописью в число от 0 до 999 999 999, 99;

3. найти и преобразовать все суммы прописью в выбранном Вами диапазоне;

4. находить и преобразовывать суммы, написанные прописью с использованием любых валют: рублей, гривен, долларов, евро и др.;

5. выбрать любую позицию для вставки числа относительно ячейки с суммой прописью;

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

*Для этой надстройки действуют следующие ограничения:

1) Предельная сумма прописью, которая может быть преобразована в число — Девятьсот девяносто девять миллионов девятьсот девяносто девять тысяч девятьсот девяносто девять рублей 99 копеек;

2) В сумме прописью обязательно должна присутствовать какая-либо валюта: рубли, гривны, доллары, евро, йены, юани и так далее.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

на

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Процедуры !SEMTools

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

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

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

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

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

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

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

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

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

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

  1. нажмите сочетание клавиш ALT+F11, чтобы открыть редактор Visual Basic
  2. добавьте новый пустой модуль через меню Insert — Module
  3. скопируйте и вставьте туда текст этой функции:
Function СУММАПРОПИСЬЮ(n As Double) As String

 Dim Nums1, Nums2, Nums3, Nums4 As Variant

 Nums1 = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
 Nums2 = Array("", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", _
                        "восемьдесят ", "девяносто ")
 Nums3 = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", _
                        "восемьсот ", "девятьсот ")
 Nums4 = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
 Nums5 = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", _
                        "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")

 If n <= 0 Then
   СУММАПРОПИСЬЮ = "ноль"
   Exit Function
 End If
 'разделяем число на разряды, используя вспомогательную функцию Class
 ed = Class(n, 1)
 dec = Class(n, 2)
 sot = Class(n, 3)
 tys = Class(n, 4)
 dectys = Class(n, 5)
 sottys = Class(n, 6)
 mil = Class(n, 7)
 decmil = Class(n, 8)

 'проверяем миллионы
 Select Case decmil
   Case 1
     mil_txt = Nums5(mil) & "миллионов "
     GoTo www
   Case 2 To 9
     decmil_txt = Nums2(decmil)
 End Select
 Select Case mil
   Case 1
     mil_txt = Nums1(mil) & "миллион "
   Case 2, 3, 4
     mil_txt = Nums1(mil) & "миллиона "
   Case  5 To 20
     mil_txt = Nums1(mil) & "миллионов "
 End Select
 www:
 sottys_txt = Nums3(sottys)
 'проверяем тысячи
 Select Case dectys
   Case 1
     tys_txt = Nums5(tys) & "тысяч "
     GoTo eee
   Case 2 To 9
     dectys_txt = Nums2(dectys)
 End Select
 Select Case tys
   Case 0
     If dectys > 0 Then tys_txt = Nums4(tys) & "тысяч "
   Case 1
     tys_txt = Nums4(tys) & "тысяча "
   Case 2, 3, 4
     tys_txt = Nums4(tys) & "тысячи "
   Case 5 To 9
     tys_txt = Nums4(tys) & "тысяч "
 End Select
 If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & " тысяч "
 eee:
 sot_txt = Nums3(sot)
 'проверяем десятки
 Select Case dec
   Case 1
     ed_txt = Nums5(ed)
     GoTo rrr
   Case 2 To 9
     dec_txt = Nums2(dec)
 End Select

 ed_txt = Nums1(ed)
 rrr:
 'формируем итоговую строку
 СУММАПРОПИСЬЮ = decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt
End Function

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

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

propis1.gif

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

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

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

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

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

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

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

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

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

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

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

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



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

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

«000000000000»)

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

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

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

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

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

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

Exit Function

 
Число_Error:
    MsgBox Err.Description

End Function

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

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

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

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

End Function

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

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

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

End Function

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

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

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

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

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

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

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

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

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

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

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

 
   FuncName = 

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

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

End Sub
 

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

Private Sub Workbook_Open()
DescribeFunction
End Sub
 

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

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

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

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

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

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

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

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

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

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

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

И поскольку реестр договоров велся в Excel, то возник соблазн воспользоваться какой-нибудь формулой, которая бы перевела мне число, набранное цифрами, в число написанное прописью, причем по-русски. Перебрав все стандартные формулы в Excel, и найдя в категории «текстовые» функцию БАТТЕКСТ с описанием «преобразует число в текст», признаюсь, обрадовался. Разочарование наступило очень быстро, когда число, преобразованное в текст прописью оказалось на непонятном мне языке.

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

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

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

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

CompleteSolutionмакрос (надстройка) для преобразования числа в текст прописью по-русски

Надстройка позволяет:

1. Одним кликом мыши вызвать диалоговое окно макроса прямо с панели инструментов Excel;

2. преобразовать любое число от 0 до 999 999 999 999 в прописной текст ;

3. преобразовать все числа в выбранном Вами диапазоне;

4. использовать при написании чисел прописью одну из валют на выбор: рубли, доллары, евро, тенге, гривны;

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

6. выбрать любую позицию для вставки суммы прописью, относительно суммы цифрами;

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

Funktsiya summa propisyu v Excel

Как преобразовать текст, написанный прописью в число цифрами?

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

Видео по работе с надстройкойsmotret-video

Kak-preobrazovat-summu-propisyu-v-chislo

CompleteSolutionмакрос (надстройка) для преобразования суммы прописью по-русски в число

Надстройка позволяет:

1. Одним кликом мыши вызвать диалоговое окно макроса прямо с панели инструментов Excel;

2. преобразовать любую сумму, написанную прописью в число от 0 до 999 999 999, 99;

3. найти и преобразовать все суммы прописью в выбранном Вами диапазоне;

4. находить и преобразовывать суммы, написанные прописью с использованием любых валют: рублей, гривен, долларов, евро и др.;

5. выбрать любую позицию для вставки числа относительно ячейки с суммой прописью;

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

Funktsiya-preobrazovaniya-summy-propisyu-v-chislo

*Для этой надстройки действуют следующие ограничения:

1) Предельная сумма прописью, которая может быть преобразована в число — Девятьсот девяносто девять миллионов девятьсот девяносто девять тысяч девятьсот девяносто девять рублей 99 копеек;

2) В сумме прописью обязательно должна присутствовать какая-либо валюта: рубли, гривны, доллары, евро, йены, юани и так далее.

Другие материалы по теме:

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

Функция сумма прописью на русском языке

После установки надстройки VBA-Excel добавится функционал для вставки суммы прописью. Он содержит удобную форму для ввода (см. рисунок справа), а также функцию СУММАПРОПИСЬЮ, которой можно пользоваться так же как и любой встроенной в Excel.

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

Вы можете указать сумму прописью в договоре в рублях (как с копейками так и без), в долларах США или евро (с центами или без). Помимо суммы договора можно прописывать прописью и срок в календарных или рабочих днях. Можно указывать количество товара прописью в штуках.

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

Вставка суммы прописью через пользовательскую форму

Наиболее простой способ вставить сумму прописью — это заполнить специальную форму.

  1. Выберите ячейку, в которую необходимо вставить число прописью.
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Русский.
  3. Появится диалоговое окно для выбора параметров функции. Заполните ее так как необходимо Вам. Настройки автоматически сохраняются, чтобы не пришлось повторять действия в следующий раз.
  4. Нажмите Вставить текстом, тогда сумма прописью будет вставлена в ячейку как текст. Нажмите Вставить формулой в случае если в ячейку должна быть вставлена формула, в этом случае сумма прописью будет автоматически изменяться при редактировании числа.

Второй способ вставить сумму прописью — это ввести формулу в ячейку: =СУММАПРОПИСЬЮ(A1), где A1 — ссылка на ячейку с формулой.

Далее рассмотрим подробнее синтаксис функции.

Подробный синтаксис функции

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

=СУММАПРОПИСЬЮ(Число; [Падеж]; [Тип_данных] ; [Дробь_прописью] ; [Дублировать_число] ; [Скобки] ; [Заглавная] )

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

  • Число — ссылка на ячейку или число (не обязательно в числовом формате), которое необходимо написать прописью.
  • [Падеж] — число от 1 до 6, определяющее падеж
  1. Именительный (по умолчанию если параметр не указан)
  2. Родительный
  3. Дательный
  4. Винительный
  5. Творительный
  6. Предложный
  • [Тип_данных] — число от 0 до 8 для добавления после суммы прописью в нужном падеже тип данных
  1. Ничего (по умолчанию если параметр не указан)
  2. Рубли
  3. Доллары США
  4. Евро
  5. Календарные дни
  6. Рабочие дни
  7. Дни
  8. Штуки
  9. Целое + дробная часть
  • [Дробь_прописью] — значение 0 или 1, которое указывает на необходимость записи дробной части числа прописью
  1. Не выводить прописью дробную часть числа (по умолчанию)
  2. Указать прописью также и дробную часть числа
  • [Дублировать_число] — значение 0 или 1, которое указывает на необходимость дублирования числа перед суммой прописью
  1. Скрыть число перед суммой прописью
  2. Продублировать числовое значение суммы прописью (по умолчанию)
  • [Скобки] — значение 0 или 1, которое указывает на необходимость записывать сумму прописью в скобках
  1. Убрать скобки из суммы прописью
  2. Поместить сумму прописью в скобки (по умолчанию)
  • [Заглавная] — значение 0 или 1, которое указывает на необходимость делать первую букву суммы прописью заглавной
  1. Все буквы суммы прописью строчные
  2. Сделать первую букву заглавной (по умолчанию)

Разберем синтаксис функции на примерах:

Склонение числительных по падежам.

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

Как прописать дробную часть числа с помощью функции.

Различные форматы вывода суммы прописью.

Функция сумма прописью на украинском языке

Аналогичный функционал для вставки суммы прописью есть и для украинского языка. Также имеется похожая форма для удобной вставки и функция СУММАПРОПИСЬЮУКР.

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

  1. Выберите ячейку, в которую необходимо вставить число прописью.
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Украинский.
  3. Дальнейшие действия аналогичны

Функция сумма прописью на английском языке

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

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

  1. Выбрать ячейку в которую необходимо вставить результат
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Английский.
  3. Укажите число и нажмите одну из кнопок Вставить формулой или Вставить текстом.

Вместо формы ввода, Вы также можете пользоваться функцией =СУММАПРОПИСЬЮEN(ЧИСЛО). Функция имеет один аргумент: ЧИСЛО — значение или ссылка на ячейку с числом, которое необходимо преобразовать в текст прописью.

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

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

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

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

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

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

Перемещаемся в раздел «Параметры».

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

Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».

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

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

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

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

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

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

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

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

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

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

    Зачем это нужно

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

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

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

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

    Преобразовать числа в текст прописью в Excel 2007, 2010, 2016, можно следующим образом:

    1. Запустить Эксель и зайти в раздел «файл».
    2. Кликнуть на строку «параметры».
    3. Откроется окошко, в котором необходимо перейти в пункт «надстройки».
    4. Внизу в строке «управление» поставить значение «надстройки Эксель» и щелкнуть на элемент «перейти».
    5. Появится маленькое окно, в котором требуется нажать на кнопку «обзор».
    6. В появившемся окошке найти предварительно скачанный файл, выделить его и кликнуть на ОК.
    7. Инструмент появился в доступных надстройках. Поставить галочку в квадратике рядом с ним и снова щелкнуть мышкой на ОК.
    8. Теперь нужно проверить функционирование надстройки. Для этого в любой ячейке ввести произвольное число.
    9. Выделить любой другой элемент и кликнуть на ярлычок «вставить функцию», находящийся с левой стороны от строчки формулы.
    10. Открыть мастер функций, в предложенном списке найти «сумма прописью». Выделить ее и кликнуть на ОК.
    11. В окошке «аргументы функции» в строке «сумма» вписать нужное числовое значение. Оно сразу отобразится в указанной области в рублях и копейках прописью.
    12. В строчке можно указать адрес любой ячейки. Возможны 2 варианта – ручным способом через запись координат или простым нажатием на нее в тот момент, когда указатель мышки стоит в поле «сумма». Щелкнуть на ОК.
    13. Далее цифра, введенная в ячейку, отобразится в стоимостном выражении прописью в той клетке, где стоит формула.

    Использование формулы

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

    Синтаксис обычно такой: Сумма_прописью (сумма) или Сумма_прописью (координаты_ячейки).

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

    Если пользователь напечатает в ячейке =Сумма прописью (А3), то цифра, стоящая в клетке А3, отобразится в запрашиваемом формате.

    Скрипт VBA

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

    • нажимают одновременно на ALT+F11, откроется редактор Visual Basic;
    • добавляют новый пустой модуль посредством меню Insert – Module;
    • копируют и добавляют туда скрипт:

    Сохраняют файл и возвращаются в Excel. Затем вставляют функцию в любую клетку листа книги привычным способом — через мастер функций или просто набирают ее в ячейке вручную, а в качестве аргумента указывают ячейку с суммой.

    Указание суммы прописью в Excel

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

    Специальная надстройка NUM2TEXT

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

    Алгоритм действий следующий:

    1. В верхней строке окна программы кликаем по меню “Файл”.
    2. В перечне слева выбираем пункт “Параметры”.
    3. В открывшихся параметрах программы кликаем по разделу “Надстройки”. В нижней части окна щелкаем по кнопке “Перейти” рядом с пунктом “Управление”, значение которого должно быть установлено как “Надстройки Excel”.
    4. На экране отобразится окно надстроек, в котором нажимаем кнопку “Обзор”.
    5. Откроется окно обзора, где мы переходим в папку, в которой находится заранее скачанный файл надстройки “NUM2TEXT.xla”. Выбираем его и щелкаем кнопку OK.Примечание: Официального сайта, с которого можно скачать надстройку, к сожалению нет, однако, в интернете ее достаточно легко найти, воспользовавшись поисковой системой. Главное – скачивайте файл с надежных источников, обязательно с расширением “xla”. Не лишним будет после загрузки файла на компьютер проверить его с помощью антивирусной программы.
    6. Система снова вернет нас в прежнее окно, где мы можем заметить, что в списке надстроек появилась и только что добавленная. Ставим флажок напротив нее (если это по какой-то причине не произошло автоматически), затем нажимаем кнопку OK.
    7. Теперь нам нужно убедиться, что надстройка работает. Для этого пишем в любой незаполненной ячейке случайное число. После этого переходим в другую свободную ячейку и жмем кнопку “Вставить функцию” (fx) слева от строки формул.
    8. В окне вставки функции выбираем категорию “Полный алфавитный перечень”, находим строку “Сумма_прописью”, щелкаем по ней, затем – по кнопке OK.
    9. Откроется окно с единственным аргументом функции – “Сумма”. В поле для ввода значения аргумента мы можем написать как обычное число, так и указать адрес ячейки, который печатаем вручную или выбираем в таблице кликом по нужному элементу (при этом, курсор должен находится в поле для ввода информации). После того, как значение аргумента заполнено, щелкаем OK.
    10. В ячейке с функцией отобразился результат в виде суммы прописью, что и требовалось.Причем, если мы поменяем число в исходной ячейке, на которую ссылается функция, значение в финальной ячейке также изменится.

    Ручной ввод формулы функции

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

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

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

    В качестве аргумента “Сумма”, как мы ранее уже отметили, может быть указано как конкретное число, так и ссылка на ячейку.

    Например, вот как выглядит финальная формула с числом 21: =Сумма_прописью(21) .

    После того, как она набрана в нужной ячейке, нам остается только нажать Enter, чтобы получить результат.

    Или же мы можем вместо числа указать адрес ячейки: =Сумма_прописью(B3) .

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

    Заключение

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

    Для экономистов Макрос для Эксела сумма прописью

    СУММА ПРОПИСЬЮ в Excel 2007, 2010 Макрос для бухгалтеров на русском

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

    Вот с сайта его веб-студии е-КАО мы и взяли этот доработанный макрос.

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

    Поэтому в приложенном для скачивания zip-файле находится два файла:

    1. sumprop.xla — файл надстройки
    2. sumprop.xls — файл макроса

    Макрос: сумма прописью в Excel 2007, 2010

    Можно использовать как обычный макрос, размещенный в обычной рабочей книге Excel (sumprop.xls). Я тоже так делаю, потому что не использую чужих, непроверенных макросов. После того, как вы скачаете файл с макросом Сумма Прописью , необходимо подключить данный макрос. Но для этого сначала необходимо разрешить выполнение макросов в MS Excel.

    Для включения макросов при работе с версией Excel 2002 , входящей в состав Microsoft Office XP, или с версией Microsoft Office Excel 2003 , нужно выбрать команду меню Сервис — Параметры. Будет открыт диалог настройки, имеющий несколько вкладок. Необходимо открыть вкладку Безопасность, на которой следует нажать кнопку Безопасность макросов. На экране появится диалог настройки безопасности Excel. С помощью переключателя, расположенного в диалоге, установите низкий уровень безопасности, чтобы выполнялись все макросы. Далее необходимо закрыть оба диалога, для чего следует нажать кнопки OK в них.

    В Excel 2000 для вызова аналогичного диалога необходимо выбрать команду меню Сервис — Макрос — Безопасность.

    Если же используется версия Excel 97 , нужно выбрать команду меню Сервис — Параметры. В диалоге настройки следует выбрать вкладку Общие и снять флажок Защита от макровирусов. Следует заметить, что если вы не снимите защиту от макровирусов в Excel 97 или установите средний уровень безопасности в других версиях программы, при запуске Excel будет задан вопрос, хотите ли вы выполнять макросы, на который следует ответить утвердительно.

    Как подключить программу макрос Сумма прописью в Excel 2007, 2010 на русском языке

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

    Вначале найдите папку Program Files . Скорее всего, она расположена на диске C вашего компьютера. В этой папке следует найти папку Microsoft Office или Microsoft Office 2003, а в ней папку Office 10, Office 11, Office12 или Office , в зависимости от используемой вами версии. Вне зависимости от конкретных названий папок, в последней папке вы должны обнаружить папку XLStart . Поместите скачанный ранее файл sumprop.xls в данную папку, после чего при каждом запуске Excel будет открываться таблица, в которой располагается макрос печати суммы прописью.

    Использование программы печати суммы прописью в Excel (Ексел)

    Работа с ней ведется через использование функций Excel. Введите в первую ячейку третьей строки формулу =СуммаПрописью(836) и вы увидите результат вычислений:

    Введите после этого в первую ячейку второй строки формулу = СуммаПрописью (A1). Так как пока в ячейку A1 ничего не введено, то результатом будет:

    После того, как в первую ячейку будет введено число, например, 3743917034,51, результат изменится на:

    При вводе другого числа результат соответственно изменится. Кроме печати суммы прописью доступна стала и еще одна дополнительная функция. Введите в первую ячейку число 582,43, а в любую свободную ячейку формулу =ЧислоПрописью(A1) . Результатом будет пятьсот восемьдесят два , то есть первая буква уже не прописная, копейки отброшены и нет названия рублей. Также имеется возможность вывода суммы для названий женского рода – пятьсот восемьдесят две . Для этого следует использовать формулу =ЧислоПрописью(A1;ЛОЖЬ) . Если второй параметр опущен, выводится сумма для названий мужского рода.

    Надстройка: сумма прописью в Excel

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

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

    C:Documents and SettingsUserApplication DataMicrosoftAddIns

    где: вместо User следует подставить имя пользователя Windows.

    Дополнительное неудобство вызывается тем, что папка Application Data может быть скрыта, то есть не видна при просмотре в проводнике Windows.

    Проще всего для размещения скачанного файла в нужной папке нужно:

    1. Выбрать в Excel команду меню Сервис — Надстройки и в появившемся диалоге нажать кнопку Обзор . Будет открыт диалог выбора файла с надстройкой, причем текущей окажется нужная вам папка.
    2. Запустите проводник Windows и перейдите в нем к папке, в которой находится скачанный ранее из интернета файл. Перетащите с помощью мыши значок файла из окна проводника в открытый диалог. Теперь файл с нужной надстройкой находится в нужной папке.
    3. Щелкните на нем мышью и нажмите кнопку OK, чтобы закрыть диалог. В списке доступных надстроек должна появиться строка Сумма Прописью.
    4. Установите флажок рядом с этой строкой и нажмите кнопку OK,
    5. После чего вы сможете использовать функцию печати суммы прописью в Excel .

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

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

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

    Можно ввести непосредственно значение или сослаться на ячейку, в которой это значение расположено. Нажав кнопку OK , вы закроете диалог и вставите результат в текущую ячейку.

    1. флешка USB Flash: УТИЛИТЫ ПРОГРАММЫ для восстановления, форматирования флешек
      Фирменные универсальные утилиты софт для восстановления объема, тестирования флешек USB Flash. Драйвера для USB Flash. Производители: Sony, Seitec, IOSELL, Transcend , A-Data, SanDisk, EasyDisk, Patriot, Panasonic, Traxdata.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Lumpics.ru

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

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

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

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

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

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

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

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

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

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

    Просмотров: 140

    Постановка задачи. 

    В работе часто встречается ситуация, когда необходимо вывести числовые значения в виде текста. Например, написать не «150», а «сто пятьдесят». В основном с такой задачей сталкиваются те, кто имеет дело с различными платежными бланками и банковскими ведомостями. Сумма прописью в таких документах должна быть обязательно указана.

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

    В результате поисков решение все-таки было найдено. Честно скажу,  не запомнил сайт-источник.  В этом я искренне каюсь и прошу прощения у автора. Также прошу прощения, что внес небольшие исправления. Итак, используем возможности VBA.

    Найденное решение.

    Итак, смотрим код:

    Public Function СуммаПрописью(x As Double) As String

    If x > 999999999999.99 Then
    СуммаПрописью = “Аргумент больше 999 999 999 999.99!”
    ElseIf x < 0 Then
    СуммаПрописью = “Аргумент отрицательный!”
    Else
    x = FormatNumber(x, 2)
    Dim b As Byte, b1 As Byte, b2 As Byte, kop As String
    b = (x – Fix(x)) * 100
    b2 = b 10
    b1 = b Mod 10
    If b2 <> 1 And b1 = 1 Then
    kop = ” тиын”
    ElseIf b2 <> 1 And b1 > 1 And b1 < 5 Then
    kop = ” тиын”
    Else
    kop = ” тиын”
    End If
    kop = b2 & b1 & kop
    Dim y(1 To 4) As Integer, i1 As Byte
    For i1 = 1 To 4
    x = Fix(x) / 1000
    y(i1) = (x – Fix(x)) * 1000
    Next

    Dim Text(1 To 4) As String, i2 As Byte, y1 As Byte, y2 As Byte, _
    y3 As Byte, Text0 As String, Text1 As String, Text2 As String, Text3 As String, _
    Text4 As String
    For i2 = 1 To 4
    y1 = y(i2) Mod 10
    y2 = (y(i2) – y1) / 10 Mod 10
    y3 = y(i2) 100
    Text1 = Choose(y3 + 1, “”, “сто “, “двести “, “триста “, “четыреста “, _
    “пятьсот “, “шестьсот “, “семьсот “, “восемьсот “, “девятьсот “)
    Text2 = Choose(y2 + 1, “”, “”, “двадцать “, “тридцать “, “сорок “, _
    “пятьдесят “, “шестьдесят “, “семьдесят “, “восемьдесят “, “девяносто “)
    If y2 = 1 Then
    Text3 = Choose(y1 + 1, “десять “, “одиннадцать “, “двенадцать “, _
    “тринадцать “, “четырнадцать “, “пятнадцать “, “шестнадцать “, _
    “семнадцать “, “восемнадцать “, “девятнадцать “)
    ElseIf y2 <> 1 And i2 = 2 Then
    Text3 = Choose(y1 + 1, “”, “одна “, “две “, “три “, “четыре “, “пять “, _
    “шесть “, “семь “, “восемь “, “девять “)
    Else
    Text3 = Choose(y1 + 1, “”, “один “, “два “, “три “, “четыре “, “пять “, _
    “шесть “, “семь “, “восемь “, “девять “)
    End If

    If y2 <> 1 And y1 = 1 Then
    Text4 = Choose(i2, “тенге “, “тысяча “, “миллион “, “миллиард “)
    ElseIf y2 <> 1 And y1 > 1 And y1 < 5 Then
    Text4 = Choose(i2, “тенге “, “тысячи “, “миллиона “, “миллиарда “)
    ElseIf y1 = 0 And y2 = 0 And y3 = 0 Then
    Text4 = Choose(i2, “тенге “, “”, “”, “”)
    Else
    Text4 = Choose(i2, “тенге “, “тысяч “, “миллионов “, “миллиардов “)
    End If
    Text(i2) = Text1 & Text2 & Text3 & Text4
    Next
    If y(1) + y(2) + y(3) + y(4) = 0 Then
    Text0 = “ноль тенге ” & kop
    Else
    Text0 = Text(4) & Text(3) & Text(2) & Text(1) & kop
    End If
    СуммаПрописью = Replace(Text0, Left(Text0, 1), UCase(Left(Text0, 1)), 1, 1)
    End If
    End Function

    Добавим код в Excel.

    Обратите внимание, что вместо слов «тенге» и «тиын» вы поставите свои варианты. В России это будут соответственно рубли и копейки, в США доллары и центы, у остальных свои признаки. Можно вообще убрать эти названия, тогда получим только значения в виде текста.

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

    1. Создадим новый файл. Зайдем на вкладку «Вид», перейдем в блок «Макросы» и дадим команду «Запись макроса». Название не трогаем, но местом хранения укажем личную книгу макросов, как на рисунке.

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

    После этого, не выполняя никаких действий, вновь переходим «ВИД» → «МАКРОСЫ» → «Остановить запись. Эти действия необходимы для получения доступа к личной книге макросов.

    2. Нажимаем сочетание клавиш «Alt + F11». Это значит, что надо нажать клавишу Alt и , не отпуская ее, клавишу F11 в верхнем ряду клавиатуры. На ноутбуке, вероятно, надо дополнительно удерживать клавишу Fn внизу рядом с клавишей Ctrl. Это уже зависит от настройки ноутбука. Если у вас активна вкладка «разработчик», то можно нажать соответствующую кнопку в ней.

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

    3. В результате откроется окно редактора VBA. С левой стороны щелкаем по элементу «VBAProject (PERSONAL.XLSB)». Это и есть наша личная книга макросов.

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

    4. На следующем шаге выбираем в верхнем меню команду «Insert» → «Module». Откроется пустое окно , в которое и копируем указанный выше код.

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

    5. Закрываем редактор VBA и файл Excel, соглашаясь с изменениями в личной книге макросов. Сам файл Excel сохранять не надо!

    Numword

     Применение функции 

     Применение созданной функции “СуммаПрописью” позволит легко преобразовать числовое значение в число прописью в текстовом виде. Выбираем ячейку рядом с той, которая содержит числовые значения и нажимаем на кнопку вставки функции или сочетание клавиш «Shift + F3». В списке категорий находим вариант «Определенные пользователем», а внизу – нашу функцию.

    Numword

    Щелкаем в появившемся окне по ячейке с цифрами:

    Numword

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

    Numword

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

    Коррекция функции.

    Желающие могут поэкспериментировать с функцией, например изменив, как я, названия валюты. Еще пример – разделить по знаку «запятая» значения в ячейках, применить функцию по отдельности к каждой части, а затем соединить результат в одно целое c помощью функций сцепить. В этом случае лучше для знаков после запятой использовать копию указанной функции.  Замените в ней нужные места на свои. В частности, вместо слов «сто» и «тысяча» необходимо будет написать «сотых» и «тысячных», ну и так далее.  Предлагаю включить вашу фантазию. Кроме этого, если у вас английская версия Windows, то, скорее всего, название функции выйдет в виде иероглифов. Тогда в тексте функции надо поменять везде название на русском языке на название латинскими символами, например вместо СуммаПрописью вставит ValueToText. 

    На этом наше небольшое занятие подходит к концу. Всем удачи!

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

    Ссылка на модуль. .

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

    Зачем это нужно

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

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

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

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

    Преобразовать числа в текст прописью в Excel 2007, 2010, 2016, можно следующим образом:

    1. Запустить Эксель и зайти в раздел «файл».Раздел Файл
    2. Кликнуть на строку «параметры».окно параметров
    3. Откроется окошко, в котором необходимо перейти в пункт «надстройки».Надстройки
    4. Внизу в строке «управление» поставить значение «надстройки Эксель» и щелкнуть на элемент «перейти».Управление надстройками
    5. Появится маленькое окно, в котором требуется нажать на кнопку «обзор».Обзор надстроек
    6. В появившемся окошке найти предварительно скачанный файл, выделить его и кликнуть на ОК.Выбор файлов
    7. Инструмент появился в доступных надстройках. Поставить галочку в квадратике рядом с ним и снова щелкнуть мышкой на ОК.доступные надстройки
    8. Теперь нужно проверить функционирование надстройки. Для этого в любой ячейке ввести произвольное число.
    9. Выделить любой другой элемент и кликнуть на ярлычок «вставить функцию», находящийся с левой стороны от строчки формулы.Выбор ячеек
    10. Открыть мастер функций, в предложенном списке найти «сумма прописью». Выделить ее и кликнуть на ОК.Сумма прописью
    11. В окошке «аргументы функции» в строке «сумма» вписать нужное числовое значение. Оно сразу отобразится в указанной области в рублях и копейках прописью.Аргументы функции
    12. В строчке можно указать адрес любой ячейки. Возможны 2 варианта – ручным способом через запись координат или простым нажатием на нее в тот момент, когда указатель мышки стоит в поле «сумма». Щелкнуть на ОК.Аргумент функции
    13. Далее цифра, введенная в ячейку, отобразится в стоимостном выражении прописью в той клетке, где стоит формула.Вывод текста

    Использование формулы

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

    Синтаксис обычно такой: Сумма_прописью (сумма) или Сумма_прописью (координаты_ячейки).

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

    Если пользователь напечатает в ячейке =Сумма прописью (А3), то цифра, стоящая в клетке А3, отобразится в запрашиваемом формате.

    Скрипт VBA

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

    • нажимают одновременно на ALT+F11, откроется редактор Visual Basic;
    • добавляют новый пустой модуль посредством меню Insert – Module;
    • копируют и добавляют туда скрипт:
    Function СУММАПРОПИСЬЮ(n As Double) As String
     
     Dim Nums1, Nums2, Nums3, Nums4 As Variant
     
     Nums1 = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
     Nums2 = Array("", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ")
     Nums3 = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
     Nums4 = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
     Nums5 = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ",  "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")
     If n <= 0 Then
       СУММАПРОПИСЬЮ = "ноль"
       Exit Function
     End If
     'разделяем число на разряды, используя вспомогательную функцию Class
     ed = Class(n, 1)
     dec = Class(n, 2)
     sot = Class(n, 3)
     tys = Class(n, 4)
     dectys = Class(n, 5)
     sottys = Class(n, 6)
     mil = Class(n, 7)
     decmil = Class(n, 8)
     'проверяем миллионы
     Select Case decmil
       Case 1
         mil_txt = Nums5(mil) & "миллионов "
         GoTo www
       Case 2 To 9
         decmil_txt = Nums2(decmil)
     End Select
     Select Case mil
       Case 1
         mil_txt = Nums1(mil) & "миллион "
       Case 2, 3, 4
         mil_txt = Nums1(mil) & "миллиона "
       Case  5 To 20
         mil_txt = Nums1(mil) & "миллионов "
     End Select
     www:
     sottys_txt = Nums3(sottys)
     'проверяем тысячи
     Select Case dectys
       Case 1
         tys_txt = Nums5(tys) & "тысяч "
         GoTo eee
       Case 2 To 9
         dectys_txt = Nums2(dectys)
     End Select
     Select Case tys
       Case 0
         If dectys > 0 Then tys_txt = Nums4(tys) & "тысяч "
       Case 1
         tys_txt = Nums4(tys) & "тысяча "
       Case 2, 3, 4
         tys_txt = Nums4(tys) & "тысячи "
       Case 5 To 9
         tys_txt = Nums4(tys) & "тысяч "
     End Select
     If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & " тысяч "
     eee:
     sot_txt = Nums3(sot)
     'проверяем десятки
     Select Case dec
       Case 1
         ed_txt = Nums5(ed)
         GoTo rrr
       Case 2 To 9
         dec_txt = Nums2(dec)
     End Select
     ed_txt = Nums1(ed)
     rrr:
     'формируем итоговую строку
     СУММАПРОПИСЬЮ = decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt
    End Function
    'вспомогательная функция для выделения из числа разрядов
    Private Function Class(M, I)
      Class = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1))
    End Function

    Сохраняют файл и возвращаются в Excel. Затем вставляют функцию в любую клетку листа книги привычным способом — через мастер функций или просто набирают ее в ячейке вручную, а в качестве аргумента указывают ячейку с суммой.

    Понравилась статья? Поделить с друзьями:
  • Как в excel 2010 зафиксировать столбец в excel
  • Как в excel 2010 закрепить строки в excel
  • Как в excel 2010 закрепить несколько столбцов
  • Как в excel 2010 добавлять ячейки
  • Как в excel 2007 показать скрытые строки в excel