Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Если вы хотите, чтобы в Excel числа определенных типов воспринимались как текст, используйте вместо числового формата текстовый. Например, при использовании номеров кредитных карт или других числового кода, содержащих не менее 16 цифр, необходимо использовать текстовый формат. Это происходит потому Excel что точность не может быть больше 15 цифр, и она округлит все числа после 15-й цифры до нуля, что, вероятно, вас не захотнет.
Если число имеет текстовый формат, это легко определить, поскольку число будет выровнено в ячейке по левому краю, а не по правому.
-
Выберем ячейку или диапазон, которые содержат числа, которые вы хотите отформать как текст. Выбор ячеек или диапазона.
Совет: Можно также выделить пустые ячейки, отформатировать их как текст, а затем ввести числа. Такие числа будут иметь текстовый формат.
-
На вкладке Главная в группе Число щелкните стрелку рядом с полем Числовом формате и выберите текст.
Примечание: Если вы не видите параметр Текст, прокрутите список с помощью ручений.
Советы:
-
Чтобы использовать десятичные знаки в числах, хранящихся как текст, возможно, придется вводить эти числа с десятичными разделителями.
-
При вводе числа, начинающегося с нуля (например, кода продукта), этот ноль по умолчанию удаляется. Если требуется сохранить ноль, можно создать пользовательский числовой формат, который не позволит приложению Excel удалять начальные нули в числах. Например, при вводе десятизначного кода продукта Excel по умолчанию изменяет число 0784367998 на 784367998. В данном случае можно создать пользовательский числовой формат с кодом 0000000000, чтобы в Excel отображались все десять знаков кода продукта, включая начальный ноль. Дополнительные сведения об этой проблеме см. в статьях Создание и удаление пользовательских числовых форматов и Сохранение начальных нулей в числовых кодах.
-
Иногда числа могут быть отформатированы и сохранены в ячейках как текст, что впоследствии может привести к проблемам при вычислениях или беспорядку при сортировке. Это иногда случается при импорте или копировании чисел из базы данных или другого источника данных. В такой ситуации требуется обратное преобразование чисел, сохраненных в виде текста, в числовой формат. Дополнительные сведения см. в статье Преобразование чисел из текстового формата в числовой.
-
Вы также можете использовать функцию ТЕКСТ для преобразования числа в текст с определенным числовым форматом. Примеры использования этого метода см. в статье Сохранение начальных нулей в числовых кодах. Сведения об использовании функции ТЕКСТ см. в документе Функция ТЕКСТ.
Нужна дополнительная помощь?
Содержание
- Конвертация числа в текстовый вид
- Способ 1: форматирование через контекстное меню
- Способ 2: инструменты на ленте
- Способ 3: использование функции
- Конвертация текста в число
- Способ 1: преобразование с помощью значка об ошибке
- Способ 2: конвертация при помощи окна форматирования
- Способ 3: конвертация посредством инструментов на ленте
- Способ 4: применение формулы
- Способ 5: применение специальной вставки
- Способ 6: использование инструмента «Текст столбцами»
- Способ 7: применение макросов
- Вопросы и ответы
Одной из частых задач, с которыми сталкиваются пользователи программы Эксель, является преобразования числовых выражений в текстовый формат и обратно. Этот вопрос часто заставляет потратить на решение много времени, если юзер не знает четкого алгоритма действий. Давайте разберемся, как можно решить обе задачи различными способами.
Конвертация числа в текстовый вид
Все ячейки в Экселе имеют определенный формат, который задает программе, как ей рассматривать то или иное выражение. Например, даже если в них будут записаны цифры, но формат выставлен текстовый, то приложение будет рассматривать их, как простой текст, и не сможет проводить с такими данными математические вычисления. Для того, чтобы Excel воспринимал цифры именно как число, они должны быть вписаны в элемент листа с общим или числовым форматом.
Для начала рассмотрим различные варианты решения задачи конвертации чисел в текстовый вид.
Способ 1: форматирование через контекстное меню
Чаще всего пользователи выполняют форматирование числовых выражений в текстовые через контекстное меню.
- Выделяем те элементы листа, в которых нужно преобразовать данные в текст. Как видим, во вкладке «Главная» на панели инструментов в блоке «Число» в специальном поле отображается информация о том, что данные элементы имеют общий формат, а значит, цифры, вписанные в них, воспринимаются программой, как число.
- Кликаем правой кнопкой мыши по выделению и в открывшемся меню выбираем позицию «Формат ячеек…».
- В открывшемся окне форматирования переходим во вкладку «Число», если оно было открыто в другом месте. В блоке настроек «Числовые форматы» выбираем позицию «Текстовый». Для сохранения изменений жмем на кнопку «OK» в нижней части окна.
- Как видим, после данных манипуляций в специальном поле высвечивается информация о том, что ячейки были преобразованы в текстовый вид.
- Но если мы попытаемся подсчитать автосумму, то она отобразится в ячейке ниже. Это означает, что преобразование было совершено не полностью. В этом и заключается одна из фишек Excel. Программа не дает завершить преобразование данных наиболее интуитивно понятным способом.
- Чтобы завершить преобразование, нам нужно последовательно двойным щелчком левой кнопки мыши поместить курсор в каждый элемент диапазона в отдельности и нажать на клавишу Enter. Чтобы упростить задачу вместо двойного щелчка можно использовать нажатие функциональной клавиши F2.
- После выполнения данной процедуры со всеми ячейками области, данные в них будут восприниматься программой, как текстовые выражения, а, следовательно, и автосумма будет равна нулю. Кроме того, как видим, левый верхний угол ячеек будет окрашен в зеленый цвет. Это также является косвенным признаком того, что элементы, в которых находятся цифры, преобразованы в текстовый вариант отображения. Хотя этот признак не всегда является обязательным и в некоторых случаях такая пометка отсутствует.
Урок: Как изменить формат в Excel
Способ 2: инструменты на ленте
Преобразовать число в текстовый вид можно также воспользовавшись инструментами на ленте, в частности, использовав поле для показа формата, о котором шел разговор выше.
- Выделяем элементы, данные в которых нужно преобразовать в текстовый вид. Находясь во вкладке «Главная» кликаем по пиктограмме в виде треугольника справа от поля, в котором отображается формат. Оно расположено в блоке инструментов «Число».
- В открывшемся перечне вариантов форматирования выбираем пункт «Текстовый».
- Далее, как и в предыдущем способе, последовательно устанавливаем курсор в каждый элемент диапазона двойным щелчком левой кнопки мыши или нажатием клавиши F2, а затем щелкаем по клавише Enter.
Данные преобразовываются в текстовый вариант.
Способ 3: использование функции
Ещё одним вариантом преобразования числовых данных в тестовые в Экселе является применение специальной функции, которая так и называется – ТЕКСТ. Данный способ подойдёт, в первую очередь, если вы хотите перенести числа как текст в отдельный столбец. Кроме того, он позволит сэкономить время на преобразовании, если объем данных слишком большой. Ведь, согласитесь, что перещелкивать каждую ячейку в диапазоне, насчитывающем сотни или тысячи строк – это не самый лучший выход.
- Устанавливаем курсор в первый элемент диапазона, в котором будет выводиться результат преобразования. Щелкаем по значку «Вставить функцию», который размещен около строки формул.
- Запускается окно Мастера функций. В категории «Текстовые» выделяем пункт «ТЕКСТ». После этого кликаем по кнопке «OK».
- Открывается окно аргументов оператора ТЕКСТ. Данная функция имеет следующий синтаксис:
=ТЕКСТ(значение;формат)
Открывшееся окно имеет два поля, которые соответствуют данным аргументам: «Значение» и «Формат».
В поле «Значение» нужно указать преобразовываемое число или ссылку на ячейку, в которой оно находится. В нашем случае это будет ссылка на первый элемент обрабатываемого числового диапазона.
В поле «Формат» нужно указать вариант отображения результата. Например, если мы введем «0», то текстовый вариант на выходе будет отображаться без десятичных знаков, даже если в исходнике они были. Если мы внесем «0,0», то результат будет отображаться с одним десятичным знаком, если «0,00», то с двумя, и т.д.
После того, как все требуемые параметры введены, щелкаем по кнопке «OK».
- Как видим, значение первого элемента заданного диапазона отобразилось в ячейке, которую мы выделили ещё в первом пункте данного руководства. Для того, чтобы перенести и другие значения, нужно скопировать формулу в смежные элементы листа. Устанавливаем курсор в нижний правый угол элемента, который содержит формулу. Курсор преобразуется в маркер заполнения, имеющий вид небольшого крестика. Зажимаем левую кнопку мыши и протаскиваем по пустым ячейкам параллельно диапазону, в котором находятся исходные данные.
- Теперь весь ряд заполнен требуемыми данными. Но и это ещё не все. По сути, все элементы нового диапазона содержат в себе формулы. Выделяем эту область и жмем на значок «Копировать», который расположен во вкладке «Главная» на ленте инструментов группе «Буфер обмена».
- Далее, если мы хотим сохранить оба диапазона (исходный и преобразованный), не снимаем выделение с области, которая содержит формулы. Кликаем по ней правой кнопкой мыши. Происходит запуск контекстного списка действий. Выбираем в нем позицию «Специальная вставка». Среди вариантов действий в открывшемся списке выбираем «Значения и форматы чисел».
Если же пользователь желает заменить данные исходного формата, то вместо указанного действия нужно выделить именно его и произвести вставку тем же способом, который указан выше.
- В любом случае, в выбранный диапазон будут вставлены данные в текстовом виде. Если же вы все-таки выбрали вставку в исходную область, то ячейки, содержащие формулы, можно очистить. Для этого выделяем их, кликаем правой кнопкой мыши и выбираем позицию «Очистить содержимое».
На этом процедуру преобразования можно считать оконченной.
Урок: Мастер функций в Excel
Конвертация текста в число
Теперь давайте разберемся, какими способами можно выполнить обратную задачу, а именно как преобразовать текст в число в Excel.
Способ 1: преобразование с помощью значка об ошибке
Проще и быстрее всего выполнить конвертацию текстового варианта с помощью специального значка, который сообщает об ошибке. Этот значок имеет вид восклицательного знака, вписанного в пиктограмму в виде ромба. Он появляется при выделении ячеек, которые имеют пометку в левом верхнем углу зеленым цветом, обсуждаемую нами ранее. Эта пометка ещё не свидетельствует о том, что данные находящиеся в ячейке обязательно ошибочные. Но цифры, расположенные в ячейке имеющей текстовый вид, вызывают подозрения у программы в том, что данные могут быть внесены некорректно. Поэтому на всякий случай она их помечает, чтобы пользователь обратил внимание. Но, к сожалению, такие пометки Эксель выдает не всегда даже тогда, когда цифры представлены в текстовом виде, поэтому ниже описанный способ подходит не для всех случаев.
- Выделяем ячейку, в которой содержится зеленый индикатор о возможной ошибке. Кликаем по появившейся пиктограмме.
- Открывается список действий. Выбираем в нем значение «Преобразовать в число».
- В выделенном элементе данные тут же будут преобразованы в числовой вид.
Если подобных текстовых значений, которые следует преобразовать, не одно, а множество, то в этом случае можно ускорить процедуру преобразования.
- Выделяем весь диапазон, в котором находятся текстовые данные. Как видим, пиктограмма появилась одна для всей области, а не для каждой ячейки в отдельности. Щелкаем по ней.
- Открывается уже знакомый нам список. Как и в прошлый раз, выбираем позицию «Преобразовать в число».
Все данные массива будут преобразованы в указанный вид.
Способ 2: конвертация при помощи окна форматирования
Как и для преобразования данных из числового вида в текст, в Экселе существует возможность обратного конвертирования через окно форматирования.
- Выделяем диапазон, содержащий цифры в текстовом варианте. Кликаем правой кнопкой мыши. В контекстном меню выбираем позицию «Формат ячеек…».
- Выполняется запуск окна форматирования. Как и в предыдущий раз, переходим во вкладку «Число». В группе «Числовые форматы» нам нужно выбрать значения, которые позволят преобразовать текст в число. К ним относится пункты «Общий» и «Числовой». Какой бы из них вы не выбрали, программа будет расценивать цифры, введенные в ячейку, как числа. Производим выбор и жмем на кнопку. Если вы выбрали значение «Числовой», то в правой части окна появится возможность отрегулировать представление числа: выставить количество десятичных знаков после запятой, установить разделителями между разрядами. После того, как настройка выполнена, жмем на кнопку «OK».
- Теперь, как и в случае преобразования числа в текст, нам нужно прощелкать все ячейки, установив в каждую из них курсор и нажав после этого клавишу Enter.
После выполнения этих действий все значения выбранного диапазона преобразуются в нужный нам вид.
Способ 3: конвертация посредством инструментов на ленте
Перевести текстовые данные в числовые можно, воспользовавшись специальным полем на ленте инструментов.
- Выделяем диапазон, который должен подвергнуться трансформации. Переходим во вкладку «Главная» на ленте. Кликаем по полю с выбором формата в группе «Число». Выбираем пункт «Числовой» или «Общий».
- Далее прощелкиваем уже не раз описанным нами способом каждую ячейку преобразуемой области с применением клавиш F2 и Enter.
Значения в диапазоне будут преобразованы из текстовых в числовые.
Способ 4: применение формулы
Также для преобразования текстовых значений в числовые можно использовать специальные формулы. Рассмотрим, как это сделать на практике.
- В пустой ячейке, расположенной параллельно первому элементу диапазона, который следует преобразовать, ставим знак «равно» (=) и двойной символ «минус» (—). Далее указываем адрес первого элемента трансформируемого диапазона. Таким образом, происходит двойное умножение на значение «-1». Как известно, умножение «минус» на «минус» дает «плюс». То есть, в целевой ячейке мы получаем то же значение, которое было изначально, но уже в числовом виде. Даная процедура называется двойным бинарным отрицанием.
- Жмем на клавишу Enter, после чего получаем готовое преобразованное значение. Для того, чтобы применить данную формулу для всех других ячеек диапазона, используем маркер заполнения, который ранее был применен нами для функции ТЕКСТ.
- Теперь мы имеем диапазон, который заполнен значениями с формулами. Выделяем его и жмем на кнопку «Копировать» во вкладке «Главная» или применяем сочетание клавиш Ctrl+C.
- Выделяем исходную область и производим щелчок по ней правой кнопкой мыши. В активировавшемся контекстном списке переходим по пунктам «Специальная вставка» и «Значения и форматы чисел».
- Все данные вставлены в нужном нам виде. Теперь можно удалить транзитный диапазон, в котором находится формула двойного бинарного отрицания. Для этого выделяем данную область, кликом правой кнопки мыши вызываем контекстное меню и выбираем в нем позицию «Очистить содержимое».
Кстати, для преобразования значений данным методом совсем не обязательно использовать исключительно двойное умножение на «-1». Можно применять любое другое арифметическое действие, которое не ведет к изменению значений (сложение или вычитание нуля, выполнение возведения в первую степень и т.д.)
Урок: Как сделать автозаполнение в Excel
Способ 5: применение специальной вставки
Следующий способ по принципу действия очень похож на предыдущий с той лишь разницей, что для его использования не нужно создавать дополнительный столбец.
- В любую пустую ячейку на листе вписываем цифру «1». Затем выделяем её и жмем на знакомый значок «Копировать» на ленте.
- Выделяем область на листе, которую следует преобразовать. Кликаем по ней правой кнопкой мыши. В открывшемся меню дважды переходим по пункту «Специальная вставка».
- В окне специальной вставки выставляем переключатель в блоке «Операция» в позицию «Умножить». Вслед за этим жмем на кнопку «OK».
- После этого действия все значения выделенной области будут преобразованы в числовые. Теперь при желании можно удалить цифру «1», которую мы использовали в целях конвертации.
Способ 6: использование инструмента «Текст столбцами»
Ещё одним вариантом, при котором можно преобразовать текст в числовой вид, является применение инструмента «Текст столбцами». Его есть смысл использовать тогда, когда вместо запятой в качестве разделителя десятичных знаков используется точка, а в качестве разделителя разрядов вместо пробела – апостроф. Этот вариант воспринимается в англоязычном Экселе, как числовой, но в русскоязычной версии этой программы все значения, которые содержат указанные выше знаки, воспринимаются как текст. Конечно, можно перебить данные вручную, но если их много, это займет значительное количество времени, тем более что существует возможность гораздо более быстрого решения проблемы.
- Выделяем фрагмент листа, содержимое которого нужно преобразовать. Переходим во вкладку «Данные». На ленте инструментов в блоке «Работа с данными» кликаем по значку «Текст по столбцам».
- Запускается Мастер текстов. В первом окне обратите внимание, чтобы переключатель формата данных стоял в позиции «С разделителями». По умолчанию он должен находиться в этой позиции, но проверить состояние будет не лишним. Затем кликаем по кнопке «Далее».
- Во втором окне также оставляем все без изменений и жмем на кнопку «Далее».
- А вот после открытия третьего окна Мастера текстов нужно нажать на кнопку «Подробнее».
- Открывается окно дополнительной настройки импорта текста. В поле «Разделитель целой и дробной части» устанавливаем точку, а в поле «Разделитель разрядов» — апостроф. Затем делаем один щелчок по кнопке «OK».
- Возвращаемся в третье окно Мастера текстов и жмем на кнопку «Готово».
- Как видим, после выполнения данных действий числа приняли привычный для русскоязычной версии формат, а это значит, что они одновременно были преобразованы из текстовых данных в числовые.
Способ 7: применение макросов
Если вам часто приходится преобразовывать большие области данных из текстового формата в числовой, то имеется смысл в этих целях записать специальный макрос, который будет использоваться при необходимости. Но для того, чтобы это выполнить, прежде всего, нужно в своей версии Экселя включить макросы и панель разработчика, если это до сих пор не сделано.
- Переходим во вкладку «Разработчик». Жмем на значок на ленте «Visual Basic», который размещен в группе «Код».
- Запускается стандартный редактор макросов. Вбиваем или копируем в него следующее выражение:
Sub Текст_в_число()
Selection.NumberFormat = "General"
Selection.Value = Selection.Value
End Sub
После этого закрываем редактор, выполнив нажатие стандартной кнопки закрытия в верхнем правом углу окна.
- Выделяем фрагмент на листе, который нужно преобразовать. Жмем на значок «Макросы», который расположен на вкладке «Разработчик» в группе «Код».
- Открывается окно записанных в вашей версии программы макросов. Находим макрос с наименованием «Текст_в_число», выделяем его и жмем на кнопку «Выполнить».
- Как видим, тут же происходит преобразование текстового выражения в числовой формат.
Урок: Как создать макрос в Экселе
Как видим, существует довольно много вариантов преобразования в Excel цифр, которые записаны в числовом варианте, в текстовый формат и в обратном направлении. Выбор определенного способа зависит от многих факторов. Прежде всего, это поставленная задача. Ведь, например, быстро преобразовать текстовое выражение с иностранными разделителями в числовое можно только использовав инструмент «Текст столбцами». Второй фактор, который влияет на выбор варианта – это объемы и частота выполняемых преобразований. Например, если вы часто используете подобные преобразования, имеет смысл произвести запись макроса. И третий фактор – индивидуальное удобство пользователя.
- Число прописью в Excel – формула
- Сумма прописью с копейками в Excel
- В русских рублях, все буквы строчные
- В русских рублях, первая буква заглавная
- В русских рублях с копейками прописью
- В белорусских рублях
- Сумма прописью — формула для Openoffice Calc
- Сумма прописью в Google Spreadsheets
- UDF-функции надстройки !SEMTools
- Процедуры !SEMTools
- Перевод чисел прописью в другие падежи
Число или сумма прописью — в ручном исполнении — непростая задача. А если его нужно печатать десятки раз на дню и с множеством документов, точно нужна автоматизация.
Идеальным решением была бы формула в Excel.
Есть ли такая формула? Да! А главное, что вам делать ничего не придется (только скопировать), потому что я уже сделал её за вас! Но обо всем по порядку.
Если попытаться описать алгоритм, который будет учитывать все нюансы написания числа или суммы прописью, окажется, что все на так просто, как кажется:
- в зависимости от того, на какую цифру заканчивается число, его падеж и число могут быть:
- единственное, именительный (двадцать один рубль)
- единственное, родительный (двадцать два/три/четыре рубля)
- множественное, родительный (двадцать, двадцать пять/шесть/семь/восемь/девять рублей)
- При этом даже из этого правила уже есть исключения – числа от 11 до 14 – множественного числа, хотя числа от 1 до 4 – единственного.
- Ноль пишется цифрами, но не пишется прописью. Кроме случая с копейками – там он пишется в прописи, но цифрами.
- При этом от нуля может зависеть то, как будет выглядеть число или сумма прописью.
- Копейки женского рода, а рубли – мужского. Одна копейка, но один рубль.
И это далеко не все нюансы. Есть ли варианты, которые их все учитывают?
Большинство руководств в интернете предлагают надстройки. Также предлагаются формулы на основе именованных диапазонов.
Но зачастую необходимо обмениваться файлами между разными компьютерами, и в таких случаях формулы попросту “полетят”, и данные будут повреждены, т.к. вместе с файлом нужно будет портировать и код надстроек, что никто делать обычно не будет.
В случае с именованными диапазонами – нужно будет создавать их заново (а их около десятка!).
Возможна ли формула без применения VBA, макросов и надстроек?
Черт возьми, да! Я долго размышлял, прежде чем ее сделать, но мне это удалось.
Вот эта формула! Вставьте ее в любую ячейку, кроме A1, т.к. она преобразует значение этой самой ячейки:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ЦЕЛОЕ(A1))>6;РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);1;ДЛСТР(ЦЕЛОЕ(A1))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-2;3)+0);ЕСЛИ(ДЛСТР(ЦЕЛОЕ(A1))>3;РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);1;ДЛСТР(ЦЕЛОЕ(A1))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-2;3)+0);РИМСКОЕ(ЦЕЛОЕ(A1))));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")
Формула работает с любыми целыми числами от 1 до миллиарда, не включая его. Если дано число с десятичными знаками после запятой, формула берет только целую часть, иными словами, округляет всегда вниз.
Если вы хотите округлять такие числа обычным округлением по математическим правилам, замените процедурой найти и заменить во всей формуле:
на
Сумма прописью с копейками в Excel
Для записи суммы прописью с копейками по всем канонам, нужно соблюсти ряд условий:
- Рубли пишутся словами, первая буква обычно заглавная;
- Словоформа слова “рубль” должна соответствовать количеству;
- Копейки пишутся цифрами, но падеж и число слова “копейка” тоже должны соответствовать числу.
Трудно в это поверить, но и такая формула тоже существует. Аналогично, без применения VBA, макросов и надстроек.
Формула огромна, но замечательно справляется с любыми суммами до миллиарда. Работать будет в любой версии Excel от 2007 и старше – в 2003 не была доступна такая глубина вложений функций.
Вот и она, просто скопируйте ее, и она преобразует числовое значение ячейки A1 в сумму прописью с копейками.
В русских рублях, все буквы строчные
Формула выводит сумму в рублях, копейки оставляет цифрами. Если регистр первой буквы не важен, можно использовать её.
Тройной клик по формуле выделит её целиком
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек")
В русских рублях, первая буква заглавная
В Excel нет простой функции, которая бы позволила сделать только первую букву ячейки заглавной, поэтому в первой конфигурации формула была в 2 раза длиннее из-за использования ЛЕВСИМВ и ДЛСТР.
Но в комментариях было предложено отличное решение – функцией ПОДСТАВИТЬ заменить пробелы на букву, которой в числах нет (например, Ф или Z), что сделает все как бы одним словом, на результате использовать функцию ПРОПНАЧ, и после заменить букву обратно на пробелы. Сейчас используется этот вариант формулы, он короче.
Тройной клик по формуле выделит её целиком.
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРОПНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек");" ";"Z"));"z";" ");"Z";" ")
В русских рублях с копейками прописью
Если нужно, чтобы копейки тоже были написаны прописью, то формула будет чуть длиннее, такой:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРОПНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2))="1";ИНДЕКС({"десять";"одиннадцать";"двенадцать";"тринадцать";"четырнадцать";"пятнадцать";"шестнадцать";"семнадцать";"восемнадцать";"девятнадцать"};ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)-9);ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2));"2";"двадцать");"3";"тридцать");"4";"сорок");"5";"пятьдесят");"6";"шестьдесят");"7";"семьдесят");"8";"восемьдесят");"9";"девяносто");"0";"")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2));"1";"одна");"2";"две");"3";"три");"4";"четыре");"5";"пять");"6";"шесть");"7";"семь");"8";"восемь");"9";"девять");"0";""))&" копеек";"одна копеек";"одна копейка");"две копеек";"две копейки");"три копеек";"три копейки");"четыре копеек";"четыре копейки");" копеек";"");" ";"Z"));"z";" ");"Z";" "))
В белорусских рублях
Тройной клик по формуле выделит ее целиком.
=ПРОПИСН(ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" белорусских рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один белорусских рублей";"один белорусский рубль");"два белорусских рублей";"два белорусских рубля");"три белорусских рублей";"три белорусских рубля");"четыре белорусских рублей";"четыре белорусских рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов");1))&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" белорусских рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один белорусских рублей";"один белорусский рубль");"два белорусских рублей";"два белорусских рубля");"три белорусских рублей";"три белорусских рубля");"четыре белорусских рублей";"четыре белорусских рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов");2;200)&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек")
Если вам не нужно делать первую букву заглавной, просто “оберните” всю эту гигантскую формулу функцией СТРОЧН.
Сумма прописью — формула для Openoffice Calc
У формулы выше были проблемы с импортом в Openoffice, т.к. тот в отличие от Excel (2007 и старше), поддерживает максимум 42 уровня вложенности в формулах, а не 64.
Поэтому пришлось полностью переделать логику формулы и сделать ее сложной формулой массивов.
Так она выглядит в Excel:
=ПРОПИСН(ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A1));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр")))&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A1));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)&" "&ЕСЛИ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2))="1";ПРАВСИМВ(ОКРУГЛ(A1*100;0);2) &" копеек";ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&ИНДЕКС({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};ПРАВСИМВ(ОКРУГЛ(A1*100;0))+1))
А так – после импорта в Openoffice Calc:
=UPPER(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(MID(TEXT(A1;"000000000");1;3)+0>0;IF(MID(TEXT(A1;"000000000");2;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1);INDEX({"dь один m"|"dь два mа"|"dь три mа"|"dь cе mа"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");3;1));INDEX({"одиннаe mов"|"двенаe mов"|"тринаe mов"|"cнаe mов"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");3;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");4;3)+0>0;IF(MID(TEXT(A1;"000000000");5;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1);INDEX({"dь одна тысяча"|"dь две тысячи"|"dь три тысячи"|"dь cе тысячи"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");6;1));INDEX({"одиннаe тысяч"|"двенаe тысяч"|"тринаe тысяч"|"cнаe тысяч"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");6;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");8;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1);INDEX({"dь один rь"|"dь два rя"|"dь три rя"|"dь cе rя"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};RIGHT(A1));INDEX({"одиннаe rей"|"двенаe rей"|"тринаe rей"|"cнаe rей"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};RIGHT(A1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1))&" "&IF(LEFT(RIGHT(ROUND(A1*100;0);2))="1";RIGHT(ROUND(A1*100;0);2) &" копеек";RIGHT(ROUND(A1*100;0);2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(ROUND(A1*100;0))+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр")))&MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(MID(TEXT(A1;"000000000");1;3)+0>0;IF(MID(TEXT(A1;"000000000");2;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1);INDEX({"dь один m"|"dь два mа"|"dь три mа"|"dь cе mа"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");3;1));INDEX({"одиннаe mов"|"двенаe mов"|"тринаe mов"|"cнаe mов"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");3;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");4;3)+0>0;IF(MID(TEXT(A1;"000000000");5;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1);INDEX({"dь одна тысяча"|"dь две тысячи"|"dь три тысячи"|"dь cе тысячи"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");6;1));INDEX({"одиннаe тысяч"|"двенаe тысяч"|"тринаe тысяч"|"cнаe тысяч"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");6;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");8;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1);INDEX({"dь один rь"|"dь два rя"|"dь три rя"|"dь cе rя"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};RIGHT(A1));INDEX({"одиннаe rей"|"двенаe rей"|"тринаe rей"|"cнаe rей"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};RIGHT(A1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1))&" "&IF(LEFT(RIGHT(ROUND(A1*100;0);2))="1";RIGHT(ROUND(A1*100;0);2) &" копеек";RIGHT(ROUND(A1*100;0);2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(ROUND(A1*100;0))+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)
Сумма прописью в Google Spreadsheets
Прелесть формул выше в том, что они с минимальными модификациями портируются в Google Таблицы, где их замечательно можно использовать.
Ниже пример таблицы с суммой прописью:
Посмотреть сам файл и скопировать к себе можно по ссылке:
https://docs.google.com/spreadsheets/d/1dmqEB3TehEGmWfaxRmIQ9LXjGal439_YgKxZhbK0Ods/edit?usp=sharing
UDF-функции надстройки !SEMTools
Для тех, у кого ОС Windows и Excel 2010 и выше, и кто не готов пользоваться указанными формулами, есть простое решение – установить надстройку, в которой присутствует код, скрывающий все эти вычисления “под капот”. Одна из таких – разработанная мной надстройка !SEMTools.
В ней для решения задачи преобразования числа и суммы в их прописной вариант есть 2 лаконичные функции:
Они доступны абсолютно бесплатно безо всяких ограничений в любой версии надстройки, приобретать полную версию не обязательно.
Единственное ограничение – эти формулы будут работать только на тех компьютерах, где установлена надстройка.
Процедуры !SEMTools
Еще более простое, но не всегда удобное решение – процедуры (макросы). В надстройке для Excel !SEMTools доступны макросы преобразования чисел в сумму и число прописью в 1 клик.
Вызов процедур находится в меню “Изменить символы” в группе “ИЗМЕНИТЬ” на панели надстройки. Макрос преобразует числа на месте, превращая их в текст. Можно выделить как одну, так и несколько ячеек:
Функционал доступен в полной версии надстройки.
Перевод чисел прописью в другие падежи
Зачастую после получения числа или суммы прописью нужно указать его в другом падеже.
Например, “сумма в размере пятисот тысяч трехсот трех рублей”. !SEMTools справляется и с этой задачей – смотрите раздел склонение по падежам в Excel.
Надстройка !SEMTools для Excel поможет буквально за пару кликов написать числа или суммы прописью.
Скачайте и убедитесь в этом сами!
Часто нужно перевести число в текст в Excel так, чтобы оно отображалось прописью (словами) на русском или других языках. Так как по умолчанию нет готовой функции, создадим свою пользовательскую функцию с помощью макросов.
Пример использования пользовательской функции для преобразования числа суммы в текстовые слова, которую можно скачать в конце статьи:
Для создания пользовательской функции, которая сможет перевести число в текст прописью , нам нужно выполнить 3 простых шага:
- Открыть редактор макросов ALT+F11.
- Создать новый модуль и в нем нужно написать функцию особенным способом: Function вместо Sub. Тогда наша функция «ЧислоПропись» будет отображаться в списке мастера функций (SHIFT+F3), в категории «Определенные пользователем».
- Вставить в модуль следующий код и сохранить:
Function ЧислоПропись(Число As Currency) As String
‘до 999 999 999 999
On Error GoTo Число_Error
Dim strМиллиарды As String, strМиллионы As String, strТысячи As String, strЕдиницы As String, strСотые As String
Dim Поз As Integer
strЧисло = Format(Int(Число),
«000000000000»)
‘Миллиарды’
Поз = 1
strМиллиарды = Сотни(Mid(strЧисло, Поз, 1))
strМиллиарды = strМиллиарды & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
strМиллиарды = strМиллиарды & ИмяРазряда(strМиллиарды, Mid(strЧисло, Поз + 1, 2), «миллиард «, «миллиарда «, «миллиардов «)
‘Миллионы’
Поз = 4
strМиллионы = Сотни(Mid(strЧисло, Поз, 1))
strМиллионы = strМиллионы & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
strМиллионы = strМиллионы & ИмяРазряда(strМиллионы, Mid(strЧисло, Поз + 1, 2), «миллион «, «миллиона «, «миллионов «)
‘Тысячи’
Поз = 7
strТысячи = Сотни(Mid(strЧисло, Поз, 1))
strТысячи = strТысячи & Десятки(Mid(strЧисло, Поз + 1, 2), «ж»)
strТысячи = strТысячи & ИмяРазряда(strТысячи, Mid(strЧисло, Поз + 1, 2), «тысяча «, «тысячи «, «тысяч «)
‘Единицы’
Поз = 10
strЕдиницы = Сотни(Mid(strЧисло, Поз, 1))
strЕдиницы = strЕдиницы & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
If strМиллиарды & strМиллионы & strТысячи & strЕдиницы = «» Then strЕдиницы = «ноль «
‘strЕдиницы = strЕдиницы & ИмяРазряда(» «, Mid(strЧисло, Поз + 1, 2), «рубль «, «рубля «, «рублей «)
‘Сотые’
‘strСотые = strКопейки & » » & ИмяРазряда(strКопейки, Right(strКопейки, 2), ‘»копейка», «копейки», «копеек»)
ЧислоПропись = strМиллиарды & strМиллионы & strТысячи & strЕдиницы
ЧислоПропись = UCase(Left(ЧислоПропись, 1)) & Right(ЧислоПропись, Len(ЧислоПропись) — 1)
Exit Function
Число_Error:
MsgBox Err.Description
End Function
Function Сотни(n As String) As String
Сотни = «»
Select Case n
Case 0: Сотни = «»
Case 1: Сотни = «сто «
Case 2: Сотни = «двести «
Case 3: Сотни = «триста «
Case 4: Сотни = «четыреста «
Case 5: Сотни = «пятьсот «
Case 6: Сотни = «шестьсот «
Case 7: Сотни = «семьсот «
Case 8: Сотни = «восемьсот «
Case 9: Сотни = «девятьсот «
End Select
End Function
Function Десятки(n As String, Sex As String) As String
Десятки = «»
Select Case Left(n, 1)
Case «0»: Десятки = «»: n = Right(n, 1)
Case «1»: Десятки = «»
Case «2»: Десятки = «двадцать «: n = Right(n, 1)
Case «3»: Десятки = «тридцать «: n = Right(n, 1)
Case «4»: Десятки = «сорок «: n = Right(n, 1)
Case «5»: Десятки = «пятьдесят «: n = Right(n, 1)
Case «6»: Десятки = «шестьдесят «: n = Right(n, 1)
Case «7»: Десятки = «семьдесят «: n = Right(n, 1)
Case «8»: Десятки = «восемьдесят «: n = Right(n, 1)
Case «9»: Десятки = «девяносто «: n = Right(n, 1)
End Select
Dim Двадцатка As String
Двадцатка = «»
Select Case n
Case «0»: Двадцатка = «»
Case «1»
Select Case Sex
Case «м»: Двадцатка = «один «
Case «ж»: Двадцатка = «одна «
Case «с»: Двадцатка = «одно «
End Select
Case «2»:
Select Case Sex
Case «м»: Двадцатка = «два «
Case «ж»: Двадцатка = «две «
Case «с»: Двадцатка = «два «
End Select
Case «3»: Двадцатка = «три «
Case «4»: Двадцатка = «четыре «
Case «5»: Двадцатка = «пять «
Case «6»: Двадцатка = «шесть «
Case «7»: Двадцатка = «семь «
Case «8»: Двадцатка = «восемь «
Case «9»: Двадцатка = «девять «
Case «10»: Двадцатка = «десять «
Case «11»: Двадцатка = «одиннадцать «
Case «12»: Двадцатка = «двенадцать «
Case «13»: Двадцатка = «тринадцать «
Case «14»: Двадцатка = «четырнадцать «
Case «15»: Двадцатка = «пятнадцать «
Case «16»: Двадцатка = «шестнадцать «
Case «17»: Двадцатка = «семнадцать «
Case «18»: Двадцатка = «восемнадцать «
Case «19»: Двадцатка = «девятнадцать «
End Select
Десятки = Десятки & Двадцатка
End Function
Function ИмяРазряда(Строка As String, n As String, Имя1 As String, Имя24 As String, ИмяПроч As String) As String
If Строка <> «» Then
ИмяРазряда = «»
Select Case Left(n, 1)
Case «0», «2», «3», «4», «5», «6», «7», «8», «9»: n = Right(n, 1)
End Select
Select Case n
Case «1»: ИмяРазряда = Имя1
Case «2», «3», «4»: ИмяРазряда = Имя24
Case Else: ИмяРазряда = ИмяПроч
End Select
End If
End Function
Можно написать алгоритм макро программы по-другому и еще сделать так, чтобы она дописывала валюту суммы прописью. Для этого создайте Module2 и введите в него следующий код:
Function ЧислоПрописьюВалюта(Число As Double, Optional Валюта As Integer = 1, Optional Копейки As Integer = 1)
Attribute ЧислоПрописьюВалюта.VB_Description = «Функция преобразовывает число суммы текстовыми словами»
Attribute ЧислоПрописьюВалюта.VB_ProcData.VB_Invoke_Func = » n1″
Dim Edinicy(0 To 19) As String: Dim EdinicyPoslednie(0 To 19) As String
Dim Desyatki(0 To 9) As String: Dim Sotni(0 To 9) As String: Dim mlrd(0 To 9) As String
Dim mln(0 To 9) As String: Dim tys(0 To 9) As String
Dim SumInt, x, shag, vl As Integer: Dim txt, Sclon_Tys As String
‘———————————————
Application.Volatile
‘———————————————
Edinicy(0) = «»: EdinicyPoslednie(0) = IIf(Валюта = 0, «евро», IIf(Валюта = 1, «рублей», «долларов»))
Edinicy(1) = «один «: EdinicyPoslednie(1) = IIf(Валюта = 0, «один евро», IIf(Валюта = 1, «один рубль», «один доллар»))
Edinicy(2) = «два «: EdinicyPoslednie(2) = IIf(Валюта = 0, «два евро», IIf(Валюта = 1, «два рубля», «два доллара»))
Edinicy(3) = «три «: EdinicyPoslednie(3) = IIf(Валюта = 0, «три евро», IIf(Валюта = 1, «три рубля», «три доллара»))
Edinicy(4) = «четыре «: EdinicyPoslednie(4) = IIf(Валюта = 0, «четыре евро», IIf(Валюта = 1, «четыре рубля», «четыре доллара»))
Edinicy(5) = «пять «: EdinicyPoslednie(5) = IIf(Валюта = 0, «пять евро», IIf(Валюта = 1, «пять рублей», «пять долларов»))
Edinicy(6) = «шесть «: EdinicyPoslednie(6) = IIf(Валюта = 0, «шесть евро», IIf(Валюта = 1, «шесть рублей», «шесть долларов»))
Edinicy(7) = «семь «: EdinicyPoslednie(7) = IIf(Валюта = 0, «семь евро», IIf(Валюта = 1, «семь рублей», «семь долларов»))
Edinicy(8) = «восемь «: EdinicyPoslednie(8) = IIf(Валюта = 0, «восемь евро», IIf(Валюта = 1, «восемь рублей», «восемь долларов»))
Edinicy(9) = «девять «: EdinicyPoslednie(9) = IIf(Валюта = 0, «девять евро», IIf(Валюта = 1, «девять рублей», «девять долларов»))
Edinicy(11) = «одиннадцать «: EdinicyPoslednie(11) = IIf(Валюта = 0, «одиннадцать евро», IIf(Валюта = 1, «одиннадцать рублей», «одиннадцать долларов»))
Edinicy(12) = «надцать «: EdinicyPoslednie(12) = IIf(Валюта = 0, «надцать евро», IIf(Валюта = 1, «надцать рублей», «надцать долларов»))
Edinicy(13) = «тринадцать «: EdinicyPoslednie(13) = IIf(Валюта = 0, «тринадцать евро», IIf(Валюта = 1, «тринадцать рублей», «тринадцать долларов»))
Edinicy(14) = «четырнадцать «: EdinicyPoslednie(14) = IIf(Валюта = 0, «четырнадцать евро», IIf(Валюта = 1, «четырнадцать рублей», «четырнадцать долларов»))
Edinicy(15) = «пятнадцать «: EdinicyPoslednie(15) = IIf(Валюта = 0, «пятнадцать евро», IIf(Валюта = 1, «пятнадцать рублей», «пятнадцать долларов»))
Edinicy(16) = «шестнадцать «: EdinicyPoslednie(16) = IIf(Валюта = 0, «шестнадцать евро», IIf(Валюта = 1, «шестнадцать рублей», «шестнадцать долларов»))
Edinicy(17) = «семнадцать «: EdinicyPoslednie(17) = IIf(Валюта = 0, «семнадцать евро», IIf(Валюта = 1, «семнадцать рублей», «семнадцать долларов»))
Edinicy(18) = «восемнадцать «: EdinicyPoslednie(18) = IIf(Валюта = 0, «восемнадцать евро», IIf(Валюта = 1, «восемнадцать рублей», «восемнадцать долларов»))
Edinicy(19) = «девятнадцать «: EdinicyPoslednie(19) = IIf(Валюта = 0, «девятнадцать евро», IIf(Валюта = 1, «девятнадцать рублей», «девятнадцать долларов»))
»———————————————
Desyatki(0) = «»: Sotni(0) = «»: tys(0) = «тисячь «: mln(0) = «миллионов «: mlrd(0) = «миллиардов «
Desyatki(1) = «десять «: Sotni(1) = «сто «: tys(1) = «тысяча «: mln(1) = «миллион «: mlrd(1) = «миллиарда «
Desyatki(2) = «двадцать «: Sotni(2) = «двести «: tys(2) = «тысячи «: mln(2) = «миллиона «: mlrd(2) = «миллиарда «
Desyatki(3) = «тридцать «: Sotni(3) = «триста «: tys(3) = «тысячи «: mln(3) = «миллиона «: mlrd(3) = «миллиарда «
Desyatki(4) = «сорок «: Sotni(4) = «четыреста «: tys(4) = «тысячи «: mln(4) = «миллиона «: mlrd(4) = «миллиарда «
Desyatki(5) = «пятьдесят «: Sotni(5) = «пятьсот «: tys(5) = «тысяч «: mln(5) = «миллионов «: mlrd(5) = «миллиардов «
Desyatki(6) = «шестьдесят «: Sotni(6) = «шестьсот «: tys(6) = «тысяч «: mln(6) = «миллионов «: mlrd(6) = «миллиардов «
Desyatki(7) = «семьдесят «: Sotni(7) = «семьсот «: tys(7) = «тысяч «: mln(7) = «миллионов «: mlrd(7) = «миллиардов «
Desyatki(8) = «восемьдесят «: Sotni(8) = «восемьсот «: tys(8) = «тысяч «: mln(8) = «миллионов «: mlrd(8) = «миллиардов «
Desyatki(9) = «девяносто «: Sotni(9) = «девятьсот «: tys(9) = «тысяч «: mln(9) = «миллионов «: mlrd(9) = «миллиардов «
‘———————————————
On Error Resume Next
SumInt = Int(Число)
For x = Len(SumInt) To 1 Step -1
shag = shag + 1
Select Case x
Case 12 ‘ — сотни миллиардов
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 11 ‘ — десятки миллиардов
vl = Mid(SumInt, shag, 1)
If vl = «1» And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 10 ‘ — единицы миллиардов
vl = Mid(SumInt, shag, 1)
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & «миллиарда « Else txt = txt & Edinicy(vl) & mlrd(vl) ‘числа в диапозоне от 11 до 19 склоняются на «мільярдов» независимо от последнего числа триады
Else
txt = txt & Edinicy(vl) & mlrd(vl)
End If
‘-КОНЕЦ БЛОКА_______________________
Case 9 ‘ — сотни миллионов
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 8 ‘ — десятки миллионов
vl = Mid(SumInt, shag, 1)
If vl = «1» And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 7 ‘ — единицы миллионов
vl = Mid(SumInt, shag, 1)
If shag > 2 Then
If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = «0») Then GoTo 10
End If
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & «миллиона « Else: txt = txt & Edinicy(vl) & mln(vl) ‘числа в диапозоне от 11 до 19 склоняются на «миллиардов» независимо от последнего числа триады
Else
txt = txt & Edinicy(vl) & mln(vl)
End If
‘-КОНЕЦ БЛОКА_______________________
Case 6 ‘ — сотни тысяч
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 5 ‘ — десятки тысяч
vl = Mid(SumInt, shag, 1)
If vl = 1 And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 4 ‘ — единицы тысяч
vl = Mid(SumInt, shag, 1)
If shag > 2 Then
If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = «0») Then GoTo 10
End If
Sclon_Tys = Edinicy(vl) & tys(vl) ‘ — вводим переменную Sclon_Tys из-за иного склонения тысяч в русском языке
If vl = 1 Then Sclon_Tys = «одна « & tys(vl) ‘ — для тысяч склонение «один» и «два» неприменимо ( поэтому вводим переменную Sclon_Tys )
If vl = 2 Then Sclon_Tys = «две « & tys(vl) ‘ — для тысяч склонение «один» и «два» неприменимо ( поэтому вводим переменную Sclon_Tys )
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then Sclon_Tys = Edinicy(Mid(SumInt, shag — 1, 2)) & «тисяч «
End If
txt = txt & Sclon_Tys
‘-КОНЕЦ БЛОКА_______________________
Case 3 ‘ — сотни
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 2 ‘ — десятки
vl = Mid(SumInt, shag, 1)
If vl = «1» And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 1 ‘ — единицы
If Mid(SumInt, shag — 1, 1) <> 1 Or Mid(SumInt, shag — 1, 2) = «10» Then vl = Mid(SumInt, shag, 1) Else vl = Mid(SumInt, shag — 1, 2)
txt = txt & EdinicyPoslednie(vl)
‘-КОНЕЦ БЛОКА_______________________
End Select
10: Next x
a = Число
b = Int(a)
c = (Round(a — b, 2)) * 100
If c < 10 And c >= 1 Then c = «0» + CStr(c)
If c = 0 Then c = CStr(c) + «0»
d = «»
If Валюта = 1 Then d = «коп.» Else d = «цен.»
If Валюта > 2 Or Валюта < 0 Then MsgBox «Укажите параметр 0-2»
If Валюта > 2 Or Валюта < 0 Then GoTo 11
If Копейки = 0 Then
d = «»
c = «»
End If
If Копейки = 2 Then d = «»
If Копейки > 2 Or Копейи < 0 Then MsgBox «Укажите параметр 0, 1 или 2»
If Копейки > 2 Or Копейки < 0 Then GoTo 11
ЧислоПрописьюВалюта = UCase(Left(txt, 1)) & LCase(Mid(txt, 2)) + » « + CStr(c) + d
11:
End Function
Sub DescribeFunction()
Dim FuncName As String
Dim FuncDesc As String
Dim Category As String
Dim ArgDesc(1 To 3) As String
FuncName =
«ЧислоПрописьюВалюта»
FuncDesc = «Функция преобразовывает число суммы текстовыми словами»
Category = 1 ‘Text category
ArgDesc(1) = «Исходная сумма»
ArgDesc(2) = «(необязательный) Тип отображаемой валюты 0-Евро, 1-Рубли, 2-Доллары.»
ArgDesc(3) = «(необязательный) Нужны ли копейки: 0-нет, 1-отображать копейи стандартно, 2-отображать только дробную часть (без слов).»
Application.MacroOptions _
Macro:=FuncName, _
Description:=FuncDesc, _
Category:=Category, _
ArgumentDescriptions:=ArgDesc
End Sub
Также не забудьте добавить в рабочую книгу код вызова макроса регистрации DescribeFunction, чтобы отображать описание атрибутов для пользовательской функции:
Private Sub Workbook_Open()
DescribeFunction
End Sub
Кроме того благодаря данному макросу DescribeFunction функция будет доступна в группе: «ФОРМУЛЫ»-«Библиотека функций»-«Финансовые»-«ЧислоПрописьюВалюта»
Если мы указываем число (от 0 до 2)в параметре второй функции «ЧислоПрописьюВалюта» то функция автоматически подставит нужную валюту в сумме прописью:
- 1-рубли;
- 2-доллары;
- 0-евро;
Как видите, этот VBA-код макроса преобразует числа в слова. После вставки данного кода в модуль редактора макросов, у нас работает новая функция, которую можно вызвать из мастера (кнопка fx возле строки формул).
Скачать число прописью в Excel руб RUB.
Украинская версия функции ЧислоСловоВалюта для перевода сумм в гривны находиться в следующем файле:
Скачать функцию ЧислоСловоВалюта ГРН UAH
Теперь вы можете быстро перевести сумму в слова прописью. Чтобы воспользоваться готовым решением рекомендуем скачать пример числа прописью в Excel. Данный файл содержит уже готовую пользовательскую функцию и VBA-код макроса, который доступен в модуле из редактора.
Форматирование чисел в виде текста
Смотрите такжеSub Макрос2() же цифры, но его с другой формат на числовой, Формат ячеек (нажав преобразование с помощью, а затем тип выделите их, щелкнув при импорте из формула в сочетании с обозначением денежной единицы.. Теперь Excel сохранитФормат ячеекСамая простая функция ТЕКСТ кодаПримечание:Dim iLastRow As компьютер будет воспринимать целью. а затем повторно
CTRL+1 Специальной вставки изПочтовый индекс заголовок, затем выберите других источников, таких=»Сегодня: «&СИМВОЛ(10)&ТЕКСТ(СЕГОДНЯ();»ДД.ММ.ГГ») другими функциями. Предположим,Примечание: начальное значение 0.. означает следующее:0000000000Мы стараемся как Long их как текст.Пропустите первых два шага ввести данные, чтобы). Буфера обмена.
,Главная как XML, Интернет,. что вам нужно Функция ТЕКСТ не поддерживаетЕсли вы уже ввели
-
Нажмите клавиши=ТЕКСТ(значение, которое нужно отформатировать;, благодаря чему для можно оперативнее обеспечивать’номер последнего заполненого
Т. е. если нажатием на кнопку изменение формата вступило-такиСОВЕТ:Если ячейка содержит число,Индекс + 4 >
-
JSON и т. д.Это экспоненциальное представление числа. объединить текст и форматирование с помощью данные в ExcelCTRL+1 «код формата, который отображения всех цифр вас актуальными справочными ряда в первом
в ячейках числа,Далее (Next) в силу. ПрощеО преобразовании чисел но число сохранено,Преобразовать
Откройте вкладку Excel автоматически приводит
числовое значение, например цвета. Если скопировать
-
и нули в(на компьютере Mac — требуется применить») десять кода продукта, материалами на вашем столбце
-
тогда 21000 >, а на третьем всего это сделать, из ТЕКСТового формата как текст, тоНомер телефона >Данные к такому виду «отчет напечатано: 03/14/12», в диалоговом окне начале удалены, их+1Ниже приведены популярные примеры, включая ведущими нулями языке. Эта страницаiLastRow = Cells(Rows.Count, 220, а если воспользуйтесь кнопкой встав на ячейку в ЧИСЛОвой можно это может статьилиТип данных, нажмите кнопку числа длиной более или «доход за «Формат ячеек» код можно снова добавить), чтобы открыть диалоговое которые вы можете в Excel. Дополнительные переведена автоматически, поэтому 1).End(xlUp).Row в ячейках текст,Дополнительно (Advanced)
-
и нажав последовательно также прочитать в ошибкой в вычислениях.Табельный номер >Получить данные 12 цифр, если к неделю: $66 348,72″. формата, в котором с помощью функции окно скопировать прямо в сведения об этой ее текст может’добавляем число 5 тогда 21000 <. Откроется диалоговое окно, клавиши одноименной статье Преобразование Например функция СУММ()
-
.Тексти выберите вариант ячейкам применен формат В Excel можно используется цвет, напримерТЕКСТФормат ячеек Excel, чтобы поэкспериментировать проблеме читайте в содержать неточности и
support.office.com
Функция ТЕКСТ
в первую пустую 220. где можно задатьF2 чисел из текстового игнорирует числа сохраненныеДополнительные сведения о пользовательских.Из текстового/CSV-файлаОбщий вводить текст вручную, «# ##0,00 ₽;. Для верхней ячейки. самостоятельно. Обратите внимание: статье Создание или грамматические ошибки. Для ячейку после таблицыПреобразование производится через имеющиеся сейчас в(вход в режим
формата в числовой как текст и кодах см. вСовет:. Если вы не, и числа длиннее но это не[Красный] диапазона со значениямиНа вкладке коды форматов заключены удаление пользовательского числового
нас важно, чтобы в столбце А верхнее меню: нашем тексте символы-разделители: редактирования, в ячейке (часть 1). может вернуть не статье Создание и Чтобы выбрать несколько столбцов, видите кнопку 15 цифр, если выбран отменяет назначение приложения# ##0,00 ₽», то используйте формулуЧисло в кавычки.
Технические сведения
формата с сохранением
эта статья былаCells(iLastRow + 1,
формат — ячейкиПосле нажатия на начинает мигаеть курсор)
Если для каких-либо ячеек |
то значение, которое |
удаление пользовательских числовых |
щелкните их левойПолучить данные |
формат |
Excel. К сожалению, функция ТЕКСТ воспримет=ТЕКСТ(значение;»00000″) |
Общие сведения
выберите нужный формат.Формула
-
начальных нулей в вам полезна. Просим 1) = 5
— число -Готово и затем на листе был от нее ожидают. форматов. кнопкой мыши, удерживая
, выберите |
Числовой |
если вы объединяете его, но цвет, где количество нулей |
Выберите пунктОписание числовых кодах. вас уделить паруEnd Sub выбор форматаExcel преобразует нашEnter |
установлен текстовый форматКак правило, в такихПримечание: |
нажатой клавишуСоздать запрос |
. Если вы вводите текст и форматированные отображаться не будет. |
соответствует нужному числу(все форматы) |
=ТЕКСТ(1234,567;В некоторых случаях номера секунд и сообщить, |
В макросе мы |
Fort_el текст в нормальные. Также вместо |
(это мог сделать |
ячейках установлен текстовый Этот способ не позволяетCTRL |
> |
длинные цифровые строки, числа, например даты,Способ отображения дат можно |
символов. Затем скопируйте.»# ##0,00 ₽» может отформатирован и помогла ли она |
сперва находим номер: Собственной функцией (макросом) числа. |
F2 |
пользователь или программа формат. Если изменить |
восстановить начальные нули,. |
Из файла но не хотите, время, денежные единицы |
изменять, используя сочетания формулу и примените |
Нужный код формата будет) хранящиеся в ячейках, |
вам, с помощью строки последней заполненной — реализация несложная |
Если подобные преобразования вамможно просто делать при выгрузке данных формат ячейки на которые были удаленыВ диалоговом окне > чтобы они отображались и т. д., символов «Д» (для ее к остальной показан в полеДенежный формат с разделителем как текст, который кнопок внизу страницы. ячейки. А затемпример могу выслать приходится делать часто, двойной щелчок левой
Скачивание образцов
в Excel), то числовой (через Формат до форматирования. ОнИзменение типа столбцаИз текста в таком виде, Excel не знает, дня), «М» (для части диапазона.Тип групп разрядов и позже может привести Для удобства также
Другие доступные коды форматов
через свойство Cells- Vlad то имеет смысл кнопкой мыши по введенные потом в
-
ячеек или Главная/ действует только навыберите команду , найдите нужный файл то сначала примените как они должны месяца) и «Г»Если по какой-либо причине
-
. В этом случае двумя разрядами дробной к проблемам с
-
приводим ссылку на мы вводим наше: Аналогичный вопрос задавали
-
автоматизировать этот процесс ячейке. эти ячейки числа Число/ Числовой формат), числа, введенные послеЗаменить текущие и нажмите кнопку к соответствующим ячейкам отображаться, и сбрасывает (для года). потребуется преобразовать текстовые выделите всё содержимое части, например: 1 234,57 ₽.
-
вычислениями или Фрукты оригинал (на английском значение на 1 здесь при помощи несложногоСамо-собой, что если ячеек Excel начинает считать то изменений не применения формата., и Excel преобразует
-
Импорт формат форматирование чисел. ВВ функции ТЕКСТ коды значения обратно в поля Обратите внимание: Excel понятнее порядки сортировки. языке) . строку ниже.Похоже что автор макроса. Нажмите сочетание
много, то такой текстом. Иногда такие последует.Для преобразования данных в
Коды форматов по категориям
выделенные столбцы в.Текстовый этом случае функция форматов используются без числа, можно умножитьТип округляет значение до Это иногда происходитЕсли необходимо, чтобы приложениеСвойство Cells имеет вопроса осталась довольна клавиш Alt+F11 или способ, конечно, не
ячейки помечаются зеленымТеперь присмотримся и увидим
- нужный формат можно
- текст.
- Excel загрузит данные в
- .текст
- учета регистра, поэтому
- их на 1
- , кроме точки с
- двух разрядов дробной
- при импорте или
- Excel воспринимало некоторые
такую структуру: ответом
откройте вкладку подойдет. индикатором, который вы, в левом верхнем использовать расположенный рядомПо завершении нажмите кнопку область предварительного просмотра.Минда советует…не является полезной, допустимы символы «М» (например: запятой (;) и части. копировании чисел из типы чисел какCells(номер_ряда, номер_столбца)Саша УткинРазработчик (Developer)Можно быстро преобразовать псевдочисла скорее всего, видели: углу каждой ячейки с ними пустойЗакрыть и загрузить В области предварительногоЕсли вы предоставляете доступ так как она и «м», «Д»
=D4*1 символа @. В=ТЕКСТ(СЕГОДНЯ(); базы данных или текст, можно применитьСаша Уткин: Уважаемые господа! Помогитеи нажмите кнопку в нормальные, еслиПричем иногда такой индикатор зеленый треугольник. При столбец и функцию, и Excel вернет просмотра нажмите кнопку к файлам и позволяет принудительно отформатировать и «д», «Г»
) или воспользоваться двойным примере ниже выделен»ДД.ММ.ГГ» другого источника данных. текстовый формат вместо: Ни как не пожалуйста. Имеется столбецVisual Basic сделать рядом с не появляется (что выделении ячейки сбоку ТЕКСТ.
данные запроса наИзменить отчетам Excel пользователям значения в Excel и «г». унарным оператором (—), и скопирован только) В этом случае числового. Например, если
получается произвести выделение в котором числа. В появившемся окне данными дополнительный столбец гораздо хуже). от нее появитсяЦифровой код лист., чтобы загрузить
из разных стран, с помощью
-
Минда советует… например: код ДД.ММ.ГГГГ.Сегодняшняя дата в формате необходимо преобразование чисел используются номера кредитных всей последней +1
-
сохранены как текст. редактора добавьте новый с элементарной формулой:В общем и целом,
желтенький значок, нажавПример (в ячейке A1)Если в дальнейшем вашиРедактор запросов вам может потребоватьсякода форматированияЕсли вы предоставляете доступ=—D4Нажмите клавиши ДД/ММ/ГГ, например: 14.03.12 из текстового формата карт или другие строки. Как в макросе модуль через менюДвойной минус, в данном появление в ваших который можно преобразоватьФункция ТЕКСТ и новый данные изменятся, на. предоставить им отчет, например к файлам и.CTRL+C=ТЕКСТ(СЕГОДНЯ(); обратно в числовой.
числовые коды, содержащиеPavel55 преобразовать данные вInsert — Module случае, означает, на данных чисел-как-текст обычно значения в числа. формат вкладкеЕсли какие-либо столбцы нужно на их языке.»мм/дд/гг»
отчетам Excel пользователямВ Excel группы разрядов, чтобы скопировать код»ДДДД» Подробнее читайте Преобразование 16 цифр или: Почитайте моё предыдущее
числа?и скопируйте туда самом деле, умножение приводит к большомуПосле преобразования числа будутНомер социальногоДанные преобразовать в текст, В Microsoft Officeдля форматирования даты. из разных стран, разделяются пробелом, если формата, а затем —)
чисел из текстового более, необходимо использовать сообщение. Там вставляютсяЗаранее благодарен. Спасибо следующий код: на -1 два
количеству весьма печальных выравнены по правомустрахованиянажмите кнопку выделите их, щелкнув MVP у MyndaВ следующем примере показано,
вам может потребоваться код формата содержит кнопкуСегодняшний день недели, например: формата в числовой. текстовый формат. Это данные без выделенияPavel55Sub Convert_Text_to_Numbers() Selection.NumberFormat раза. Минус на последствий: краю ячейки (если,012345678Обновить заголовок, затем выберите Treacy) есть отличное что происходит при предоставить им отчет |
пробел, окруженный знакамиОтмена понедельникМожно также использовать функцию вызвано тем, что ячейки. Чтобы добавить: Вам макросом или = «General» Selection.Value минус даст плюсперестает нормально работать сортировка
конечно, в формате=ТЕКСТ(A1,»000-000-0000″), и Excel ихГлавная
решение в этой попытке присоединиться к на их языке. номера (#) или, чтобы закрыть диалоговое=ТЕКСТ(ТДАТА(); текст для преобразования в Excel используется
или считать в руками? = Selection.Value End
и значение в — «псевдочисла» выдавливаются ячейки установлено Выравнивание012-345-6789
автоматически обновит и > статье, которое отображается тексту и числу, В Microsoft Office нулями. Например, если окно»ЧЧ:ММ» числа в текст точность до 15
переменную (взять) значениеЕсли макросом, то
-
Sub
-
ячейке это не
-
вниз, а не
-
по горизонтали -
Телефон преобразует.Преобразовать в разных языках не используя функцию MVP у Mynda используется код форматаФормат ячеек) в заданном числовом цифр. Любые цифры в ячейку (или выделяете мышкой нужныйТеперь после выделения диапазона
Типичный сценарий
изменит, но сам располагаются по-порядку как по значению).0012345556789Если эту задачу необходимо > . В немтекст Treacy) есть отличное»# ;».Текущее время, например: 13:29 формате. Примеры этот после 15-й округляются из ячейки) НЕ диапазон и запускаете всегда можно открыть факт выполнения математической положено:Чтобы преобразовать сразу несколько=ТЕКСТ(A1,»00-0-000-000-0000″) решить в пределахТип данных также содержится пример. В этом решение в этой, число 12200000 отображаетсяТеперь осталось нажать клавиши=ТЕКСТ(0,285; способ сохранения начальных до нуля, что, обязательно её выделять. макрос вкладку операции переключает форматфункции типа значений — выделите00-1-234-555-6789
книги, поскольку она > книги, которую можно случае мы используем статье, которое отображается как 12 200 000.CTRL+V»0,0 %» нулей в числовых наверняка, будет неприемлемым. Если вы знаетеSub Макрос1()Разрабочик — Макросы (Developer данных на нужныйВПР (VLOOKUP) их. У верхнейПочтовый
не используется другимиТекст загрузить.амперсанд в разных языкахПробел после заполнителя цифры, чтобы вставить код)
кодахсм. Дополнительные сведения
-
Если число имеет текстовый её адрес, то[IV1].Copy
Вопросы и ответы
Как преобразовать числа в текст, например 123 в «сто двадцать три»?
— Macros) нам числовой.не находят требуемые ячейки появится желтыйиндекс программами в качестве.Создание и удаление пользовательских( . В нем задает деление числа формата в функциюПроцентный формат, например: 28,5 %
Можно ли изменить регистр текста?
об использовании функции формат, это легко можно сделать такSelection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, выбрать наш макрос
Можно ли с помощью функции ТЕКСТ добавить новую строку (разрыв строки) в ячейке, как при нажатии клавиш ALT+ВВОД?
Само-собой, вместо умножения на значения, потому как значок — с00123 источника данных, дляСовет: числовых форматов& также содержится пример на 1000. Например, ТЕКСТ. Пример: =ТЕКСТ(B2;»= Текст (4.34, текст отображается функция определить, поскольку число (это как пример)End Sub в списке, нажать 1 можно использовать для них число помощью него преобразуйте=ТЕКСТ(A1,»000000″) сохранения начальных нулей Чтобы выбрать несколько столбцов,Преобразование чисел из текстового) для сцепления текстовой книги, которую можно если используется кодДД.ММ.ГГГГ»# _км_/_км_»
текст. будет выровнено вRange(«A1») = 5Если руками, то
Почему Excel преобразует введенные числа во что-то вроде «1,22E+07»?
кнопку любую другую безобидную и такое же сразу все значения.001234 можно использовать пользовательский щелкните их левой формата в числовой строки, пробела («») загрузить. формата»). Обязательно заключите скопированный)Примечание: ячейке по левому[A1] = 51) Копируете любуюВыполнить (Run математическую операцию: деление число-как-текст различаются:Другой способ группового преобразования
Даты на разных языках
Максимальная точность чисел в или специальный формат. кнопкой мыши, удерживаяФункции Excel (по категориям) и значения сСпособ отображения времени можно»# ;,0 « код формата вДробный формат, например: 4 1/3 Мы стараемся как можно краю, а неCells(1,1) = 5 пустую ячейку с) на 1 илипри фильтрации псевдочисла отбираются чисел, сохраненных как Excel составляет 15 |
См. также
Этот способ подходит нажатой клавишу
Примечание:= a2 & «»
изменить с помощью
support.office.com
Сохранение начальных нулей и больших чисел
, число 12200000 отображается кавычки («код формата»),=СЖПРОБЕЛЫ(ТЕКСТ(0,34; оперативнее обеспечивать вас по правому.Как вы видите общим форматом (вобщем- и моментально прибавление-вычитание нуля. Эффект ошибочно текст, можно использовать значащих цифр. Это для цифровых кодов,CTRLМы стараемся как & B2 сочетаний символов «Ч» в Excel как иначе в Excel»# ?/?» актуальными справочными материаламиВыделите ячейку или диапазон
мы тремя способами любую) преобразовать псевдочисла в будет тот же.многие другие функции Excel следующий подход: означает, что в содержащих менее 16. можно оперативнее обеспечивать». (для часов), «М» 12 200,0. появится сообщение об)) на вашем языке. ячеек, содержащий числа, ввели число 52) Выделяете нужный полноценные.Этот способ использовали еще также перестают нормальновведите в любую пустую любом числе, состоящем цифр. Цифровые кодыВ диалоговом окне
Преобразование чисел в текст при импорте текстовых данных
вас актуальными справочнымиВы видите, что значение (для минут) и
Примечания: ошибке.Дробный формат, например: 1/3 Эта страница переведена которые требуется отформатировать в ячейку А1 диапазон ячеек, которыйТакже можно добавить этот в старых версиях работать: ячейку число 1; из 16 и также можно отформатироватьИзменение типа столбца материалами на вашем даты, взятое из
-
«С» (для секунд). »Ячейки» > «Число» Обратите внимание: функция автоматически, поэтому ее как текст. Выделение и при этом хотите преобразовать макрос в личную Excel, когда современныеи т.д.выделите эту ячейку и более цифр, например с использованием дефисоввыберите команду языке. Эта страница ячейки B2, не Кроме того, дляРазделитель групп разрядов зависит
-
> «Другое» для СЖПРОБЕЛЫ используется для текст может содержать ячейки или диапазона. НЕ выделяли её.3) меню Правка книгу макросов, чтобы эффективные менеджеры под
-
Особенно забавно, что естественное скопируйте ее значение в номере кредитной или других знаковЗаменить текущие переведена автоматически, поэтому отформатировано. В следующем представления времени в от региональных параметров. получения строк формата.» удаления начального пробела неточности и грамматические
Совет:Чтобы считать значение — Специальная вставка… использовать позднее в стол ходили зеленого желание просто изменить в Буфер обмена
-
карты, все цифры, препинания. Например, чтобы, и Excel преобразует ее текст может примере показано, как 12-часовом формате можно Для России это
-
/> перед дробной частью. ошибки. Для нас Можно также выделить пустые можно сделать так
— в области любом файле. уголка-индикатора еще не формат ячейки на ( следующие после 15-й, сделать телефонные номера выделенные столбцы в содержать неточности и
применить нужное форматирование использовать символы «AM/PM». пробел, но вВ примерах ниже показано,=ТЕКСТ(12200000; важно, чтобы эта ячейки, отформатировать ихi = Range(«A1») «Операция» выбераете «Сложить»С датами бывает та было в принципе числовой — неCTRL+C округляются до нуля. более удобными для текст. грамматические ошибки. Для с помощью функцииЕсли не указывать символы других странах и как применить различные»0,00E+00″
-
статья была вам как текст, аi = [A1]4) Нажимаете ОК же история. Некоторые (он появился только помогает. Т.е. вы,
-
); Если цифровые коды чтения, можно добавитьПо завершении нажмите кнопку нас важно, чтобы TEXT. «AM/PM», время будет регионах может использоваться
-
числовые форматы к) полезна. Просим вас затем ввести числа.i = Cells(1,1)Саша Уткин даты тоже могут с 2003 года). буквально, выделяете ячейки,выделите ячейки, которые содержат состоят из 16 дефисы между международным
Закрыть и загрузить эта статья былаВот обновленная формула: отображаться в 24-часовом запятая или точка. значениям следующим способом:Экспоненциальное представление, например: 1,22E+07
-
уделить пару секунд Такие числа будутPavel55: Подскажите пожалуйста как распознаваться Excel’ем как Алгоритм такой: щелкаете по ним
-
числа сохраненные как и более цифр, кодом, кодом области,, и Excel вернет вам полезна. Просим
ячейка C2: формате.Разделитель групп разрядов можно открыть диалоговое окно=ТЕКСТ(1234567898; и сообщить, помогла иметь текстовый формат.: А зачем вам в макросе можно
Применение пользовательского формата для сохранения начальных нулей
текст, поэтому нев любую пустую ячейку правой кнопкой мыши, текст; необходимо использовать текстовый префиксом и остальными данные запроса на вас уделить пару=A2&» «&ТЕКСТ(B2;»дд.мм.гггг»)В функции ТЕКСТ коды применять в числовых,Формат ячеек»[) ли она вам,На вкладке выделять всю строку? реализовать возможность, чтобы будет работать группировка введите 1 выбираетевыберите Специальная ставка (на формат. Для этого цифрами. лист.
секунд и сообщить, |
— формат даты. |
форматов используются без |
денежных и финансовых |
Дополнительный формат (номер телефона), |
с помощью кнопок |
) Вот код |
курсор спустился на |
и сортировка. Решения |
Формат ячеек (Format Cells) |
выполните одно из |
Цифровой код |
помогла ли онаК сожалению, это невозможно
-
учета регистра, поэтому форматах.(все форматы)
-
например: (123) 456-7898 внизу страницы. Дляв группеActiveCell.End(xlDown).Offset(1, 0).EntireRow.Select последнюю запись таблицы. — те же
-
выделите ячейки с числами, меняете формат на группе Буфер обмена указанных ниже действий.Пример данные изменятся, на вам, с помощью сделать с помощью допустимы символы «Ч»Ниже показаны примеры стандартныхи скопировать нужный=ТЕКСТ(1234; удобства также приводимЧислоPavel55Заранее благодарен. самые, что и
в текстовом форматеЧисловой (Number) щелкните стрелку рядомФорматирование столбца в видеПользовательский числовой формат вкладке кнопок внизу страницы. функции и «ч», «М» числовых (только скод формата»0000000″
ссылку на оригиналщелкните стрелку рядом: Вот второй пример,Pavel55 для чисел, только
и поменяйте у, жмете с командой Вставить, текстаНомер социальногоДанные Для удобства такжетекст
Применение функции ТЕКСТ для форматирования
и «м», «С» разделителем групп разрядовв формулу с) (на английском языке). с полем
как можно выделить |
: ActiveCell.End(xlDown).Select |
формат вместо числового них формат на |
ОК |
Выделите диапазон данных и |
страхования |
приводим ссылку на |
, поэтому необходимо |
и «с», «AM/PM» |
функцией |
С помощью функции |
Числовой формат |
Округление номеров кредитных карт
mazayZR нужно заменить на числовой (ничего не- и ничего в списке пункт нажмите клавиши012345678Обновить оригинал (на английском использовать код Visual и «am/pm». денежных и финансовыхТЕКСТ например: 0001234ТЕКСТи выберите пункт строку ниже таблицы.: а если не
-
дату-время. произойдет)
не происходит! Совсем! Специальная ставка);CTRL+1000-000-0000 , и Excel их языке) . Basic для приложенийДля отображения десятичных значений форматов. В денежном.=ТЕКСТ(123456;можно изменить представлениеТекстовый
В столбце А макросом, то вотВроде как есть такаящелкните по ячейкам сВозможно, «это не баг,выберите Умножить;, чтобы открыть диалоговое
-
012-345-6789
автоматически обновит иВам когда-нибудь приходилось импортировать (VBA). Вот как можно использовать процентные формате можно добавитьВыбор числового формата
»##0° 00′ 00»»
support.office.com
Преобразование ТЕКСТовых значений в ЧИСЛА и ДАТЫ (Часть 2. Групповое изменение в MS EXCEL)
числа, применив к. обязательно должны быть так: функция, но что-то псевдочислами правой кнопкой а фича», конечно,нажмите ОК. окноТелефон преобразует. или вводить в можно преобразовать числовое (%) форматы. нужное обозначение денежной ) нему форматирование сПримечание:
любые данныеСаша Уткин найти не могу. мыши и выберите но нам отПосле умножения на 1,Формат0012345556789В Excel 2010 и Excel данные, содержащие значение в английские
Десятичные числа можно отображать единицы, и значенияВыбор числового форматаПользовательский формат (широта иликодами форматов Если пунктRows(Cells(Rows.Count, 1).End(xlUp).Row +: Уважаемый Павел. СпасибоOlegbi4
команду этого не легче. числовые значения не >00-0-000-000-0000 Excel 2013 импортировать начальные нули (например, слова в Excel в виде дробей,
будут выровнены поНули в начале долгота), например: 12°. Это полезно вТекстовый 1).EntireRow.Select огромное за помощь.
: 1) =ТЕКСТ (ссылкаСпециальная вставка (Paste Special) Так что давайте-к изменятся, но будутЯчейки00-1-234-555-6789 текстовые файлы и
00123) или большие с помощью следующей используя коды форматов нему. В финансовом
- Разделитель групп разрядов. 34′ 56»
- ситуации, когда нужноне виден, прокрутитеСаша Уткин Вы очень помогли, на ячейку; «формат»)или используйте сочетание
- рассмотрим несколько способов преобразованы в числа. На вкладке
- Почтовый преобразовывать числа в числа (например, 1234 ссылки: вида «?/?». формате символ рубляЧисловые, денежные и финансовыеПримечание:
- отобразить числа в
- список до конца
: Спасибо! Всё получилось! не сочтите за в текстовых функциях клавиш исправить ситуацию - (если по ошибкеЧислоиндекс текст можно двумя
5678 9087 6543)?Да, вы можете использоватьЭкспоненциальное представление — это способ располагается в ячейке форматы Хотя вы можете использовать удобочитаемом виде либо с помощью полосы Благодарю Вас! наглость, ещё хочуфункция =ТЕКСТ (ссылка,Ctrl+Alt+V один из них были выделены текстовыевыберите формат00123
способами. Рекомендуется использовать Это могут быть функции ПРОПИСН, СТРОЧН отображения значения в справа от значенияДаты функцию текст для объединить их с прокрутки.Владимир спросить. Вот я «#»)в открывшемся окне выберите вам обязательно поможет. значения, операция умноженияТекстовый000000
Power Query (для
номера социального страхования, и ПРОПНАЧ. Например, виде десятичного числа (если выбрать обозначениеЗначения времени изменения форматирования, это текстом или символами.Числовой формат списка
excel2.ru
Преобразование чисел-как-текст в нормальные числа
: Подскажите, как выделить добился, чтобы курсорпреобразует число 21 вариантЕсли на ячейке с на них никак.001234 этого нужно скачать телефонные номера, номера формула =ПРОПИСН(«привет») возвращает от 1 до доллара США, тоПроценты
не единственный способ.Примечание: в Excel Online
последнюю не пустую установился на последней 000 в текстЗначения (Values) числом с текстовом не повлияет).
Если надстройку Power продуктов, номера счетовДа, но это займет 10 в некоторой выровнены по левомуЭкспоненциальное представление без формулы, нажмите в текст, что Или второй вариант: очень нужно, чтобычисло 21, 05Умножить (Multiply) зеленый уголок-индикатор, то до умножения ячейки
изменить числа, которыеВыделите ячейку или диапазон Query скачать не или почтовые индексы. несколько этапов. Сначала степени. Этот формат краю ячеек, аДополнительные форматы клавиши
Способ 1. Зеленый уголок-индикатор
может затруднить ихЧтобы использовать десятичные знаки Выделить всю таблицу он спустился на преобразуетПо-сути, мы выполняем то считайте, что вам имели текстовый формат были введены ранее. ячеек, которые вы удается, можно воспользоваться Excel автоматически удаляет выделите одну или часто используется для значения — по правому).
Почему программа Excel удаляетCTRL + 1 использование в дальнейших
в числах, хранящихся — минус последняя одну строчку ниже.в «21» функция же самое, что повезло. Можно просто ячеек, то он Он действует только хотите отформатировать. мастером импорта текста. начальные нули и несколько ячеек, которые
Способ 2. Повторный ввод
краткого отображения больших Обратите внимание на нули в начале?(или _з0з_ вычислениях. Рекомендуем сохранить как текст, возможно, строка? Можно ли это =ТЕКСТ (ссылка, «#») и в прошлом выделить все ячейки будет сохранен (числовые на числа, введенныеНажмите клавиши В этом случае преобразует большие числа должны быть выполнены, чисел. разницу между кодамиВ Excel обрабатываются Поиск+ 1 исходное значение в придется вводить эти
Range(«A43:L43»).Select в макросе реализовать?в «21,1» функция способе — умножение
Способ 3. Формула
с данными и значения все равно после применения формата.CTRL+1 импортируется текстовый файл,
в экспоненциальное представление а затем сВ Excel доступны четыре денежных и финансовых чисел, введенных вна компьютере Mac), одной ячейке, а числа с десятичнымиRange(«L43»).ActivateСпасибо! =ТЕКСТ (ссылка, «#,#») содержимого ячеек на нажать на всплывающий
будут преобразованы, ноИспользование апострофа, чтобы открыть диалоговое однако данные проходят (например, 1,23E+15), чтобы помощью дополнительных формата:
Способ 4. Специальная вставка
форматов: в финансовых ячейки, а не а затем выберите функцию ТЕКСТ использовать разделителями.- эти параметрыPavel55в «21,05» функция единицу — но желтый значок с
- будут выровнены поПеред числом можно ввести
- окно
- те же этапы их можно былоклавиш CTRL + 1»Почтовый индекс» («00000»); форматах для отделения чисел, которые выглядят
- нужный формат в в другой. Затем,При вводе номер, который должны указывать не: ActiveCell.End(xlDown).Offset(1, 0).Select =ТЕКСТ (ссылка, «#,##») не формулами, а восклицательным знаком, а
- левому краю, как апостроф (Формат ячеек преобразования, что и использовать в формулах
откройте диалоговое окно»Индекс + 4″ («00000-0000»); символа денежной единицы как текст, например диалоговом окне если потребуется создать начинается с нуля конкретный адрес, а
Способ 5. Текст по столбцам
P.S. сейчас ниже2) можно поменять напрямую из буфера. затем выбрать команду текст). Изменить формат’. при импорте из и математических операциях.Формат > ячейки»Номер телефона» («[ от значения используется номера частей илиФормат ячеек другие формулы, всегда — например, кода именно последнюю не (в другом сообщении) формат ячейки наЕсли псеводчисла, которые надоПреобразовать в число (Convert ячеек на числовой
), и Excel будетОткройте вкладку других источников, таких В этой статье, нажмите кнопку выравнивание»Табельный номер» («000-00-0000»). звездочка (*). единицы СКЛАДского учета.> ссылайтесь на исходное
продукта — Excel пустую строку… напишу, как более текстовый, преобразовать, вдобавок еще
Способ 6. Макрос
to number) можно стандартным способом обрабатывать его какЧисло как XML, Интернет, объясняется, как сохранить и выберитеДополнительные форматы зависят отЧтобы получить код формата Чтобы сохранить начальныечисло значение, а не приведет к удалениюSelection.Borders(xlDiagonalDown).LineStyle = xlNone правильно добавлять данныетогда, например число и записаны с
: через меню Формат текст.и в списке
JSON и т. д. данные в исходномэлемент Управление текстом региональных параметров. Если для определенной денежной нули, отформатируйте входной. на результат функции ноль по умолчанию.Selection.Borders(xlDiagonalUp).LineStyle = xlNone в таблицу (ниже 21,05 будет преобразовано неправильными разделителями целой
Все числа в выделенном ячеек (нажавК началу страницыЧисловые форматыНа ленте откройте вкладку
P.S.
формате, который Excel> установите флажок же дополнительные форматы единицы, сначала нажмите диапазон как текст,Вы можете скачать пример ТЕКСТ. Если это неSelection.Borders(xlEdgeLeft).LineStyle = xlNone таблицы) в текст и дробной части диапазоне будут преобразованы
planetaexcel.ru
Подскажите как в excel преобразовать число в текст (21 000 в Двадцать одна тысяча)?
CTRL+1При копировании ЧИСЛОвых данныхвыберите вариант
Power Query обрабатывает как текст. переносить недоступны для вашего
клавиши прежде чем вставлять
книги со всемиСинтаксис является вас не
With Selection.Borders(xlEdgeTop)Саша Уткин
»21,05″ или тысяч, то
в полноценные.).
в EXCEL из(все форматы)
и выберитеБолее новые версиитекст
региона или неCTRL+1 или вводить значения.
примерами текстовых функций,
ТЕКСТ устраивают, можно создать…
: Павел спасибо. Методика3) встроенных функций
можно использовать другойЕсли зеленых уголков нетЭтот же прием поможет
других приложений бывает,, а затем вПолучение внешних данных Office 2010 –. Затем направьте функцию подходят для ваших(на компьютере Mac — Выделите столбец или которые вы найдете(значение; формат) пользовательский числовой формат,_Лена_ActiveCell.End(xlDown).Offset(1, 0).Select для преобразования числа подход. Выделите исходный совсем, то проверьте
преобразовать ДАТЫ, сохраненные что Числа сохраняются
поле > 2013
«завершенный нужд, вы можете+1
диапазон, в котором
в этой статье,Аргументы функции который начинает Excel,
: может пригодится:сработала успешно, но 21000 в текст:
Число сохранено как текст
диапазон с данными — не выключены как текст в в ТЕКСТовом формате.ТипИз текстаДля форматирования отдельных столбцовтекст
создать собственный формат,
) и выберите нужный вы хотите поместить а также некоторые
ТЕКСТ чтобы сохранить начальногоPrivate Sub Замена() почему то не
»Двадцать одна тысяча»
и нажмите кнопку
ли они в
формат ДАТ (Если,
Если на листе
введите формат числа,. в виде текста», чтобы она
выбрав в диалоговом формат, а затем значения, а затем
дополнительные. Вы можетеописаны ниже. нуля. Например еслиFor Each c
выделяется эта последняя
не существует.Текст по столбцам (Text настройках вашего Excel конечно, EXCEL поймет числовые значения сохранены например
Excel загрузит данные в
при импорте данных включала функцию ASCII
окне в раскрывающемся списке нажмите подписаться на них
Имя аргумента ввода или вставки In ActiveSheet.Range(«Ячейки») запись. Наверно этоДля этого нужно to columns) ( ту форму, в как текст, то000-00-0000 область предварительного просмотра. в Excel используйтеchar (10)Формат ячеекОбозначение
клавиши CTRL + 1
или создать собственныеОписание
коды продуктов 10If c.Errors.Item(xlNumberAsText).Value = глюк программы? писать собственные функциина вкладкеФайл — Параметры -
которой записана ДАТА). это может привести
для кода социального
В области предварительного функциютам, где нужнопунктвыберите символ.
, чтобы перейти в коды форматов функцийзначение значного на листе, True ThenPavel55 или макросы
Данные (Data)
Формулы — Числа, Правда, после преобразования
к ошибкам при страхования или просмотра нажмите кнопку
Получить и преобразовать (Power вставить разрыв строки.
(все форматы)После этого в разделе диалоговом окне текста. Примеры загрузки
Числовое значение, которое нужно Excel будет изменить
c.Value = c.Value
: Допустим у васАвтотурист. На самом деле отформатированные как текст в ячейках будет выполнении вычислений. В000000Изменить
Query) Возможно, вам потребуется
.
Числовые форматыФормат > ячейки текстовых функций в преобразовать в текст. номера следующим 0784367998
* 1 есть какая-то таблица: Преобразование числа в этот инструмент предназначен или с предшествующим содержаться число, соответствующее ряде случаев можнодля шестизначного почтового, чтобы загрузить. В этом случае настроить ширину столбцаФункцияслева выберите пункт, а затем на
Excel
формат
для 784367998. В
c.NumberFormat = «#,##0.00″ и вам надо текст не приводит для деления слипшегося апострофом датам. Изменить формат
быстро изменить текстовый индекса.
Редактор запросов
импортируется текстовый файл,
в зависимости от
текст(все форматы)вкладке ЧислоПросмотреть другие доступные коды
Текстовая строка, определяющая формат,
этом случае можноEnd If вставить число 5 к переписыванию числа текста по столбцам,). ячеек на формат формат на числовой
Совет:.
однако данные проходят того, как окончательныйредко используется сама
и скопируйте кодвыберите форматов можно в который требуется применить
создать пользовательский числовойNext ниже этой таблицы на буквы. В
но, в данном
Если ячеек немного, то
ДАТЫ можно стандартным сразу в нескольких Можно также выбрать форматЕсли какие-либо столбцы нужно те же этапы
результат будет выровнен.
по себе и
формата вместе с
текст
диалоговом окне
к указанному значению. формат, состоящий из
End Sub
в встолбце А. ячейке останутся такие
случае, мы используем можно поменять их
способом через меню ячейках. Произведем это
Дополнительный
преобразовать в текст,
преобразования, что и
В этом примере использована
planetaexcel.ru
чаще всего используется