Сумма прописью в excel
Сумма прописью в excel
После установки надстройки VBA-Excel добавится функционал для вставки суммы прописью. Он содержит удобную форму для ввода (см. рисунок справа), а также функцию СУММАПРОПИСЬЮ, которой можно пользоваться так же как и любой встроенной в Excel.
Вы сможете указать число прописью в любом падеже, а также выбрать формат вывода, который необходим в конкретном случае.
Вы можете указать сумму прописью в договоре в рублях (как с копейками так и без), в долларах США или евро (с центами или без). Помимо суммы договора можно прописывать прописью и срок в календарных или рабочих днях. Можно указывать количество товара прописью в штуках.
Функционал достаточно гибкий и позволяет настраивать отображение скобок, формат дробной части, указывать сумму с заглавной или прописной буквы и многое другое.
Вставка суммы прописью через пользовательскую форму
Наиболее простой способ вставить сумму прописью — это заполнить специальную форму.
- Выберите ячейку, в которую необходимо вставить число прописью.
- На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Русский.
- Появится диалоговое окно для выбора параметров функции. Заполните ее так как необходимо Вам. Настройки автоматически сохраняются, чтобы не пришлось повторять действия в следующий раз.
- Нажмите Вставить текстом, тогда сумма прописью будет вставлена в ячейку как текст. Нажмите Вставить формулой в случае если в ячейку должна быть вставлена формула, в этом случае сумма прописью будет автоматически изменяться при редактировании числа.
Второй способ вставить сумму прописью — это ввести формулу в ячейку: =СУММАПРОПИСЬЮ(A1), где A1 — ссылка на ячейку с формулой.
Далее рассмотрим подробнее синтаксис функции.
Подробный синтаксис функции
Для использования функции не обязательно постоянно вызывать форму с параметрами. Функцию можно использовать также как и прочие функции Excel. Функция имеет следующие переменные:
=СУММАПРОПИСЬЮ(Число; [Падеж]; [Тип_данных] ; [Дробь_прописью] ; [Дублировать_число] ; [Скобки] ; [Заглавная] )
Квадратные скобки означают что переменная не обязательная, в этом случае используется значение по умолчанию.
- Число — ссылка на ячейку или число (не обязательно в числовом формате), которое необходимо написать прописью.
- [Падеж] — число от 1 до 6, определяющее падеж
- Именительный (по умолчанию если параметр не указан)
- Родительный
- Дательный
- Винительный
- Творительный
- Предложный
- [Тип_данных] — число от 0 до 8 для добавления после суммы прописью в нужном падеже тип данных
- Ничего (по умолчанию если параметр не указан)
- Рубли
- Доллары США
- Евро
- Календарные дни
- Рабочие дни
- Дни
- Штуки
- Целое + дробная часть
- [Дробь_прописью] — значение 0 или 1, которое указывает на необходимость записи дробной части числа прописью
- Не выводить прописью дробную часть числа (по умолчанию)
- Указать прописью также и дробную часть числа
- [Дублировать_число] — значение 0 или 1, которое указывает на необходимость дублирования числа перед суммой прописью
- Скрыть число перед суммой прописью
- Продублировать числовое значение суммы прописью (по умолчанию)
- [Скобки] — значение 0 или 1, которое указывает на необходимость записывать сумму прописью в скобках
- Убрать скобки из суммы прописью
- Поместить сумму прописью в скобки (по умолчанию)
- [Заглавная] — значение 0 или 1, которое указывает на необходимость делать первую букву суммы прописью заглавной
- Все буквы суммы прописью строчные
- Сделать первую букву заглавной (по умолчанию)
Разберем синтаксис функции на примерах:
Склонение числительных по падежам.
Добавление типа данных после указания суммы прописью. Обратите внимание, что если вторая переменная (падеж) не задана, то указывается по умолчанию в именительном падеже.
Как прописать дробную часть числа с помощью функции.
Различные форматы вывода суммы прописью.
Если у Вас возникают трудности с написанием ниже приведенного макроса, можете получить его в готовой надстройке по ссылке поддержав сайт.
Ниже приведен макрос создания такой функции.
Function СУММА_ПРОПИСЬЮ (n As Double) As String
Dim RuExcel1, RuExcel2, RuExcel3, RuExcel4 As Variant
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 = RuExcel5(mil) & «миллионов » GoTo millend
Case 2 To 9
decmil_txt = RuExcel2(decmil)
End Select
Select Case mil
Case 1
mil_txt = RuExcel1(mil) & «миллион »
Case 2, 3, 4
mil_txt = RuExcel1(mil) & «миллиона »
Case 5 To 20
mil_txt = RuExcel1(mil) & «миллионов »
End Select
millend: sottys_txt = RuExcel3(sottys) ‘Рассчет тысяч
Select Case dectys
Case 1
tys_txt = RuExcel5(tys) & «тысяч » GoTo tysend
Case 2 To 9
dectys_txt = RuExcel2(dectys)
End Select
Select Case
tys Case 0
If dectys > 0 Then tys_txt = RuExcel4(tys) & «тысяч « Case 1
tys_txt = RuExcel4(tys) & «тысяча «
Case 2, 3, 4
tys_txt = RuExcel4(tys) & «тысячи «
Case 5 To 9
tys_txt = RuExcel4(tys) & «тысяч «
End Select
If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & » тысяч «
tysend:
sot_txt = RuExcel3(sot)
‘Рассчет десятков
Select Case dec
Case 1
ed_txt = RuExcel5(ed)
GoTo desend
Case 2 To 9
dec_txt = RuExcel2(dec)
End Select
ed_txt = RuExcel1(ed)
desend:
‘Сведение итога
СУММА_ПРОПИСЬЮ = decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt
End Function
‘формирование из числа(цифры) разрядов
Private Function Class(M, I)
— (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I — 1))
End Function
Этот макрос создает функцию преобразующую числа от 0 до 19 млн. в текстовые значения.
Для преобразования рублей с копейками следует сделать отдельные ячейки для рублей и отдельные ячейки для копеек, так как данная версия макроса считает значения только до запятой (целочисленные значения).
Естественно его можно отредактировать и подстроить под необходимый Вам числовой диапазон, добавить знаки пунктуации и т.д.
Использование функции
Щелкаем левой кнопкой мыши по нужной ячейке – там, где и должна быть «сумма прописью». Затем, различными способами – кому как удобно, (смотрите скриншоты) выбираем «вставить функцию».
Вставка функции в Excel 2003.
Вставка функции в Excel 2007.
После предварительно проведенных настроек Excel, кроме стандартно доступных функций, появилась группа новых – «определенные пользователем». Вот в этой группе и находим «Сумма прописью» и снова нажимаем «ОК».
Далее, возможны три варианта: ввести число в ячейке «Сумма», ввести координаты ячейки с написанным там числом, указать ячейку с исходным числом мышью.
Рассмотрим третий вариант, так как он очень удобен. В окне «Аргументы функции» в поле «Сумма» нажимаем на значок таблицы, окно свернется.
Выделяем мышью нужную ячейку с числом и снова нажимаем на значок таблицы в свернутом окне аргументов.
Поле «Сумма» заполнится координатами исходной ячейки с числом. Координаты могут быть как в абсолютном выражении, так и в относительном (на рисунке ниже в относительном). Нажимаем кнопку «ОК» в окне аргументов функции.
В ячейке, где вставлена функция преобразования числа в пропись, отобразится текст. Меняя число в исходной ячейке, Вы автоматически изменяете значение «прописью» в другой.
Цифры прописью в Excel на украинском и русском
5.0 (3) | 12071 |
2
Совсем недавно, нужно было отредактировать внешний отчет для 1C, где помимо изменения структуры и текстовки отчета (в связи с изменениями стандартов), необходимо было также сделать в конце отчета итоговую сумму прописью (то есть цифры в текстовом виде, например, 1357,65 грн — Тисяча триста п’ятдесят сім грн шістдесят п’ять копійок). Как оказалось, в 1С уже прописан специальный скрипт, который выполняет функцию этой трансформации.
Практически сразу после этого, потребовалось сделать нечто похожее прямо в Excel. В экселевском отчете внизу после ячейки подбивающей итоги необходимо указать эту сумму прописью. Среди стандартных функций экселя нет такой, которая бы выполняла такое преобразование, но сделать это можно с помощью пользовательской функции написанной в VBA.
Допустим, в xls-файле какая-то ячейка (например, E13) является итоговой, но число в ней представлено, естественно, в числовом формате, а вам нужна еще и сумма прописью.
1. Выделите и объедините диапазон ячеек, в котором будет указана сумма прописью (например, A14–K14).
2. Щелкните левой кнопкой мыши в строке формул и введите следующий текст (укажите вместо E13 нужную вам ячейку):
3. Теперь займемся программированием:
Если Excel 2003
– откройте меню Сервис –> Макрос –> Редактор Visual Basic (или нажмите Alt + F11);
Если Excel 2007 или 2010
Если вкладка Разработчик недоступна, выполните следующие действия для ее отображения:
Нажмите кнопку Microsoft Office , а затем щелкните Параметры Excel. В категории Основные в группе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте, а затем нажмите кнопку ОК. После этого во вкладке «Разработчик» меню для работы с макросами будет выглядеть так:
где нажимаем кнопочку Visual Basic
- в открывшемся окне Microsoft Visual Basic выберите меню Insert –> Module;
- откроется окно Module1 (Code), введите (скопируйте и вставьте) в этом окне (без изменений!) код из текстовом файла rus.txt, если нужен русский вариант и единицы измерения рубли или ukr.txt, если нужен украинский вариант. Сохраните изменения в файле. Пользуйтесь!
Примечания
1. Рекомендации данной статьи предназначены для Excel начиная с версий Microsoft Office XP/2003 и выше, в других версиях возможны незначительные отклонения.
2. Чтобы созданная нами программа работала:
– откройте меню Сервис –> Макрос –> Безопасность…;
– в открывшемся окне Безопасность на вкладке Уровень безопасности установите переключатель Низкая, на вкладке Надежные издатели установите флажки Доверять всем установленным надстройкам и шаблонам и Доверять доступ к Visual Basic Project –> OK.
Ну собственно все, в архиве помимо необходимых кодов прилагается также файл эксель с работающим примером.
О сайте
«Понемногу обо всем и все, о немногом» — именно такой слоган, по-видимому, является наилучшим определением тематики блога. Здесь пишу о том, что для меня интересно или важно, собственно, поэтому разброс тематик очень широк – от размышлений на философские темы и смешных историй, до конкретных инструкций или анализа событий.
Правда, помимо общих тематик, которые есть почти на каждом личном блоге, стоит выделить специализированные рубрики блога, которые будут полезны и интересны вебмастерам, программистам, дизайнерам, офисным работникам и пользователям ПК, желающим повысить свои навыки и уровень знаний. Подробнее о спецрубриках
Записки вебмастера – рубрика, которая призвана собрать коллекцию полезных скриптов и авторских решений, интересных особенностей и стандартов верстки, решение вопросов юзабилити и функционала, полезных ресурсов и программ.
Вопрос дизайна – это актуальные тренды, пошаговые и видео-уроки в фотошопе, необходимые плагины для фоторедакторов, векторные и PSD исходники, PNG иконки и GIF анимации, кириллические шрифты с засечками и без засечек, заливки (паттерны) и градиенты.
Мой ПК – каждая статья в этой рубрике направлена на то, чтобы узнать свой компьютер лучше. Здесь можно будет почитать о системных процессах и редактировании системного реестра, о способах защитить личные данные и компьютер в целом, о настройке локальной сети и подключениях к сети интернет, обзор ряда программ, которые делают работу за компьютером удобнее, быстрее и приятнее.
MS Office и VBA – эта рубрика содержит интересные решения, малоизвестные функции и возможности, надстройки и макросы, в общем, все то, что может сделать вашу работу в пакете программ MS Office (в первую очередь — Excel, Word, Access, PowerPoint) более эффективной.
Прочие офисные программы – рубрика о программах для ведения учета (конфигурации, платформы, внешние отчеты для 1C), сдачи отчетности (MeDoc, БестЗвіт) и статистического анализа данных (SPSS), также здесь можно найти обзоры программного обеспечения для работы с периферийными устройствами. Свернуть
Создание сумм прописью с помощью формул
Это вполне осуществимый вариант, но очень громоздкий. Формула, которая может самостоятельно преобразовывать числа в буковки и правильно орфографически написать сумму прописью получится очень большой. В случае, когда вы захотите упростить формулу, вам нужно будет отдельный блок формул, который буде и заниматься всеми преобразованиями. Единственное преимущество от использования формулы, это когда вы разберетесь с ней, то самостоятельно сможете ее изменять: разрядность, валюту, склонение и т.п.
Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.
Сумма в рублях, долларах или евро с копейками прописью
Допустим, мы делаем какие-то расчеты в таблице и получаем итоговую сумму в рублях 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 с нужными аргументами, например, если нам необходимо прописать сумму прописью в рублях с копейками и на русском языке, то формула будет выглядеть следующим образом.
Зачастую после получения числа или суммы прописью нужно указать его в другом падеже.
Например, «сумма в размере пятисот тысяч трехсот трех рублей». Надстройка !SEMTools справляется и с этой задачей — смотрите раздел склонение по падежам в Excel.
У этой записи 67 комментариев
Нужно доработать функцию для другой валюты? Нашли недочеты или есть предложения? Оставляйте в комментариях!
Отличное решение! Совершенно неожиданное.
Вы избавились от кучи именованных диапазонов.
А с числом 16 Вы специально сделали провокацию?
Большое спасибо за что-то свежее.
Не специально, но идея неплохая 🙂
Спасибо, поправил.
А можно в этой формуле сделать, так чтобы сумма начиналась с маленькой буквы и вместо 00 копеек было просто ноль копеек?
Можно!
Формула даже станет существенно короче, т.к. изначально формула предполагается с маленькой буквы, и весь синтаксис до копеек повторяется только ради одной заглавной буквы вначале.
Добавил вариант с копейками прописью в статью. Чтобы сделать все с маленькой буквы, можно обернуть ее функцией СТРОЧН.
большое спасибо, очень помогло. для долларов США и евро было бы отлично!)