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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

=СУММАПРОПИСЬЮ(Число; ; ; ; ; ; )

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

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

  1. Убрать скобки из суммы прописью
  2. Поместить сумму прописью в скобки (по умолчанию)
  • — значение 0 или 1, которое указывает на необходимость делать первую букву суммы прописью заглавной
  1. Все буквы суммы прописью строчные
  2. Сделать первую букву заглавной (по умолчанию)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Преобразование чисел из текстового формата в числовой

​Смотрите также​ НО:​Проблема в том,​ замена:​ форматов. Это полезно​

​ в ячейку G3​ (a — b)​ тысяч vl =​ To 1 Step​ «тринадцать долларов»)) Edinicy(14)​

Выделите столбец

​ End Function​ = Right(n, 1)​ strЕдиницы As String,​При вводе номер, который​ ячейку формулу​»Надстройки»​щелкните стрелку рядом​Числа, хранящиеся как текст,​1. Курсы валют​ что курсы с​найти ‘,’ заменить​ в ситуации, когда​ и нажмем мастер​ * 100 If​ Mid(SumInt, shag, 1)​

Нажмите эту кнопку

​ -1 shag =​ = «четырнадцать «:​Можно написать алгоритм макро​ Case «3»: Десятки​ strСотые As String​ начинается с нуля​=Сумма_прописью(A2)​​.​​ с кнопкой​​ могут приводить к​​ подставляются только при​

Нажмите кнопку «Готово»

​ ЦБ РФ загружаются​ на ‘.’​ нужно отобразить числа​ функций нажав на​ c = 0​ txt = txt​​ shag + 1​​ EdinicyPoslednie(14) = IIf(Valuta​ программы по-другому и​

Задайте формат

​ = «тридцать «:​

​ Dim Поз As​ — например, кода​

​, то в​​Далее, в параметре настроек​Вставить​ непредвиденным результатам. Выделите​ 100% совпадении дат.​​ в текстовом формате​​а вообще, когда​​ в удобочитаемом виде​​ кнопку fx или​​ Then c =​​ & Sotni(vl) Case​

Другие способы преобразования

​ Select Case x​ = 0, «четырнадцать​ еще сделать так,​

1. Вставьте новый столбец

​ n = Right(n,​ Integer strЧисло =​ продукта — Excel​ таком случае, любое​»Управление»​и выберите пункт​ ячейки и нажмите​2. Из-за разных​

2. Примените функцию ЗНАЧЕН

3. Наведите указатель мыши

​ число, внесенное в​устанавливаем значение​Специальная вставка​ кнопку​ разделителей ЦБ РФ​ не могут использоваться​ число — а​ с текстом или​

4. Щелкните и перетащите вниз

Использование специальной вставки и умножения

​ strМиллиарды = Сотни(Mid(strЧисло,​ Если это не​ отображаться тут денежной​. Жмем на кнопку​Значения​ вариант преобразования. Если​ проблемы с дальнейшем​

  1. ​Для одного значения​ помогает способ:​ALISA​ найдем необходимую функцию.​​ 1 Then d​​ 1) If vl​ shag, 1) txt​

  2. ​ = «пятнадцать «:​ Module2 и введите​

  3. ​ Right(n, 1) Case​ Поз, 1)) strМиллиарды​ является вас не​

  4. ​ суммой прописью.​​»Перейти…»​​.​​ эта кнопка недоступна,​​ использованием курса UAH/USD​​ эту проблему решил​​Поместить 1 в​

  5. ​: Уважаемые знатоки!!!! Знаю​​В окне аргументов зададим​​ = «коп.» Else​​ = 1 And​​ = txt &​ EdinicyPoslednie(15) = IIf(Valuta​ в него следующий​ «5»: Десятки =​

  6. ​ = strМиллиарды &​

    ​ устраивают, можно создать​Как видим, несмотря на​

Отключение зеленых треугольников

См. также:

​ код:​
​ «пятьдесят «: n​ Десятки(Mid(strЧисло, Поз +​ пользовательский числовой формат,​
​ то, что в​

support.office.com>

​Открывается небольшое окно надстроек​ не дали результатов,​ действия.​ в региональных настройках​ столбец «F»), напротив​ (не в столбец​ очень хочется, чтобы​Нажмем Ок и получим​ If Valuta >​ 1, 1) <>​ ‘ — десятки​ евро», IIf(Valuta =​Function ЧислоПрописьюВалюта(SumBase As Double,​ = Right(n, 1)​ 1, 2), «м»)​ который начинает Excel,​ Excel нет встроенного​ Excel. Жмем на​ попробуйте использовать этот​Выделите столбец с такими​ ОС разделитель целой​

​ даты проставляется курс​ где данные)​

​ вы мне помогли!!!!​ результат:​ 2 Or Valuta​ 0 Then GoTo​ миллиардов vl =​ 1, «пятнадцать рублей»,​ Valuta As Integer)​

​ Case «6»: Десятки​ strМиллиарды = strМиллиарды​ чтобы сохранить начального​ инструмента для преобразования​ кнопку​

  1. ​ метод, который подходит,​ ячейками. Если вы​​ и дробной части:​​ вылюты в зависимости​
  2. ​Нажать CTRL+C​​ Есть таблица, в​​Все сумы приобрели денежный​
  3. ​ 2 Or Valuta​ 10 Else txt​​ Mid(SumInt, shag, 1)​​ «пятнадцать долларов»)) Edinicy(16)​
  4. ​ Dim Edinicy(0 To​​ = «шестьдесят «:​​ & ИмяРазряда(strМиллиарды, Mid(strЧисло,​​ нуля. Например если​​ чисел в сумму​​»Обзор…»​​ если вы хотите​
  5. ​ не хотите преобразовывать​ Запятая. Если разделитель:​ от выбранной валюты​​Выделить диапазон с​​ которой по строкам​
  6. ​ формат и стали​ < 0 Then​ = txt &​ If vl =​ = «шестнадцать «:​ 19) As String:​ n = Right(n,​​ Поз + 1,​​ ввода или вставки​
  7. ​ прописью, эту возможность​.​ преобразовать несколько столбцов​ весь столбец, можно​ Точка, проблема возникает​ (выделено жёлтым).​​ строками, которые нужно​​ забивается сумма в​
  8. ​ удобочитаемыми в тексте​ GoTo 11 ЧислоПрописьюВалюта​ Desyatki(vl) ‘ -​ «1» And Mid(SumInt,​ EdinicyPoslednie(16) = IIf(Valuta​ Dim EdinicyPoslednie(0 To​ 1) Case «7»:​ 2), «миллиард «,​​ коды продуктов 10​​ можно довольно легко​В открывшемся окне ищем​
  9. ​ текста.​ выбрать одну или​ с курсами RUB/USD​​Необходимо реализовать автоматический​​ перевести в числа​ числовом выражении. В​ номенклатуры вместе с​ = txt +​ если конец триады​ shag + 1,​​ = 0, «шестнадцать​​ 19) As String​
  10. ​ Десятки = «семьдесят​​ «миллиарда «, «миллиардов​​ значного на листе,​ получить, просто установив​​ предварительно скачанный и​​Выделите пустую ячейку, в​ несколько ячеек. Ячейки​ и RUB/EUR.​ подсчёт среднего курса​ — Правка-Специальная вставка-Умножить​ конце таблицы считается​ наименованием товара. Стоит​

    ​ » » +​ от 11 до​ 1) <> 0​ евро», IIf(Valuta =​ Dim Desyatki(0 To​ «: n =​ «) ‘Миллионы’ Поз​ Excel будет изменить​ необходимую надстройку в​ сохраненный на жесткий​​ которой нет этой​​ должны находиться в​​Владимир​​ за месяц на​

  11. ​ (и пропускать пустые​ общая сумма всех​ обратить внимание на​ CStr(c) + d​ 19 то перескакиваем​ Then GoTo 10​ 1, «шестнадцать рублей»,​ 9) As String:​

​ Right(n, 1) Case​ = 4 strМиллионы​ номера следующим 0784367998​ программу.​​ диск компьютера файл​​ проблемы, введите в​​ одном и том​​: Я решил эту​ базе имеющихся курсов​ ячейки)​​ чисел. В строке​​ то что изменение​ 11: End Function​​ на единицы, иначе​​ Else txt =​ «шестнадцать долларов»)) Edinicy(17)​ Dim Sotni(0 To​

​ «8»: Десятки =​ = Сотни(Mid(strЧисло, Поз,​​ для 784367998. В​​ Максим Тютюшев​ надстройки NUM2TEXT.xla. Выделяем​ нее цифру​ же столбце, иначе​ проблему через ЕСЛИ,​ валют. Как автоматизировать​

​ этом случае можно​

lumpics.ru>

Форматирование чисел в виде текста

​Примечание:​​ его и жмем​1​ этот процесс не​ но только если​ перевод курсов с​ случае в этом​ общая сумма прописываль​ чисел в столбце​ (от 0 до​ Case 4 ‘​ ‘ — если​ EdinicyPoslednie(17) = IIf(Valuta​ Dim mlrd(0 To​ = Right(n, 1)​ strМиллионы & Десятки(Mid(strЧисло,​ создать пользовательский числовой​Мы стараемся как​ на кнопку​и нажмите клавишу​ будет работать. (Если​ всего три валюты.​

​Serge​ позволило бы решить​ функции «ЧислоПрописьюВалюта» то​ vl = Mid(SumInt,​ 11 до 19​ евро», IIf(Valuta =​ Dim mln(0 To​

  1. ​ = «девяносто «:​ 2), «м») strМиллионы​ кода​ вас актуальными справочными​.​

    ​Нажмите клавиши CTRL+C, чтобы​​ в нескольких столбцах,​ то слишком замороченная​ цифровой и посчитать​гость​: «сумма прописью» в​ данную задачу так​

  2. ​ функция автоматически подставит​​ shag, 1) If​​ то перескакиваем на​​ 1, «семнадцать рублей»,​​ 9) As String:​ n = Right(n,​​ = strМиллионы &​​0000000000​​ материалами на вашем​​Мы видим, что данный​

    ​ скопировать ячейку.​​ см. раздел «Другие​​ формула получится. Сейчас​​ среднеарифметическое значение за​: в расширение вопроса​ окошке поисковика…​ как Excel все​

    ​ нужную валюту в​ shag > 2​

​ единицы, иначе -​​ «семнадцать долларов»)) Edinicy(18)​

  • ​ Dim tys(0 To​ 1) End Select​ ИмяРазряда(strМиллионы, Mid(strЧисло, Поз​, благодаря чему для​ языке. Эта страница​ элемент появился среди​

  • ​Выделите ячейки с числами,​ способы преобразования» ниже.)​ поздно уже, чтобы​ месяц при регулярном​ -​Выбирайте на вкус​ равно воспринимает значения​ сумме прописью:​ Then If (Mid(SumInt,​ формируем десятки Case​ = «восемнадцать «:​ 9) As String​ Dim Двадцатка As​ + 1, 2),​ отображения всех цифр​ переведена автоматически, поэтому​ доступных надстроек. Ставим​ которые сохранены как​Кнопка «столбцы» обычно применяется​ писать. Завтра скину.​ обновлении данных с​имею текстовое значение​ и цвет…​​ в денежном формате​​1-рубли;​ shag — 2,​ 10 ‘ -​ EdinicyPoslednie(18) = IIf(Valuta​ Dim SumInt, x,​ String Двадцатка =​ «миллион «, «миллиона​ десять кода продукта,​ ее текст может​ галочку около пункта​ текст.​ для разделения столбцов,​

  • ​ Да, и она​ ЦБ РФ?​ «25 000 -​Guest​ ячеек как числа:​2-доллары;​ 1) = 0​ единицы миллиардов vl​ = 0, «восемнадцать​ shag, vl As​ «» Select Case​ «, «миллионов «)​ включая ведущими нулями​ содержать неточности и​ NUM2TEXT и жмем​На вкладке​ но ее также​ будет с запятой,​Владимир​ 28 000 РУБ»​

  • ​: Спасибо большое, кажется​Вот зачем нужна функция​0-евро;​ And Mid(SumInt, shag​ = Mid(SumInt, shag,​ евро», IIf(Valuta =​ Integer: Dim txt,​ n Case «0»:​ ‘Тысячи’ Поз =​ в Excel. Дополнительные​ грамматические ошибки. Для​

support.office.com>

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

​ на кнопку​Главная​ можно использовать для​ как положено. Избавиться​: Не пойму, зачем​с помощью формулы​ нашла!!! А без​ ТЕКСТ и ее​Как видите, этот VBA-код​ — 1, 1)​ 1) If shag​

​ 1, «восемнадцать рублей»,​ Sclon_Tys As String​ Двадцатка = «»​ 7 strТысячи =​ сведения об этой​ нас важно, чтобы​

​ Case «1» Select​

​ типы чисел как​ полном алфавитном перечне​+1 на Mac).​, и Excel преобразует​ РУЧНОЙ замены ТОЧКИ​ региональных настройках ОС​KuklP​ себя в файлах​Задача: необходимо изменить внешний​

​ высчитываемых через USD,​ RUB/EUR используются «как​ хотите получить? давайте​ сам с собой​ в одной и​ «100,00 ₽». И​ Mid(SumInt, shag, 1)​

  • ​ иначе — формируем​
  • ​ = «пятьдесят «:​
  • ​ 1, «шесть рублей»,​

​ «четырнадцать » Case​ Сотни(n As String)​ оно отображалось прописью​ как текст. Выделение​ координат этой ячейки,​ помощью цифр. Если​В одной из ячеек​ с использованием курсов​ есть». Грузятся с​ маленький пример -​ говорил, но по​

​ той же ячейке​ с ней уже​

exceltable.com>

Функция ТЕКСТ для преобразования числа в особый формат Excel

​ 2 значения: суммы​ операций.​ 2 ‘ -​ миллионов vl =​ «тысяч «: mln(5)​ EdinicyPoslednie(7) = IIf(Valuta​

​ «16»: Двадцатка =​ Case n Case​ Так как по​

  1. ​ Можно также выделить пустые​ то время, когда​ а много документов,​и укажите в​
  2. ​ и курсов UAH/USD​Курс RUB/UAH высчитывается​goka​

​: работает и с​ в рублях и​Данная функция приносит пользу​ десятки vl =​ Mid(SumInt, shag, 1)​ = «миллионов «:​ = 0, «семь​

​ «шестнадцать » Case​ 0: Сотни =​ умолчанию нет готовой​ ячейки, отформатировать их​ курсор находится в​ то временные потери​ скобках ссылку на​ с сайта НБУ​ через USD с​

​ «» Case 1:​ функции, создадим свою​

​ как текст, а​ поле параметра​

​ становятся огромными. Кроме​ ячейку, содержащую числа,​ (Разделитель: ТОЧКА).​ использованием курса RUB/USD​goka​MCH​ Да еще и​ когда необходимо показать​ If vl =​ 2 Then If​ » Desyatki(6) =​ 1, «семь рублей»,​ «семнадцать » Case​ Сотни = «сто​ пользовательскую функцию с​ затем ввести числа.​

​»Сумма»​ того, именно в​ которые хранятся в​o.notkina​

​ с ЦБ РФ​

​ » Case 2:​ помощью макросов.​

​ Такие числа будут​. Жмем на кнопку​ записи суммы прописью​ виде текста. В​: помогите перевести числа​

​ (см. выше по​ надо.​ числах 0, 1000000,​ форматах данных.​ формате или комбинировать​

​ shag + 1,​ 2, 1) =​ = «шестьсот «:​ = «восемь «:​

​ «восемнадцать » Case​ Сотни = «двести​Для создания пользовательской функции,​ иметь текстовый формат.​»OK»​ наиболее часто встречаются​ данном примере это​ из текстового формата​ тексту) и курса​KuklP​

​.​ грамматические ошибки. Давайте​ ячейка​ в числовой. сейчас​ UAH/USD, который грузится​

​: Дим, EducatedFool(надеюсь не​ дает не правильное​ какие товары в​

​Для функции ТЕКСТ следует​ Then GoTo 10​ shag — 1,​ «: mln(6) =​ = 0, «восемь​ «девятнадцать » End​

​ Сотни = «триста​ число в текст​Главная​После этого, любое число,​

​ выясним, как сделать​E23​ число выглядит так:​

exceltable.com>

Преобразование числа в текст (сумма прописью)

​Число​​ ячейку, указанную вами,​ прописью вносились автоматически.​
​Теперь нужно заполнить формулу​ на запятую не​

​Внимание! Курс UAH/USD​​ замене больших диапазонов​: Безымянный, Вы в​ перевозок представлена ниже:​Значение – числовое значение,​ ‘ — если​

​ «0») Then GoTo​​ Desyatki(7) = «семьдесят​ «восемь долларов»)) Edinicy(9)​
​ End Function Function​

​ » Case 5:​​ простых шага:​щелкните стрелку рядом​ будет отображаться в​Скачать последнюю версию​ вниз. Вот как​
​ помогла, удаление нулей​ устанавливается не за​ формул на значения.​ каждой теме будете​Задача: необходимо дату преобразовать​ ссылка на числовое​ конец триады от​ 10 End If​ «: Sotni(7) =​ = «девять «:​ ИмяРазряда(Строка As String,​ Сотни = «пятьсот​Открыть редактор макросов ALT+F11.​ с полем​ денежном виде прописью​ Excel​ это сделать: Наведите​ также не помогло.​ 1 единицу, а​
​ Я с ним​ отмечаться?​

​ в день недели.​​ значение, формула, результат​ 11 до 19​

​ If shag >​​ «семьсот «: tys(7)​

​ EdinicyPoslednie(9) = IIf(Valuta​ n As String,​ » Case 6:​Создать новый модуль и​

​Числовой формат​​ в том месте,​В Эксель нет встроенного​

​ указатель на правый​​ Данный формат копируется​ за 100 единиц.​ полностью согласен. Только​Вам же написали​ Воспользуемся функцией ТЕКСТ.​

​ которой число.​​ то перескакиваем на​ 1 Then If​ = «тысяч «:​
​ = 0, «девять​ Имя1 As String,​ Сотни = «шестьсот​

​ в нем нужно​​и выберите пункт​ где установлена формула​ инструмента, который бы​

planetaexcel.ru>

Цифры сохранённые текстом перевести в числа

​ нижний угол ячейки,​​ из интернет приложения,​Другими словами: для​ не отвечай, что​
​ — кривая. Зачем​

​Поставим курсор в ячейку​​Формат – числовой формат​

​ единицы, иначе -​​ Mid(SumInt, shag -​
​ mln(7) = «миллионов​ евро», IIf(Valuta =​

​ Имя24 As String,​​ » Case 7:​ написать функцию особенным​Текстовый​
​ функции.​ помогал автоматически переводить​
​ чтобы он принял​ может он и​ получения курса RUB/UAH​ дескать, автору нужно​ еще выкладывать?​
​ D2. Введем знак​ из списка числовые​ формируем десятки Case​ 1, 1) =​
​ «: mlrd(7) =​
​ 1, «девять рублей»,​ ИмяПроч As String)​ Сотни = «семьсот​ способом: Function вместо​.​Функцию можно также записать​
​ цифры в слова.​ вид знака плюс​ не текстовый. пример​ нужно курс RUB/USD​

​ (+).​​ формата приложен в​
​ с ЦБ РФ​ знает , что​: от спасибки так​
​ после него название​
​Рассмотрим на примере работу​

​ единицы If Mid(SumInt,​​ = txt &​
​ = «восемьдесят «:​

​Текстовый​​ Она имеет синтаксис​ специальные надстройки.​ чтобы добавить формулу​Спасибо​ на курс UAH/USD​

​ не получит решение»​​ главное все элементарно​

​ заполняем аргументы:​​ На складе имеется​ 1) <> 1​

​Вставить в модуль следующий​​ прокрутки.​. Таким образом, если​ цифры на буквы​ столбец или скопировать​ 2​Сформулирую вопрос по-другому:​ постулатом.​
​ в числа.​ каждой даты.​

​ «2», «3», «4»:​​ = Right(n, 1)​

​Если вы введете в​​ переходим в раздел​
​Главная​-=60506=-​
​ изучил – оригинально,​ отдельное СПАСИБО!​
​ — поиск и​

​ форматирование с кодами​​Воспользуемся функцией ТЕКСТ. Щелкнем​

​ Int(a) c =​​ ‘ — сотни​ x = Len(SumInt)​ 1, «тринадцать рублей»,​
​ Select End If​

planetaexcel.ru>

​ «двадцать «: n​

  • Excel заменяет дату на число
  • Excel найти минимальное значение в ряду чисел
  • Excel поиск числа в ячейке
  • Excel случайное число
  • Excel перевод в xml
  • Excel число в время в
  • В excel минимальное значение в ряду чисел
  • Excel упорядочить числа по возрастанию в excel
  • Excel число символов в ячейке excel
  • Формула процента от числа в excel
  • Перевод в часы в excel
  • Формула округления в excel до целого числа

Запишем число прописью в Excel без использования VBA . Вспомогательные диапазоны разместим в личной книге макросов. Кроме того, добавим руб./коп. для записи денежных сумм, например: четыреста сорок четыре руб. 00 коп.

Иногда требуется записать число прописью: 256 записать как двести пятьдесят шесть . Набирать этот текст безумно скучно, кроме того легко ошибиться, поэтому давно написаны макросы на VBA, которые легко справляются с этой задачей.

В статье Число прописью (статичный вариант) приведено решение этой задачи позволяющей перевести число в текстовую форму по следующему алгоритму:

  • вводим число в определенную ячейку;
  • с помощью формул, вспомогательных диапазонов с текстом и имен получаем число прописью;
  • копируем результат вычисления формулы (число прописью) в Буфер обмена ;
  • вставляем текст в любую открытую книгу «Как значение» ( Главная/ Буфер обмена/ Вставить/ Вставить как значение ).

Это не всегда удобно. Хочется по аналогии с функциями на VBA написать что то вроде =ЧислоПрописью(А1) и получить результат. Все промежуточные вычисления должны быть «за кадром». Но, создание пользовательских функций это прерогатива VBA.

Тем не менее, можно предложить следующее решение с помощью обычных формул:

  • разместить в Личной книге макросов (PERSONAL.XLSB) вспомогательные диапазоны, содержащие некоторые числа прописью (от 0 до 999);
  • создать формулу, переводящую в текст любое число от 0 до 1 млрд. с помощью вспомогательных диапазонов и имен ;
  • в любой книге, где требуется записать число прописью создать Именованную формулу ЧислоПрописью с относительной ссылкой на исходное число (относительную ссылку можно создать так, чтобы она позволяла выводить число прописью, например, в соседней ячейке слева от исходного числа).

В результате вышеуказанных манипуляций можно будет, например, записав в ячейке G 6 исходное число, а в ячейке G7 формулу =ЧислоПрописью , и получить нужный результат.

Все это реализовано в файле примера .

Как и в примере статьи Число прописью (статичный вариант) на листе Служ размещены вспомогательные диапазоны, содержащие некоторые числа прописью в Excel.

Теперь эти диапазоны длиннее (числа от 1 до 999) и содержат слова тысяча и миллион с учетом склонения. Также создан диапазон для отображения слова Рублей с учетом склонения.

Задача в принципе решена, осталось только разместить вспомогательные диапазоны в Личную книгу макросов PERSONAL.XLSB, для того чтобы формула, переводящая число в текст была доступна в любой книге.

В Windows XP эта книга находится в папке C:\Documents and Settings\имя_пользователя\Application Data\Microsoft\Excel\XLStart, откуда она будет автоматически загружается при каждом запуске приложения Excel. В Windows Vista эта книга хранится в папке C:\Users\имя_пользователя\Application Data\Microsoft\Excel\XLStart.

Если Личная книга макросов еще не была создана, то скопируйте лист Служ из файла примера в новую книгу, и сохраните ее в директорию C:\Documents and Settings\имя_пользователя\Application Data\Microsoft\Excel\XLStart (для XP) под именем PERSONAL.XLSB.

Если Личная книга макросов уже была ранее создана, то через меню Вид/ Окно/ Отобразить отобразите ее, скопируйте в нее лист Служ, сохраните Личную книгу макросов (можно ее потом скрыть Вид/ Окно/ Скрыть ).

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

Чтобы еще больше приблизиться к идеалу создадим именованную формулу ЧислоПрописью . Для этого:

  • выделите ячейку B1 ;
  • через меню Формулы/ Определенные имена/ Присвоить имя создайте именованную формулу ЧислоПрописью;
  • в поле Диапазон введите формулу указанную выше:
  • нажмите ОК;
  • в ячейке В1 введите формулу =ЧислоПрописью
  • ячейка В1 будет содержать число прописью.

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

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

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

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

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

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

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

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

Это звучит невероятно — такая формула существует. Но для того, чтобы она работала, необходимо создать в книге 10 именованных диапазонов со служебными данными. Функционал находится во вкладке «Формулы».

Как добавить именованные диапазоны в книгу

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

После добавления всех диапазонов окошко будет выглядеть так:

И наконец-то можно будет применить формулу ниже. В данном примере — к ячейке A1:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);2;1)+1;ПСТР(ТЕКСТ(A1;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);1;3);»миллиард»&ВПР(ПСТР(ТЕКСТ(A1;n0);3;1)*И(ПСТР(ТЕКСТ(A1;n0);2;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);5;1)+1;ПСТР(ТЕКСТ(A1;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);4;3);»миллион»&ВПР(ПСТР(ТЕКСТ(A1;n0);6;1)*И(ПСТР(ТЕКСТ(A1;n0);5;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A1;n0);8;1)+1;ПСТР(ТЕКСТ(A1;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A1;n0);7;3);ВПР(ПСТР(ТЕКСТ(A1;n0);9;1)*И(ПСТР(ТЕКСТ(A1;n0);8;1)-1);тыс;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A1;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A1;n0);11;1)+1;ПСТР(ТЕКСТ(A1;n0);12;1)+1));»z»;» «)&ЕСЛИ(ОТБР(ТЕКСТ(A1;n0));»»;»Ноль «)&»рубл»&ВПР(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A1;n0);11;2)-11;100);9);10);{0;»ь «:1;»я «:4;»ей «};2)&ПРАВСИМВ(ТЕКСТ(A1;n0);2)&» копе»&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВСИМВ(ТЕКСТ(A1;n0);2)-11;100);9);10);{0;»йка»:1;»йки»:4;»ек»};2);»один тысяча»;»одна тысяча»)

VBA-процедура для суммы прописью

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

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

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

  1. Открываем программу Excel и переходим во вкладку «Файл».
  2. Перемещаемся в раздел «Параметры».
  3. В активном окне параметров переходим в раздел «Надстройки».
  4. Далее, в параметре настроек «Управление» устанавливаем значение «Надстройки Excel». Жмем на кнопку «Перейти…».
  5. Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».
  6. В открывшемся окне ищем предварительно скачанный и сохраненный на жесткий диск компьютера файл надстройки NUM2TEXT.xla. Выделяем его и жмем на кнопку «OK».
  7. Мы видим, что данный элемент появился среди доступных надстроек. Ставим галочку около пункта NUM2TEXT и жмем на кнопку «OK».
  8. Для того, чтобы проверить как работает только что установленная надстройка пишем в любой свободной ячейке листа произвольное число. Выделяем любую другую ячейку. Кликаем по значку «Вставить функцию». Он расположен слева от строки формул.
  9. Запускается Мастер функций. В полном алфавитном перечне функций ищем запись «Сумма_прописью». Её раньше не было, но она появилась тут после установки надстройки. Выделяем эту функцию. Жмем на кнопку «OK».
  10. Отрывается окно аргументов функции Сумма_прописью. Оно содержит только одно поле «Сумма». Сюда можно записать обычное число. Оно в выделенной ячейке отобразиться в формате записанной прописью денежной суммы в рублях и копейках.
  11. После этого, любое число, которое записано в ячейку, указанную вами, будет отображаться в денежном виде прописью в том месте, где установлена формула функции.

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

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

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

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

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

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

Для начала нужно открыть Эксель и написать какое-нибудь число.

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

Num2Text

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

Будьте внимательны. Скачивайте только те файлы, у которых расширение xla, а не exe, поскольку во втором случае там могут быть вирусы.

После этого нужно сделать следующее:

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

На этом этап подготовки завершен. Теперь Excel сможет делать перевод цифр в текстовый вид.

Создание простой формулы

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

  1. Перейдите на любую соседнюю ячейку. Кликните на иконку «Fx».
  1. В появившемся окне в разделе категории выберите пункт «Полный алфавитный перечень».
  1. Найдите там функцию «Сумма_прописью». Выберите её и нажмите на «OK».
  1. После этого появится окно, в котором нужно указать аргументы функции. Следует указать ячейку, значение которой должно писаться прописью. Для этого достаточно кликнуть на неё.
  1. Сразу после этого адрес ячейки подставится автоматически. Для продолжения кликните «OK».
  1. В результате этого вы увидите вашу сумму прописью. Вплоть до копеек. Благодаря этому можно переводить даже дробные числа.
  1. Попробуйте изменить ваше значение на любое другое. Сумма прописью изменится мгновенно.

Сумма ячеек

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

  1. Проставьте цифры в 4 ячейки подряд.
  1. Кликните на ячейку, в которой вы работали до этого. Скопируйте формулу при помощи сочетания клавиш Ctrl+C.
  1. После этого перейдите в другую ячейку, чтобы создать новую формулу. Активируйте строку ввода уравнений.
  1. Нажмите на клавиатуре на кнопки Ctrl+V.
  1. Удаляем аргумент функции, то есть «C4» в нашем случае. Вместо этого в скобке пишем обычную формулу суммы, которая будет считать диапазон наших ячеек.

=Сумма_прописью(СУММ(A4:D4))

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

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

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. Результат будет следующим.

Обратите внимание на то, что количество центов (копеек) выводится всегда. Даже если их 0.

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

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

  1. Перейдите на последнюю строчку и нажмите на иконку «Fx».
  1. Выберите последнюю функцию.
  1. В качестве аргумента укажите последнее оставшееся число.
  1. Для вставки нажмите на кнопку «OK».

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

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

Платные модули

Описанные выше надстройки были бесплатными. В интернете можно найти и более мощные инструменты, но за определенную плату.

На сайте PlanetaExcel продается надстройка PLEX.

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

На момент публикации статьи стоимость надстройки оценивается в 795 рублей.

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

Прочитав данную инструкцию, вы должны были понять, как настроить редактор 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. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!

Познакомимся с вариантами преобразования формулы Excel в текст (в результате получается не значение ячейки, а формульное выражение в текстовом виде, например, «=A1+A2», «=СЕГОДНЯ()» и т.д.).

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

Преобразование формулы в текст в Excel

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

  • Поменять формат ячейки на текстовый, а затем произвести вычисление формулы;При этом для каждой ячейки нужно будет вручную производить изменение.
  • Добавить апостроф (символ «‘») перед знаком равно (символ «=») в формульном выражении.В данном варианте подставить апостроф можно как вручную, так и через замену («=» на «‘=» с помощью инструмента «Найти и заменить»).

Теперь перейдем к более общему случаю и рассмотрим 2 основных варианта перевода формулы в текст (т.е. получить текстовую запись):

  • Функция Ф.ТЕКСТ (доступна начиная с версии Excel 2013);
  • Пользовательская функция (UDF).

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

Функция Ф.ТЕКСТ в Excel

Начиная с версии Excel 2013 для применения доступна функция Ф.ТЕКСТ (FORMULATEXT в английской версии):

Ф.ТЕКСТ(ссылка)
Возвращает формулу в виде строки.

  • Ссылка (обязательный аргумент) — ссылка на ячейку или диапазон ячеек.

Перейдем к примерам. Применим Ф.ТЕКСТ, в качестве аргумента укажем ссылку на произвольную ячейку, где содержится какое-либо формульное выражение:

При этом в зависимости от выбранного у вас параметра отображения стиля ссылок (A1 или R1C1) формула автоматически будет подстраиваться под формат записи:

Замечания

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

  • Аргумент «Ссылка» может ссылаться на другие листы и книги;
  • Если аргумент «Ссылка» не содержит формульное выражение или содержит ссылку на закрытую книгу, то в результате будет возвращено значение ошибки.

Пользовательская функция (UDF)

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

Перейдем в редактор Visual Basic (сочетание клавиш Alt + F11), вставляем новый модуль и добавляем следующий код:

Public Function FText(myRange As Range) As String

FText = myRange.FormulaLocal

End Function

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

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

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

  • Formula — формат A1 (англоязычная формула);
  • FormulaR1C1 — формат R1C1 (англоязычная);
  • FormulaLocal — формат A1 (неанглоязычная/местная);
  • FormulaR1C1Local — формат R1C1 (неанглоязычная/местная).

Выбираем необходимый формат записи, корректируем код FText в VBA и на выходе получаем итоговое преобразование:

Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

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

Процедура вставки текста около формулы

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

Способ 1: использование амперсанда

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

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

  1. Активируем ячейку, содержащую формульное выражение. Для этого либо производим по ней двойной щелчок левой кнопкой мыши, либо выделяем и жмем на функциональную клавишу F2. Также можно просто выделить ячейку, а потом поместить курсор в строку формул.
  2. Сразу после формулы ставим знак амперсанд (&). Далее в кавычках записываем слово «рублей». При этом кавычки не будут отображаться в ячейке после числа выводимого формулой. Они просто служат указателем для программы, что это текст. Для того, чтобы вывести результат в ячейку, щелкаем по кнопке Enter на клавиатуре.
  3. Как видим, после этого действия, вслед за числом, которое выводит формула, находится пояснительная надпись «рублей». Но у этого варианта есть один видимый недостаток: число и текстовое пояснение слились воедино без пробела.

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

  4. Но из сложившейся ситуации все-таки существует выход. Снова активируем ячейку, которая содержит формульное и текстовое выражения. Сразу после амперсанда открываем кавычки, затем устанавливаем пробел, кликнув по соответствующей клавише на клавиатуре, и закрываем кавычки. После этого снова ставим знак амперсанда (&). Затем щелкаем по клавише Enter.
  5. Как видим, теперь результат вычисления формулы и текстовое выражение разделены пробелом.

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

При написании текста перед формулой придерживаемся следующего синтаксиса. Сразу после знака «=» открываем кавычки и записываем текст. После этого закрываем кавычки. Ставим знак амперсанда. Затем, в случае если нужно внести пробел, открываем кавычки, ставим пробел и закрываем кавычки. Щелкаем по клавише Enter.

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

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

Способ 2: применение функции СЦЕПИТЬ

Также для вставки текста вместе с результатом подсчета формулы можно использовать функцию СЦЕПИТЬ. Данный оператор предназначен для того, чтобы соединять в одной ячейке значения, выводимые в нескольких элементах листа. Он относится к категории текстовых функций. Его синтаксис следующий:

=СЦЕПИТЬ(текст1;текст2;…)

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

Посмотрим, как работает данная функция на практике. Для примера возьмем все ту же таблицу, только добавим в неё ещё один столбец «Общая сумма затрат» с пустой ячейкой.

  1. Выделяем пустую ячейку столбца «Общая сумма затрат». Щелкаем по пиктограмме «Вставить функцию», расположенную слева от строки формул.
  2. Производится активация Мастера функций. Перемещаемся в категорию «Текстовые». Далее выделяем наименование «СЦЕПИТЬ» и жмем на кнопку «OK».
  3. Запускается окошко аргументов оператора СЦЕПИТЬ. Данное окно состоит из полей под наименованием «Текст». Их количество достигает 255, но для нашего примера понадобится всего три поля. В первом мы разместим текст, во втором – ссылку на ячейку, в которой содержится формула, и в третьем опять разместим текст.

    Устанавливаем курсор в поле «Текст1». Вписываем туда слово «Итого». Писать текстовые выражения можно без кавычек, так как программа проставит их сама.

    Потом переходим в поле «Текст2». Устанавливаем туда курсор. Нам нужно тут указать то значение, которое выводит формула, а значит, следует дать ссылку на ячейку, её содержащую. Это можно сделать, просто вписав адрес вручную, но лучше установить курсор в поле и кликнуть по ячейке, содержащей формулу на листе. Адрес отобразится в окошке аргументов автоматически.

    В поле «Текст3» вписываем слово «рублей».

    После этого щелкаем по кнопке «OK».

  4. Результат выведен в предварительно выделенную ячейку, но, как видим, как и в предыдущем способе, все значения записаны слитно без пробелов.
  5. Для того, чтобы решить данную проблему, снова выделяем ячейку, содержащую оператор СЦЕПИТЬ и переходим в строку формул. Там после каждого аргумента, то есть, после каждой точки с запятой добавляем следующее выражение:

    » «;

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

    =СЦЕПИТЬ(«Итого»;» «;D2;» «;»рублей»)

    Щелкаем по клавише ENTER. Теперь наши значения разделены пробелами.

  6. При желании можно спрятать первый столбец «Общая сумма затрат» с исходной формулой, чтобы он не занимал лишнее место на листе. Просто удалить его не получится, так как это нарушит функцию СЦЕПИТЬ, но убрать элемент вполне можно. Кликаем левой кнопкой мыши по сектору панели координат того столбца, который следует скрыть. После этого весь столбец выделяется. Щелкаем по выделению правой кнопкой мыши. Запускается контекстное меню. Выбираем в нем пункт «Скрыть».
  7. После этого, как видим, ненужный нам столбец скрыт, но при этом данные в ячейке, в которой расположена функция СЦЕПИТЬ отображаются корректно.

Читайте также: Функция СЦЕПИТЬ в Экселе
Как скрыть столбцы в Экселе

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

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Здесь можно получить ответы на вопросы по Microsoft Excel 58510 478918

8 Ноя 2018 19:00:01

44519 357828

29 Янв 2017 17:28:40

Лучшие избранные темы с основного форума 14 80

28 Июн 2018 15:25:11

Если вы — счастливый обладатель Mac 😉 219 1065

25 Окт 2018 09:26:29

Раздел для размещения платных вопросов, проектов и задач и поиска исполнителей для них. 2138 13647

8 Ноя 2018 16:58:12

Если Вы скачали или приобрели надстройку PLEX для Microsoft Excel и у Вас есть вопросы или пожелания — Вам сюда. 316 1615

6 Ноя 2018 20:49:07

820 11946

8 Ноя 2018 15:55:43

Обсуждение функционала, правил и т.д. 270 3481

30 Окт 2018 15:01:36

Сейчас на форуме (гостей: 1220, пользователей: 17, из них скрытых: 3) , , , , , , , , , , , , ,

Сегодня отмечают день рождения (41), (32), (3), (39), (38), (33), (28)

Всего зарегистрированных пользователей: 83822

Приняло участие в обсуждении: 32154

Всего тем: 106806