Скачать num2text xla для excel 2020
Содержание:
- Надстройка: цена прописью в Excel
- Виды внедрения инструмента
- Специальная надстройка NUM2TEXT
- Числа прописью с копейками заглавными или строчными буквами в Excel
- Сумма в рублях, долларах или евро с копейками прописью
- Как сумму перевести в текст в Excel2007
- Использование надстройки
- Применение функции «ЗНАЧЕН».
- Использование надстройки
- Блок ячеек с формулами
- Функция «СуммаПрописью»
- Другие способы вывести в Excel сумму буквами
- Создание сумм прописью с помощью формул
- Функция сумма прописью на русском языке
Надстройка: цена прописью в Excel
В большинстве случаев ее использование в качестве надстройки наиболее удобно, хотя иногда возникают проблемы подключения надстройки.
Нужно поместить полученный файл sumprop.xla в папку, в которой хранятся дополнительные надстройки. Конкретный путь к этой папке зависит от версии Excel, но скорее всего, в Windows 7, он будет похожим на этот:
C:\Documents and Settings\User\Application Data\Microsoft\AddIns
где: вместо User следует подставить имя пользователя Windows.
Дополнительное неудобство вызывается тем, что папка Application Data может быть скрыта, то есть не видна при просмотре в проводнике Windows.
Проще всего для размещения скачанного файла в нужной папке нужно:
- Выбрать в Excel команду меню Сервис — Надстройки и в появившемся диалоге нажать кнопку Обзор. Будет открыт диалог выбора файла с надстройкой, причем текущей окажется нужная вам папка.
- Запустите проводник Windows и перейдите в нем к папке, в которой находится скачанный ранее из интернета файл. Перетащите с помощью мыши значок файла из окна проводника в открытый диалог. Теперь файл с нужной надстройкой находится в нужной папке.
- Щелкните на нем мышью и нажмите кнопку OK, чтобы закрыть диалог. В списке доступных надстроек должна появиться строка Сумма Прописью.
- Установите флажок рядом с этой строкой и нажмите кнопку OK,
- После чего вы сможете использовать функцию печати суммы прописью в Excel.
Как использовать мастер функций, для работы с функциями вывода суммы прописью и числа прописью
Для этого вначале щелкните мышью на ячейке, в которую вы хотите вставить функцию, после чего откройте список доступных функций. В нем следует выбрать вариант Другие функции. Кроме того, для вызова функций можно нажать кнопку fx, расположенную в левой части строки формул. В ранних версиях программы аналогичная кнопка расположена на панели инструментов. Каким бы способом не вызван был мастер функций, в появившемся диалоге необходимо выбрать категорию Определенные пользователем. В списке функций данной категории должны находиться СуммаПрописью и ЧислоПрописью. Выбрав нужную функцию, нажмите кнопку OK, чтобы перейти к следующему диалогу мастера функций. В нем задаются аргументы, то есть вы должны ввести число, которое будет преобразовано в слова. Можно ввести непосредственно значение или сослаться на ячейку, в которой это значение расположено. Нажав кнопку OK, вы закроете диалог и вставите результат в текущую ячейку.
Виды внедрения инструмента
Microsoft Office Excel, конечно, очень мощная и нужная программа, но, к великому сожалению, не все возможности реализованы в ней в стандартном виде. Это касается и суммы прописью в Excel, которая позволяет не делать ошибок со знаками после запятой или же не принимать ошибочно одну сумму за другую. Пользователи программы, регулярно работающие с цифрами и временем, нуждаются в подобном инструменте.
Сегодня решение проблемы найдено, причем не одно. 2 основных вида внедрения инструмента таковы:
- Формулы. Такое решение считается громоздким, но все же используемым. Пользователям, разбирающимся с такой формулой, не составит труда поправить ее разрядности, склонение и т. п.
- Функции. В данном случае достаточно лишь добавить надстройку и пользоваться инструментом.
Перед тем как приступить к выбору и соответствующей установке, рекомендуется определиться с целью использования суммы прописью. То есть вам требуется обычное число, денежная или единица времени либо мужской или женский род единицы? Какое количество разрядов потребуется поддерживать?
Специальная надстройка NUM2TEXT
В программе Excel не предусмотрен какой-либо специальный инструмент, позволяющий выполнить автоматический перевод цифр в соответствующие текстовые значения. Однако в этом деле может помочь специальная надстройка NUM2TEXT, которая работает через функцию.
Алгоритм действий следующий:
- В верхней строке окна программы кликаем по меню “Файл”.
- В перечне слева выбираем пункт “Параметры”.
- В открывшихся параметрах программы кликаем по разделу “Надстройки”. В нижней части окна щелкаем по кнопке “Перейти” рядом с пунктом “Управление”, значение которого должно быть установлено как “Надстройки Excel”.
- На экране отобразится окно надстроек, в котором нажимаем кнопку “Обзор”.
- Откроется окно обзора, где мы переходим в папку, в которой находится заранее скачанный файл надстройки “NUM2TEXT.xla”. Выбираем его и щелкаем кнопку OK.Примечание: Официального сайта, с которого можно скачать надстройку, к сожалению нет, однако, в интернете ее достаточно легко найти, воспользовавшись поисковой системой. Главное – скачивайте файл с надежных источников, обязательно с расширением “xla”. Не лишним будет после загрузки файла на компьютер проверить его с помощью антивирусной программы.
- Система снова вернет нас в прежнее окно, где мы можем заметить, что в списке надстроек появилась и только что добавленная. Ставим флажок напротив нее (если это по какой-то причине не произошло автоматически), затем нажимаем кнопку OK.
- Теперь нам нужно убедиться, что надстройка работает. Для этого пишем в любой незаполненной ячейке случайное число. После этого переходим в другую свободную ячейку и жмем кнопку “Вставить функцию” (fx) слева от строки формул.
- В окне вставки функции выбираем категорию “Полный алфавитный перечень”, находим строку “Сумма_прописью”, щелкаем по ней, затем – по кнопке OK.
- Откроется окно с единственным аргументом функции – “Сумма”. В поле для ввода значения аргумента мы можем написать как обычное число, так и указать адрес ячейки, который печатаем вручную или выбираем в таблице кликом по нужному элементу (при этом, курсор должен находится в поле для ввода информации). После того, как значение аргумента заполнено, щелкаем OK.
- В ячейке с функцией отобразился результат в виде суммы прописью, что и требовалось.Причем, если мы поменяем число в исходной ячейке, на которую ссылается функция, значение в финальной ячейке также изменится.
Ручной ввод формулы функции
Опытные пользователи довольно часто предпочитают вместо использования вставки функции и последующего заполнения ее аргументов в отдельных окнах сразу писать конечную формулу в ячейке.
В данном случае, формула выглядит следующим образом:
=Сумма_прописью(Сумма)
В качестве аргумента “Сумма”, как мы ранее уже отметили, может быть указано как конкретное число, так и ссылка на ячейку.
Например, вот как выглядит финальная формула с числом 21: =Сумма_прописью(21) .
После того, как она набрана в нужной ячейке, нам остается только нажать Enter, чтобы получить результат.
Или же мы можем вместо числа указать адрес ячейки: =Сумма_прописью(B3) .
После нажатия клавиши Enter мы также получаем результат в виде суммы прописью в ячейке с формулой.
Числа прописью с копейками заглавными или строчными буквами в 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 в строке формул, категория Определенные пользователем)
Сумма в рублях, долларах или евро с копейками прописью
Допустим, мы делаем какие-то расчеты в таблице и получаем итоговую сумму в рублях 1526,23
Нам необходимо прописать эту цифру в рублях и желательно указать так же и копейки. Для этого создадим специальную универсальную пользовательскую функцию, которая будет выглядеть следующим образом
Propis( Amount ; Money ; lang ; Prec )
Amount — это ссылка на ячейку с числом
Money — тут указывается вид валюты, можно указать рубли, доллары и евро ( «RUB» , «USD» , «EUR» ) — валюта обязательно указывается в кавычках.
lang — это язык на котором необходимо вывести сумму, доступно два языка английский и русский ( «EN» , «RU» ) — так же указываем в кавычках
Prec — показывать ( 1 ) или не показывать ( 0 ) дробную часть
Таким образом, вы сможете прописать сумму в рублях, долларах или евро прописью русскими или английскими буквами вместе с дробной частью, при этом в зависимости от числа будет вставляться правильное окончание, например 2 рубля, 8 рублей, 1 рубль и так далее.
Чтобы создать пользовательскую функцию Propis, необходимо скопировать код, указанный ниже, далее нажмите ALT+F11, чтобы открыть VBA, добавьте новый пустой модуль через меню Insert — Module и вставьте туда скопированный код
Макрос пользовательской функции суммы прописью
Итак, функция создана, чтобы воспользоваться ей, просто введите ячейке Propis с нужными аргументами, например, если нам необходимо прописать сумму прописью в рублях с копейками и на русском языке, то формула будет выглядеть следующим образом.
Как сумму перевести в текст в Excel2007
. Сюда можно записать в 2003.Юрий М тысяча рублей 00 «А» в ячейке после запятой. rrr: ‘формируем итоговую:Wasp49 десятки vl = txt = txt = «миллиона «: = 0, «два «ж»: Двадцатка = ИмяРазряда(strМиллионы, Mid(strЧисло, ПозИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00»)&»
прерогатива VBA. обычное число. ОноЯ сделал так:: А что -
копеек. А56 работает нормально.4. Делает первую строку СУММАПРОПИСЬЮ =Аля, был человек, который: «Спасибо большое, кажется Mid(SumInt, shag, 1)
& Desyatki(vl) ‘ mlrd(2) = «миллиарда евро», IIf(Valuta =
«одна » Case + 1, 2), коп.»);»ноль руб. 00
Тем не менее, можно в выделенной ячейке распаковал post-106917 и нашу «Копилку» обворовали?GuestEvgeniyaD букву прописной, остальные decmil_txt & mil_txt
сам с собой нашла!!! А без If vl = — если конец » Desyatki(3) = 1, «два рубля», «с»: Двадцатка =
«миллион «, «миллиона коп.») предложить следующее решение отобразиться в формате
скопировал файл в Там нет Суммы: Стандартной функции нет.
: MCH, ясно. Отображается строчные. & sottys_txt &
говорил, но по макросов, с помощью «1» And Mid(SumInt, триады от 11 «тридцать «: Sotni(3) «два доллара»)) Edinicy(3) «одно » End «, «миллионов «)
Формула отобразит число прописью. с помощью обычных записанной прописью денежной C-DocumSet-User-ApplicData-Microsoft-AddIns. Затем в прописью?Есть только пользовательские.
у нас по-разному.5. Если число dectys_txt & tys_txt делу - какой-нибудь формулы этого shag + 1,
до 19 то = «триста «: = «три «: Select Case «2»: ‘Тысячи’ Поз = Ячейки, содержащие исходное формул: суммы в рублях рабочет документе (счете,Guest
Поищите на форуме Alex_ST, «гарантированный» просто целое, например 121, & sot_txt &Guest
сделать нельзя?» 1) <> 0
перескакиваем на единицы, tys(3) = «тысячи
EdinicyPoslednie(3) = IIf(Valuta Select Case Sex 7 strТысячи =
число и формулу,разместить в Личной книге и копейках. накладной) в любой: не такая
самостоятельно — примеры забыла удалить. Я то результат будет dec_txt & ed_txt: работает и сПопробую найти у Then GoTo 10 иначе — формируем «: mln(3) = = 0, «три
Case «м»: Двадцатка Сотни(Mid(strЧисло, Поз, 1))
можно перенести в макросов (PERSONAL.XLSB) вспомогательныеМожно в поле занести нужной ячейке пишуЮрий М
выкладывались неоднократно. имела ввиду именно «Сто двадцать один», End Function ‘вспомогательная офисом 2к10 себя в файлах Else txt = десятки Case 7 «миллиона «: mlrd(3) евро», IIf(Valuta = = «два « strТысячи = strТысячи любое место в диапазоны, содержащие некоторые адрес любой ячейки. =СуммаПрописью(), где в: Что не такая?ytk5kyky
ячейку а56. Но, если дробное - функция для выделенияMCH пропись на русском txt & Desyatki(vl) ‘ — единицы = «миллиарда « 1, «три рубля», Case «ж»: Двадцатка & Десятки(Mid(strЧисло, Поз книге или даже числа прописью (от Это делается либо скобках указываю суммуdude: Я уж было видимо, зависит от 121,22, то результат из числа разрядов: Функция кривая, на языке без маросов.
‘ — если миллионов vl =
Desyatki(4) = «сорок «три доллара»)) Edinicy(4) = «две « + 1, 2), в другую книгу. 0 до 999); путем ручной записи или даю ссылку
: сумма прописью подумал, что никто программы. получится «Сто двадцать
Private Function Class(M, числах 0, 1000000, есть на английском конец триады от Mid(SumInt, shag, 1) «: Sotni(4) = = «четыре «: Case «с»: Двадцатка «ж») strТысячи =Чтобы еще больше приблизитьсясоздать формулу, переводящую в координат этой ячейки, на ячейку. Все(без арабской вязи)
этот вопрос неAlex_ST одна целая двадцать I) Class = 1000000000 и др. (но там все
11 до 19 If shag > «четыреста «: tys(4) EdinicyPoslednie(4) = IIf(Valuta = «Два « strТысячи & ИмяРазряда(strТысячи, к идеалу создадим текст любое число либо простым кликом работает!Владимир задаст. Большой был: Да похоже, что две сотых». Int(Int(M — (10 дает не правильное проще — нет то перескакиваем на 2 Then If = «тысячи «: = 0, «четыре End Select Case
planetaexcel.ru>
Mid(strЧисло, Поз +
- В excel преобразовать число в время в
- Excel 2016 сумма прописью
- Excel преобразовать в число
- Преобразовать дату в число в excel
- В excel перевод числа в текст
- Excel число преобразовать в строку
- Excel как число преобразовать в текст
- Excel преобразовать дату в текст
- Как в excel выделить число из текста
- Как преобразовать текст в число эксель
- Как в excel число сделать прописью
- Функция в excel преобразовать в число
Использование надстройки
Преобразовать числа в текст прописью в Excel 2007, 2010, 2016, можно следующим образом:
- Запустить Эксель и зайти в раздел «файл».
- Кликнуть на строку «параметры».
- Откроется окошко, в котором необходимо перейти в пункт «надстройки».
- Внизу в строке «управление» поставить значение «надстройки Эксель» и щелкнуть на элемент «перейти».
- Появится маленькое окно, в котором требуется нажать на кнопку «обзор».
- В появившемся окошке найти предварительно скачанный файл, выделить его и кликнуть на ОК.
- Инструмент появился в доступных надстройках. Поставить галочку в квадратике рядом с ним и снова щелкнуть мышкой на ОК.
- Теперь нужно проверить функционирование надстройки. Для этого в любой ячейке ввести произвольное число.
- Выделить любой другой элемент и кликнуть на ярлычок «вставить функцию», находящийся с левой стороны от строчки формулы.
- Открыть мастер функций, в предложенном списке найти «сумма прописью». Выделить ее и кликнуть на ОК.
- В окошке «аргументы функции» в строке «сумма» вписать нужное числовое значение. Оно сразу отобразится в указанной области в рублях и копейках прописью.
- В строчке можно указать адрес любой ячейки. Возможны 2 варианта – ручным способом через запись координат или простым нажатием на нее в тот момент, когда указатель мышки стоит в поле «сумма». Щелкнуть на ОК.
- Далее цифра, введенная в ячейку, отобразится в стоимостном выражении прописью в той клетке, где стоит формула.
Применение функции «ЗНАЧЕН».
- Выбираем ячейку, в которую хотим поместить значение в формате числа;
- Вызываем мастер функций;
- Выбираем функцию «ЗНАЧЕН»;
- Указываем ячейку, из которой берем текстовое значение;
- Нажимаем «ОК»;
- В указанную ячейку перенесено число в числовом формате.
Такую функцию можно реализовать при помощи несложного макроса, но о нем мы будем говорить в следующих уроках: Вставить сумму прописью в ячейку таблицы «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)
Имя диапазона: мил Диапазон: =
Имя диапазона: тыс Диапазон: =
Чтобы создать справочник таких диапазонов, переходим на вкладку «Формулы» — «Диспетчер имен«:
В открывшемся окне нажимаем кнопку «Создать» и в форме вводим данные первого диапазона из таблицы:
Далее таким же образом вводим все остальные диапазоны из таблицы:
Использование надстройки
В Эксель нет встроенного инструмента, который бы помогал автоматически переводить цифры в слова. Поэтому для решения поставленной задачи используют специальные надстройки.
Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.
- Открываем программу 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 с блоком ячеек с формулами, преобразующими число в сумму прописью, и примером размещения ссылок.
Работать с блоком ячеек чрезвычайно просто:
- Скопируйте диапазон с формулами и вставьте в нужный файл.
- Замените в блоке входную ссылку рядом со словом «Вход».
- В ячейку, где должна отображаться сумма прописью, добавьте ссылку на выходную ячейку блока (рядом со словом «Выход»).
Пример размещения ссылок смотрите в скачанном файле. При желании, диапазон ячеек с формулами можно скрыть.
Преимущества блока ячеек с формулами:
- это самый простой для реализации способ автоматизации перевода числовых выражений в сумму прописью;
- файлы с блоками ячеек правильно работают у других пользователей программы Excel без дополнительного разрешения выполнения макросов.
Недостатки блока ячеек с формулами:
- не совсем удобно для пользователя каждый раз переносить блок ячеек с формулами из файла в файл;
- если диапазон ячеек с формулами скрыт или размещен вне видимого экрана, можно случайно удалить часть формул вместе с удаляемыми строками или столбцами.
Этих недостатков лишен более изящный способ преобразования числового денежного значения в текст с помощью пользовательской функции «СуммаПрописью».
Функция «СуммаПрописью»
Эта пользовательская функция написана на VBA Excel. Вставить ее в ячейку можно с помощью мастера функций или вручную, как и любую другую встроенную функцию рабочего листа.
Чтобы функцией «СуммаПрописью» можно было воспользоваться, ее программный код должен быть добавлен в рабочую книгу Excel. При передаче книги со встроенным кодом на другой компьютер, функция сохранит работоспособность.
Чтобы функция была доступна из всех рабочих книг на отдельном компьютере, ее код следует добавить в персональную (личную) книгу макросов (PERSONAL.XLSB). В этом случае функция будет работать на другом компьютере, если только ее код будет размещен в персональной книге макросов на другом компьютере.
Если у вашей программы Excel нет личной книги макросов, ее можно создать самостоятельно. Ниже рассмотрено добавление кода функции именно в персональную книгу макросов, в рабочие книги он добавляется точно также.
- Скачайте архив и извлеките из него файл «Module.bas» с кодом функции.
- Откройте любую книгу Excel, можно новую.
- Сочетанием левой клавиши Alt+F11 откройте редактор Visual Basic for Applications.
- Дважды кликните на строке «VBA Project (PERSONAL.XLSB)» или один раз на крестике слева для открытия вложенного списка. Если эта позиция уже развернута переходите к пункту 5.
- Дважды кликните на строке «Microsoft Excel Objects» или один раз на крестике слева для открытия списка объектов. Если эта позиция уже развернута переходите к пункту 6.
- Кликнув правой кнопкой на строке «ЭтаКнига», откройте контекстное меню и выберите в нем пункт «Import File. ».
- В открывшемся диалоге выбора файлов найдите извлеченный ранее из архива «Module.bas» и выберите его двойным кликом. Модуль с функцией будет автоматически загружен.
Теперь можно в ячейки на листах любых рабочих книг вставлять формулу: «=PERSONAL.XLSB!СуммаПрописью(АдресЯчейки)» или, что намного удобнее, выбирать функцию с помощью мастера. Откройте мастер функций, выберите категорию «Определенные пользователем» и в списке доступных функций появится строка «PERSONAL.XLSB!СуммаПрописью», которую можно выбрать, а на втором шаге вставить адрес ячейки с числовым значением.
Формула будет доступна во всех книгах Excel, но только на компьютере, на котором находится персональная книга макросов PERSONAL.XLSB с загруженным модулем.
Если книгу планируется передавать на другие машины, тогда в шаге 6 надо правой кнопкой кликнуть на строке «ЭтаКнига», относящейся не к «VBA Project (PERSONAL.XLSB)», а относящейся к «VBA Project (ВашаКнига)» с именем вашей книги. Тогда модуль с функцией загрузится непосредственно в вашу рабочую книгу Excel и будет доступен для этой книги на любом компьютере. В этом случае формула в ячейке будет иметь вид: «=СуммаПрописью(АдресЯчейки)».
С кодом функции «СуммаПрописью» вы можете ознакомиться в этой статье.
Другие способы вывести в Excel сумму буквами
Конечно, можно найти ещё много способов перевести результат суммы из числа в буквы. Некоторые из них доступны не всем пользователям, так как их знания находятся не на таком высоком уровне. Помимо способов, предложенных выше, есть ещё три достаточно простых:
Теперь вы знаете, как сделать сумму прописью в excel. Эта функция очень удобная. Она используется бухгалтерами во многих банках. Наверняка вы замечали, что в банковских выписках о состоянии счёта сумма дополнительно указывается прописью. А также эта функция уменьшает вероятность ошибки и, как следствие, работы с неверными данными.
Создание сумм прописью с помощью формул
Это вполне осуществимый вариант, но очень громоздкий. Формула, которая может самостоятельно преобразовывать числа в буковки и правильно орфографически написать сумму прописью получится очень большой. В случае, когда вы захотите упростить формулу, вам нужно будет отдельный блок формул, который буде и заниматься всеми преобразованиями. Единственное преимущество от использования формулы, это когда вы разберетесь с ней, то самостоятельно сможете ее изменять: разрядность, валюту, склонение и т.п.
Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.
Функция сумма прописью на русском языке
После установки надстройки VBA-Excel добавится функционал для вставки суммы прописью. Он содержит удобную форму для ввода (см. рисунок справа), а также функцию СУММАПРОПИСЬЮ, которой можно пользоваться так же как и любой встроенной в Excel.
Вы сможете указать число прописью в любом падеже, а также выбрать формат вывода, который необходим в конкретном случае.
Вы можете указать сумму прописью в договоре в рублях (как с копейками так и без), в долларах США или евро (с центами или без). Помимо суммы договора можно прописывать прописью и срок в календарных или рабочих днях. Можно указывать количество товара прописью в штуках.
Функционал достаточно гибкий и позволяет настраивать отображение скобок, формат дробной части, указывать сумму с заглавной или прописной буквы и многое другое.
Вставка суммы прописью через пользовательскую форму
Наиболее простой способ вставить сумму прописью — это заполнить специальную форму.
- Выберите ячейку, в которую необходимо вставить число прописью.
- На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Русский.
- Появится диалоговое окно для выбора параметров функции. Заполните ее так как необходимо Вам. Настройки автоматически сохраняются, чтобы не пришлось повторять действия в следующий раз.
- Нажмите Вставить текстом, тогда сумма прописью будет вставлена в ячейку как текст. Нажмите Вставить формулой в случае если в ячейку должна быть вставлена формула, в этом случае сумма прописью будет автоматически изменяться при редактировании числа.
Второй способ вставить сумму прописью — это ввести формулу в ячейку: =СУММАПРОПИСЬЮ(A1), где A1 — ссылка на ячейку с формулой.
Далее рассмотрим подробнее синтаксис функции.
Подробный синтаксис функции
Для использования функции не обязательно постоянно вызывать форму с параметрами. Функцию можно использовать также как и прочие функции Excel. Функция имеет следующие переменные:
=СУММАПРОПИСЬЮ(Число; ; ; ; ; ; )
Квадратные скобки означают что переменная не обязательная, в этом случае используется значение по умолчанию.
- Число — ссылка на ячейку или число (не обязательно в числовом формате), которое необходимо написать прописью.
- — число от 1 до 6, определяющее падеж
- Именительный (по умолчанию если параметр не указан)
- Родительный
- Дательный
- Винительный
- Творительный
- Предложный
— число от 0 до 8 для добавления после суммы прописью в нужном падеже тип данных
- Ничего (по умолчанию если параметр не указан)
- Рубли
- Доллары США
- Евро
- Календарные дни
- Рабочие дни
- Дни
- Штуки
- Целое + дробная часть
— значение 0 или 1, которое указывает на необходимость записи дробной части числа прописью
- Не выводить прописью дробную часть числа (по умолчанию)
- Указать прописью также и дробную часть числа
— значение 0 или 1, которое указывает на необходимость дублирования числа перед суммой прописью
- Скрыть число перед суммой прописью
- Продублировать числовое значение суммы прописью (по умолчанию)
— значение 0 или 1, которое указывает на необходимость записывать сумму прописью в скобках
- Убрать скобки из суммы прописью
- Поместить сумму прописью в скобки (по умолчанию)
— значение 0 или 1, которое указывает на необходимость делать первую букву суммы прописью заглавной
- Все буквы суммы прописью строчные
- Сделать первую букву заглавной (по умолчанию)
Разберем синтаксис функции на примерах:
Склонение числительных по падежам.
Добавление типа данных после указания суммы прописью
Обратите внимание, что если вторая переменная (падеж) не задана, то указывается по умолчанию в именительном падеже
Как прописать дробную часть числа с помощью функции.
Различные форматы вывода суммы прописью.