Excel надстройки num2text

Создание сумм прописью с помощью формул

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

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

С помощью пользовательской функции

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

Для этого вам необходимо выполнить некоторые действия. Сначала скачиваете файл надстройки здесь. После, переносите его в папку AddIns, которую можно найти по пути C:Documents and SettingsUserApplication DataMicrosoftAddIns, только вы вместо «User» подставляете имя вашего пользователя Windows. Еще может возникнуть проблема в отображении папки «Application Data», она может быть скрыта, тогда вам в настройках «Свойства папки» нужно активировать пункт «Показать скрытые файлы и папки». Теперь собственно и приступим к включении этой надстройки. В Excel выбираем «Файл» — «Параметры» — «Надстройки». В диалоговом окне «Настройки» ставим галочку напротив включаемой надстройки «Сумма Прописью» и нажимаем «ОК». Следующим шагом, ставим курсор на нужную ячейку и вызываем «Мастер функций». В разделе «Категория» выбираем пункт «Определенные пользователем» и теперь весть список встроенных функций по написанию сумм прописью нам доступен. Кстати как видите, доступен даже выбор функций в разрезе валют. Сразу замечу, что надстроек бывает много, есть и более расширенные, но эта меня полностью устраивает, вот я ее и описываю. В результате мы получаем возможность получить следующие данные:

Шаг 2: устанавливаем надстройку

Итак, надстройка NUM2TEXT вами была скачана и проверена на наличие вирусов. Если все оказалось в порядке, тогда можно приступать непосредственно к инсталляции данного макроса, который добавит функцию СУММА_ПРОПИСЬЮ в Excel. Далее будет представлена пошаговая инструкция, как это делать:

  1. Запустите непосредственно сам табличный редактор.
  2. Нажмите на кнопку «Файл».
  3. В появившемся меню кликните по кнопке «Параметры», расположенной на боковой панели.
  4. В открывшемся окне перейдите в категорию «Надстройки».
  5. Откроется область, где в нижней части будет располагаться выпадающий список «Управление». Выберите из него пункт «Надстройки Excel» и нажмите по кнопке «Перейти», расположенной справа.
  6. Появится еще одно окно, в котором необходимо выбрать настройку для отображения в программе. Так как NUM2TEXT еще не добавлена, это необходимо сделать.
  7. Нажмите на кнопку «Обзор».
  8. В окне файлового менеджера перейдите в папку со скачанной надстройкой.
  9. Выделите ее и нажмите кнопку «ОК».

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

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

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

Function РубПропись(Сумма As Double, Optional Без_копеек As Boolean = False, _
 Optional КопПрописью As Boolean = False, Optional начинитьПрописной As Boolean = True) As String
'Функция для написания суммы прописью
 Dim ed, des, sot, ten, razr, dec
 Dim i As Integer, str As String, s As String
 Dim intPart As String, frPart As String
 Dim mlnEnd, tscEnd, razrEnd, rub, cop
 
 dec = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
 ed = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ")
 ten = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")
 des = Array("", "", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ")
 sot = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
 razr = Array("", "тысяч", "миллион", "миллиард")
 mlnEnd = Array("ов ", " ", "а ", "а ", "а ", "ов ", "ов ", "ов ", "ов ", "ов ")
 tscEnd = Array(" ", "а ", "и ", "и ", "и ", " ", " ", " ", " ", " ")
 razrEnd = Array(mlnEnd, mlnEnd, tscEnd, "")
 rub = Array("рублей", "рубль", "рубля", "рубля", "рубля", "рублей", "рублей", "рублей", "рублей", "рублей")
 cop = Array("копеек", "копейка", "копейки", "копейки", "копейки", "копеек", "копеек", "копеек", "копеек", "копеек")
 If Сумма >= 1000000000000# Or Сумма < 0 Then РубПропись = CVErr(xlErrValue): Exit Function
 '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 If Round(Сумма, 2) >= 1 Then
 intPart = Left$(Format(Сумма, "000000000000.00"), 12)
 For i = 0 To 3
 s = Mid$(intPart, i * 3 + 1, 3)
 If s <> "000" Then
 str = str & sot(CInt(Left$(s, 1)))
 If Mid$(s, 2, 1) = "1" Then
 str = str & ten(CInt(Right$(s, 1)))
 Else
 str = str & des(CInt(Mid$(s, 2, 1))) & IIf(i = 2, dec(CInt(Right$(s, 1))), ed(CInt(Right$(s, 1))))
 End If
 On Error Resume Next
 str = str & IIf(Mid$(s, 2, 1) = "1", razr(3 - i) & razrEnd(i)(0), _
 razr(3 - i) & razrEnd(i)(CInt(Right$(s, 1))))
 On Error GoTo 0
 End If
 Next i
 str = str & IIf(Mid$(s, 2, 1) = "1", rub(0), rub(CInt(Right$(s, 1))))
 End If
 РубПропись = str
 ''''''''''''''''''
 If Без_копеек = False Then
 frPart = Right$(Format(Сумма, "0.00"), 2)
 If frPart = "00" Then
 frPart = ""
 Else
 If КопПрописью Then
 frPart = IIf(Left$(frPart, 1) = "1", ten(CInt(Right$(frPart, 1))) & cop(0), _
 des(CInt(Left$(frPart, 1))) & dec(CInt(Right$(frPart, 1))) & cop(CInt(Right$(frPart, 1))))
 Else
 frPart = IIf(Left$(frPart, 1) = "1", frPart & " " & cop(0), frPart & " " & cop(CInt(Right$(frPart, 1))))
 End If
 End If
 РубПропись = str & " " & frPart
 End If
 ''''''''''''''''''
' РубПропись = str & frPart
 If начинитьПрописной Then Mid$(РубПропись, 1, 1) = UCase(Mid$(РубПропись, 1, 1))
' If начинитьПрописной Then РубПропись = UCase(Left(РубПропись, 1)) & Mid(РубПропись, 2)
End Function
  • Без копеек (1), с копейками (0)
  • Копейки прописью (1), числом (0)
  • Начинать прописью (0), заглавной (1)

Вот как используется функция

Примечание

  • Данная функция будет работать с числами от 0 до 99 999 999
  • Перед копирование кода переключите раскладку клавиатуры на русский язык (для корректного копирования русского текста)
  • Код VBA необходимо вставлять во все файлы (Книги Excel), где вы хотите, чтобы она работала
  • После вставки код, необходимо сохранить файл с поддержкой макросов xlsm (в Excel, начиная с 2007 версии)
  • Функцию можно либо набирать в ручную, либо, если вы забыли как она пишется, через мастер функций (кнопка fx в строке формул, категория Определенные пользователем)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Блок ячеек с формулами

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

Работать с блоком ячеек чрезвычайно просто:

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

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

Преимущества блока ячеек с формулами:

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

Недостатки блока ячеек с формулами:

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

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

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

Sumprop

Вставляете функцию уже известным способом, только выбираете файл sumprop.xla

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

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

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

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

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

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

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

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

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

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

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

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

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

Sumprop

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

Ставим галочку возле новой надстройки и нажимаем на кнопку «OK».

После этого в вашем редакторе появится еще несколько новых функций. Рассмотрим их всех.

Работа с формулами

Для этого нужно сделать следующие действия.

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

  1. Переходим первую пустую ячейку и нажимаем на кнопку «Fx».

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

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

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

  1. Выберите соответствующий пункт и нажмите на кнопку «OK».

  1. В появившемся окне нужно вставить аргумент. Для этого достаточно кликнуть на ячейку с числом.

  1. Благодаря этому адрес подставится автоматически. Для продолжения нажмите на кнопку «OK».

  1. В результате этого вы увидите следующее.

СуммаПрописьюГривны

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

  1. На этот раз выбираем вторую функцию. Для вставки нажимаем на кнопку «OK».

  1. Затем кликаем на следующее число.
  2. После автоматической подстановки нажмите на кнопку «OK».

  1. Результат будет следующим.

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

  1. Переходим на третью строчку и кликаем на иконку «Fx».

  1. Выбираем «долларовую» функцию и нажимаем на «OK».

  1. Указываем соответствующий аргумент.

  1. Кликаем на «OK».

  1. Благодаря этому целое число отображается в долларах, а дробное – в центах.

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

  1. Переходим на четвертую строчку и вызываем окно вставки уравнения.

  1. Указываем функцию для «Евро».

  1. Кликаем на соответствующий аргумент.

  1. Нажимаем на кнопку «OK».

  1. Результат будет следующим.

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

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

  1. Перейдите на последнюю строчку и нажмите на иконку «Fx».

  1. Выберите последнюю функцию.

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

  1. Для вставки нажмите на кнопку «OK».

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

Через формулу

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

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

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

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

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

Удачи в использовании! Эксель Практик «Глаза боятся, а руки делают»

Использование макросов

Макросы — небольшие файлы, которые любой пользователь может написать в среде visual basic. Пользователи, которым интересно, как его писать могут изучить это в интернете. Функция макросов в excel — различные операции с полученными данными, например:

  1. Преобразование результата из численного вида в буквенный. То есть сумма прописью.
  2. При запуске макроса может меняться цвет и размер шрифта.
  3. Кнопка, сделанная при помощи макроса.
  4. Выпадающие списки и галочки.

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

  1. Создать новый документ в excel и открыть его.
  2. Запустить редактор Visual Basic. Для тех, кто не знает, это делается нажатием комбинации клавиш Alt+f11.
  3. Левой кнопкой мыши два раза кликнуть по первой строке в появившемся списке в левом верхнем углу.
  4. В появившемся списке выбрать папку с именем Microsoft Excel Objects.
  5. Среди файлов этой папки следует выбрать файл «Эта книга».
  6. Щелчком правой кнопки мыши открыть контекстное меню и выбрать пункт Import file.
  7. Из предложенный файлов нужно выбрать тот, что мы скачали.

Теперь мы можем делать сумму прописью в excel. Однако, формула, которую мы будем вводить в ячейку, будет немного отличаться от той, когда мы применяли надстройку. Здесь нужно ввести следующее: «=PERSONAL. XLSB! СуммаПрописью (Номер ячейки с результатом)».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

Excel. Сумма прописью без макросов и надстроек

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

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

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

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

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

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

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

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

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

Имя диапазона: n_1 Диапазон: =

Имя диапазона: n_2 Диапазон: =

Имя диапазона: n_3 Диапазон: =

Имя диапазона: n_4 Диапазон: =

Имя диапазона: n_5 Диапазон: =

Имя диапазона: n0 Диапазон: =»000000000000″&ПСТР(1/2;2;1)&»00″

Имя диапазона: n0x Диапазон: =ЕСЛИ(n_3=1;n_2;n_3&n_1)

Имя диапазона: n1x Диапазон: =ЕСЛИ(n_3=1;n_2;n_3&n_5)

Имя диапазона: мил Диапазон: =

Имя диапазона: тыс Диапазон: =

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

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

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

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

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

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

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

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

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

Включаем надстройку NUM2TEXT в меню Excel

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

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

Также обратите внимание на разрешение файла. Правильное разрешение – XLA

Если надстройка уже скачана, поместите ее в папку, где ее будет несложно найти. Это пригодится при подключении. Далее разберем включение надстройки по шагам:

  1. Необходимо открыть вкладку «Файл» в документе Эксель и выбрать раздел «Параметры». Обычно он находится в нижней части списка разделов.

1

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

Внизу находится подраздел «Управление» с кнопкой «Перейти». Кликаем по этой кнопке.

2

  1. На экране появится окно с доступными надстройками. Если необходимо, можно включить некоторые из них, но цель в данном случае – кнопка «Обзор».

3

  1. Находим файл с надстройкой через окно обзора. Кликаем по нему, чтобы выбрать, и нажимаем «ОК».

4

  1. В списке надстроек появится пункт «Num2Text». Рядом с ним должна сразу стоять галочка. Если ее нет в окошке, нужно выбрать эту надстройку вручную и нажать «ОК».

5

Подключение надстройки «Сумма прописью» завершено, теперь можно ею воспользоваться.

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

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

К счастью, решений проблемы масса, их можно найти в инете и причем бесплатно:

  1. Формулы. Это громоздко, но вполне используемо. Тем более, что если вы разбираетесь в этой формуле, сможете сами поправить ее: разрядность, склонение и т.д.
  2. Функции. На мой взгляд, лучшее решение. Позволяет не воевать с функцией, диапазонами и книгами. Просто добавить надстройку и использовать функцию Суммапрописью (или любую другую).

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

  1. Просто число или единица времени, денег и т.д.?
  2. Мужской род единицы или женский?
  3. Сколько разрядов поддерживать?
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector