Blog of Khlebalin Dmitriy

Сейчас девицы из бухгалтерии попросили поправить екселевский файлик так, чтобы цифра в ячейке в ячейке прописывалась прописью…( 1С умеет это созодать штатными средствами, а вот ёксель возможно нет)

1 вариант

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

  1. открываем ёксель
  2. нажмаем сочетание кнопок ALT+F11, чтоб открыть редактор Visual Basic
  3. добавляем новейший пустой модуль через меню Insert — Module
  4. копируем и вставляем туда текст данной функции:

Сохраняем файл, не запамятывая при всем этом разрешить выполнение VBA:

snap

Сейчас можно вставить сделанную функцию в всякую ячейку листа данной книжки обыденным методом — через мастер функций (клавиша fx в строке формул, категория Определенные юзером) либо просто набрав ее в ячейке вручную и указав в качестве аргумента ячейку с суммой:

snap2

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

Тогда, к примеру, для числа 40,11 итог функции будет смотреться как «40 руб. 11 коп.»

либо 2 вариант

Для отображения прописью в Microsoft Excel 2010/2013/2016 нужно скачать надстройку NUM2TEXT , сохранить на компе в всякую папку, и потом добавить в надстройки как показано ниже на картинах.

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

Либо можно избрать мышкой

Всем неплохой работы .

P.S. Если существует решение реализуемое обычной формулой (без использования VBA), для общего кругозора, прошу написать варианты в комментах…

Share this:

Понравилось это:

2 комментария

Есть решение, не роскошное, но зато без макросов.
Для тех, кто категорически против внедрения различного рода макросов в документах MS Office. Эта примочка была доступна на веб-сайте, который на данный момент почему-либо не работает… http://www.allok.ru/ У меня есть этот пример, но прикрепить его тут не получится.

комментарий от Анатолий | 29.10.2014

Почти все из их я даже попробовал, но большая часть не работает

комментарий от khlebalin | 29.10.2014

Sorry, the comment form is closed at this time.

О веб-сайте

foto_middle_blogЗаписки из мира IT…

В этом блоге, я пишу заметки о собственной, как ежедневной жизни, так и жизни и работе в сфере IT технологий. Собираю достойные внимания ссылки, выражаю свои мысли и прочее… В главном посты посвящены, Управленческим моментам и решениям, разным продуктам Microsoft и VMWare, которые я эксплуатирую почти все годы, Nix, MacOS, сетке, и остальным увлекательным вопросцам и задачкам, с которыми приходится раз в день сталкиваться и иметь дело. Тут приведены не только лишь мои посты, да и посты, которые были найдены мною на бескрайних просторах веба. Все написанное тут, было проделано мною либо моими сотрудниками при моем конкретном участии на виртуальных машинках либо в продакшин среде, о чем свидетельствуют комменты в текстах. Всем фортуны в работе.

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

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

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

В итоге поисков решение все-же было найдено. Честно скажу, не запомнил сайт-источник. В этом я от всей души каюсь и прошу прощения у создателя. Также прошу прощения, что занес маленькие исправления. Итак, используем способности 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, “”, “100 “, “двести “, “триста “, “четыреста “, _
“500 “, “600 “, “семьсот “, “восемьсот “, “девятьсот “)
Text2 = Choose(y2 + 1, “”, “”, “20 “, “30 “, “40 “, _
“50 “, “шестьдесят “, “70 “, “восемьдесят “, “девяносто “)
If y2 = 1 Then
Text3 = Choose(y1 + 1, “10 “, “одиннадцать “, “двенадцать “, _
“тринадцать “, “четырнадцать “, “пятнадцать “, “шестнадцать “, _
“семнадцать “, “восемнадцать “, “девятнадцать “)
ElseIf y2 <> 1 And i2 = 2 Then
Text3 = Choose(y1 + 1, “”, “одна “, “две “, “три “, “четыре “, “5 “, _
“6 “, “семь “, “восемь “, “девять “)
Else
Text3 = Choose(y1 + 1, “”, “один “, “два “, “три “, “четыре “, “5 “, _
“6 “, “семь “, “восемь “, “девять “)
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 помощью функций сцепить. В этом случае лучше для символов опосля запятой употреблять копию обозначенной функции. Поменяйте в ней нужные места на свои. А именно, заместо слов «100» и «тыща» нужно будет написать «сотых» и «тысячных», ну и так дальше. Предлагаю включить вашу фантазию. Не считая этого, если у вас британская версия Windows, то, быстрее всего, заглавие функции выйдет в виде иероглифов. Тогда в тексте функции нужно поменять всюду заглавие на российском языке на заглавие латинскими знаками, к примеру заместо СуммаПрописью вставит ValueToText.

На этом наше маленькое занятие подступает к концу. Всем фортуны!

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель — Информатика

Сумма прописью в Excel. Как указать сумму прописью в Эксель — Разбираем тщательно

Инструменты Microsoft Excel более нередко употребляются для работы с числами. Время от времени нужно, чтоб число, к примеру валютная сумма, обязано быть записано прописью. Это становится в особенности принципиальным при составлении денежных документов. Записывать каждое число прописью вручную неловко. Не считая того, числительные в российском языке – одна из самых сложных тем, и не любой понимает правила их написания. Безграмотность в документах вредит репутации компании, потому стоит пользоваться помощью сервисов Эксель. Выясним, как добавить в программку функцию «Сумма прописью» и воспользоваться ей верно.

Интересно почитать:  Как в excel убрать надпись страница

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

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

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

Деяния с надстройкой опосля подключения

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

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

Принципиально! Попасть в этот раздел Excel можно несколькими методами: через значок рядом со строчкой функций либо через вкладку «Формулы» (клавиша «Вставить функцию»).

Сумма прописью в Excel. Как указать сумму прописью в Эксель

  1. Избираем категорию «Полный алфавитный список». Придется прокрутить весь перечень до буковкы «С», поэтому что функция не попадает ни в одну из узеньких категорий. Дальше необходимо кликнуть по наименованию функции «Сумма_прописью» и надавить «ОК».

Сумма прописью в Excel. Как указать сумму прописью в Эксель

  1. Избираем ячейку с числом, текстовое значение которого обязано показаться в пустой ячейке. Вокруг нее должен показаться анимационный контур, а обозначение по горизонтали и вертикали попадет в формулу. Жмем клавишу «ОК».

Сумма прописью в Excel. Как указать сумму прописью в Эксель

  1. В итоге сумма прописью возникает в ячейке, которая была выбрана в самом начале. Смотрится это так:

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель

  1. Формула переместится во все ячейки ниже, которые были захвачены выделением. Происходит смещение ячеек, благодаря этому в каждой строке оказывается верная сумма прописью. Таблица воспринимает последующий вид:

Сумма прописью в Excel. Как указать сумму прописью в Эксель

Ручной ввод функции в ячейках

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

  1. Поначалу необходимо избрать пустую ячейку, куда будет записана формула. Кликнем по ней два раза – снутри покажется поле для ввода данных с клавиатуры.
  2. Запишем в пустое поле последующую формулу: =Сумма_прописью().

Рекомендация! Опосля постановки знака равенства программка даст подсказки в виде формул. Чем больше введено в строчку, тем поточнее будет подсказка. Удобнее всего отыскать в этом перечне подходящую функцию и надавить на нее дважды.

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

Направьте внимание! Есть возможность записать прописью не только лишь числовое содержимое одной ячейки, да и итог математического деяния с числами из нескольких ячеек. К примеру, если избрать одну ячейку, поставить опосля ее обозначения символ «+» и указать 2-ое слагаемое – еще одну ячейку, то результатом будет сумма 2-ух чисел, записанная прописью.

Сумма прописью в Excel. Как указать сумму прописью в Эксель

  1. Жмем кнопку «Enter». В ячейках покажется число либо итог деяния, выраженное прописью.

Сумма прописью в Excel. Как указать сумму прописью в Эксель

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

Сумма прописью в Excel. Как указать сумму прописью в Эксель

Заключение

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

Интересно почитать:  Как в эксель посчитать разницу в

Сумма прописью в экселе

Функции, входящие в состав данного модуля, обеспечивают преобразование числа в сумму прописью. Чтоб обратиться к сиим функциям, воспользуйтесь меню «Cyrillic Document => Number in Words» («Кириллический документ => Сумма прописью»).

Диалог «Сумма прописью»

Модуль «Сумма прописью» обеспечивает возможность видоизменять метод представления числа согласно задачкам юзера. Доступ к данным настройкам обеспечивается при помощи одноименного диалога. Чтоб вызвать диалог «Сумма прописью»:

  1. Выделите одно либо несколько чисел, подлежащих преобразованию в сумму прописью (в текстовом документе), либо одну либо несколько ячеек, содержащих такие числа (в документе электрической таблицы).
  2. Изберите в меню «Cyrillic Document => Number in Words» («Кириллический документ => Сумма прописью») пункт «Configure and Insert» («Настроить и вставить»).

Диалог «Сумма прописью»

В показавшемся диалоговом окне Вы имеете возможность указать:

    язык, на котором обязана быть представлена сумма прописью (российский, украинский либо белорусский); : рубль (русский либо белорусский),украинская гривна, южноамериканский бакс. Можно также избрать пункт «Other» («Другое»), чтоб указать все остальные характеристики вручную.

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

Если падежные формы вводятся «с нуля», то ввод для именительного падежа единственного числа повторяется в других полях. Таковым образом, для оставшихся 2-ух форм заместо повторного ввода слова будет довольно подкорректировать его окончание.

Следует также указать, необходимо ли, чтоб в выводимой строке был «1-ый знак строчный».

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

Окончив установку значений, нажмите клавишу «Replace» («Поменять»). При всем этом все выделенные в документе числа будут изменены на их представление прописью, а данные Вами опции будут сохранены в реестре OOo для следующего использования.

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

Вставка суммы прописью с опциями по дефлоту

Если Вы повсевременно используете одни и те же характеристики суммы прописью (к примеру, сумма в рублях и копейках на российском языке), вызывать диалог всякий раз при появлении потребности в данной операции может показаться неловким. В таком случае, Вы сможете пользоваться пт меню «Cyrillic Document => Number in Words => Insert» («Кириллический документ => Сумма прописью => Вставить»). В этом случае программка поменяет выделенные в документе числа на их представление прописью, используя те опции, которые были в крайний раз заданы в интерактивном сеансе.

Табличные функции для документов электрических таблиц

Модуль «Сумма прописью» включает также табличные функции, созданные для использования в документах электрических таблиц. Чтоб получить доступ к сиим функциям, нужно до этого всего скопировать содержащий их модуль basic (он именуется SumLiterally) в текущий документ. Это можно создать с помощью пт меню «Cyrillic Document => Number in Words => Copy functions to document» («Кириллический документ => Сумма прописью => Копировать функции в документ»). Опосля этого в ячейках электрической таблицы можно употреблять:

  • всепригодную форму вызова функции (n2s);
  • либо последующие личные формы вызова функции (n2s_язык_СТраныВалюта):
    • n2s_ru_RUR — сумма в рублях на российском языке;
    • n2s_ru_UAH — сумма в гривнах на российском языке;
    • n2s_uk_UAH — сумма в гривнах на украинском языке;
    • n2s_be_BYR — сумма в (белорусских) рублях на белорусском языке.

    Всепригодная форма вызова подразумевает последующий синтаксис:
    =N2S(число;»слово в именит. падеже, ед. числе»;»слово в родит. падеже, ед. числе»;»слово в родит. падеже множ. числе»;перв.знак строчный?;»род»;»обозн. дроби»;число цифр в дробной части)

    «перв.знак строчный?»- должен представлять логическое значение, показывающее должен ли быть 1-ый знак строчным. Желательно указывать значение в виде вызова функций true()/false() либо 1/0, чтоб избежать заморочек в локализованных версиях OpenOffice.org.

    Тут «род» следует указать в форме:

    • Masculine, M ,m, М, м- мужской род.
    • Feminine, F ,f , Ж, ж- дамский род.
    • Neuter, N, n , С, с- средний

    Лишь четыре первых параметра являются неотклонимыми. Если характеристики будут опущены, то соответственно 1-ый знак будет строчным, будут применены мужской род (Masculine), нет обозначения для дробной части («»), дробная составляющая числа отбрасывается (длина=0).

    Личная форма имеет синтаксис:
    =N2S_язык_СТраныВалюта(число;перв.знак строчный?)

    2-ой параметр является опциональным. Если он опущен, то 1-ый знак будет строчным

    К примеру, если ячейка A1 содержит число 125,50, а в ячейке A2 введена формула вида =N2S (A1;»ru»;»рубль»;»рубля»;»рублей»;false();»m»;»коп.»;2), то отображаемое значение данной ячейки будет равно «100 20 5 рублей 50 коп.».

    Для этого варианта можно также употреблять личный вариант вызова =N2S_RU_RUR(A1).

    Чтоб в итоге 1-ый знак был строчным, следует вызвать функцию в виде: =N2S (A1;»ru»;»рубль»;»рубля»;»рублей»;true();»m»;»коп.»;2) либо =N2S_RU_RUR(A1,true())

Ссылка на основную публикацию
Adblock
detector