Excel для Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше
В Excel нет функции по умолчанию, которая отображает числа в качестве английских слов на листах, но вы можете добавить эту возможность, вклеив следующий код функции SpellNumber в модуль VBA (Visual Basic для приложений). Эта функция позволяет преобразовать суммы в рублях и центах в слова с помощью формулы, поэтому 22,50 будет читаться как Twenty-Two рублях и fifty Cents. Это может быть очень полезно, если вы используете Excel в качестве шаблона для печати проверок.
Если вы хотите преобразовать числовое значение в текстовый формат, не отображая их как слова, используйте вместо этого функцию ТЕКСТ.
Примечание: Корпорация Майкрософт предоставляет примеры программирования только для иллюстрации без каких-либо гарантий, как выраженных, так и подразумеваемых. При этом подразумеваемые гарантии пригодности для определенной цели включают, но не ограничив эту возможность. В этой статье предполагается, что вы знакомы с языком программирования VBA и средствами, которые используются для создания и отлагки процедур. Инженеры службы поддержки Майкрософт могут объяснить функциональные возможности конкретной процедуры. Однако они не будут изменять эти примеры, чтобы обеспечить дополнительные функции или создавать процедуры в порядке, отвечая вашим требованиям.
Создание функции SpellNumber для преобразования чисел в слова
-
Используйте клавиши ALT+F11, чтобы открыть редактор Visual Basic (VBE).
-
На вкладке Insert (Вставка) нажмите кнопку Module (Модуль).
-
Скопируйте приведенный ниже код.
Примечание: Этот код автоматизирует преобразование чисел в текст на всем компьютере.
Option Explicit 'Main Function Function SpellNumber(ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " ' String representation of amount. MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none. DecimalPlace = InStr(MyNumber, ".") ' Convert cents and set MyNumber to dollar amount. If DecimalPlace > 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber <> "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "One Dollar" Case Else Dollars = Dollars & " Dollars" End Select Select Case Cents Case "" Cents = " and No Cents" Case "One" Cents = " and One Cent" Case Else Cents = " and " & Cents & " Cents" End Select SpellNumber = Dollars & Cents End Function ' Converts a number from 100-999 into text Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) ' Convert the hundreds place. If Mid(MyNumber, 1, 1) <> "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Convert the tens and ones place. If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Result End Function ' Converts a number from 10 to 99 into text. Function GetTens(TensText) Dim Result As String Result = "" ' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText) Case 10: Result = "Ten" Case 11: Result = "Eleven" Case 12: Result = "Twelve" Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen" Case 16: Result = "Sixteen" Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result = "Nineteen" Case Else End Select Else ' If value between 20-99... Select Case Val(Left(TensText, 1)) Case 2: Result = "Twenty " Case 3: Result = "Thirty " Case 4: Result = "Forty " Case 5: Result = "Fifty " Case 6: Result = "Sixty " Case 7: Result = "Seventy " Case 8: Result = "Eighty " Case 9: Result = "Ninety " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) ' Retrieve ones place. End If GetTens = Result End Function ' Converts a number from 1 to 9 into text. Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "One" Case 2: GetDigit = "Two" Case 3: GetDigit = "Three" Case 4: GetDigit = "Four" Case 5: GetDigit = "Five" Case 6: GetDigit = "Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else: GetDigit = "" End Select End Function
-
Вставьте строки кода в поле Module1 (Code) (Модуль 1 — код).
-
Нажмите ALT+Q, чтобы вернуться в Excel. Функция SpellNumber готова к использованию.
Примечание: Эта функция работает только для текущей книги. Чтобы использовать эту функцию в другой книге, необходимо повторить действия по копированию и вкопии кода в нее.
К началу страницы
Использование функции SpellNumber в отдельных ячейках
-
Введите формулу =SpellNumber(A1)в ячейку, в которой нужно отобразить записанное число, где A1 — это ячейка с числом, преобразуемом в ячейку. Вы также можете ввести значение вручную, например =SpellNumber(22,50).
-
Нажмите ввод, чтобы подтвердить формулу.
К началу страницы
Сохранение книги с функцией SpellNumber
В Excel не удается сохранить книгу с функциями макроса в стандартном формате книги без макроса (XLSX). Если нажать кнопку «>сохранить». Откроется диалоговое окно проекта VB. щелкните Нет.
Вы можете сохранить файл как книгу Excel Macro-Enabled (XLSM), чтобы сохранить его в текущем формате.
-
На вкладке Файл выберите команду Сохранить как.
-
В меню «Тип сохранения» выберите пункт «Macro-Enabled Excel».
-
Нажмите кнопку Сохранить.
К началу страницы
Нужна дополнительная помощь?
Цифры прописью в Excel — вот так чудо, и это один из наглядных примеров рационального использования достижений автоматизации процессов. О такой возможности многие пользователи и не догадываются, а между тем можно порядком сэкономить драгоценное время.
Цифры прописью в Excel
Для замены цифр прописью в Excel потребуется воспользоваться дополнительной надстройкой, но не стоит пугаться, если вы ничего в этом не понимаете. Читайте и делайте согласно инструкции, и все у вас получится.
Интересно. Как сделать подобное в Word читайте здесь.
Число прописью в Экселе. Установка
В данном уроке вам будет предложено скачать бесплатно корректно работающий вариант приложения для написания числа прописью найденного на просторах интернета.
Как правило, необходимость конвертировать цифры в текст возникает в различных бухгалтерских и платежных документах, поэтому радует и наличие возможности выбора основных валют (рубли, доллары и евро).
Довольно лирики, давайте приступим и подробно разберемся, как написать число прописью.
Делаем в следующем порядке:
1. Скачиваем и распаковываем файл кликнув здесь.
2. Закиньте файл NUMSTR.XLA в папку Library, которая находится C:ProgramFiles (x86)MicrosoftOfficeOffice14Library (возможно расположение немного отличается, зависит от версий ПО).
3. Запустите Excel и на вкладке «Разработчик» кликните по кнопке «Надстройки» (если ее нет, читайте ниже).
Внимание. Если нет вкладки «Разработчик», пройдите Файл → Параметры → Настройка ленты и установите галку напротив пункта «Разработчик».
4. В окне «Надстройки» отметьте пункт NumStrAdd-in и нажмите ОК.
Усё можно пользоваться.
Число прописью в Excel. Как пользоваться
Расширение установлено, теперь несколько слов как использовать:
5. Для примера напишите в произвольной ячейке число цифрами.
6. Кликните по кнопке «Вставить Функцию».
7. В открывшемся окне «Мастер функций» в списке «Категория» выберите «Определенные пользователем».
8. После этого выберите необходимую функцию:
NumStr – отобразит цифры буквами в Excel;
RubStr — преобразует число прописью в рублях;
USDStr – конвертирует число прописью в долларах;
EURStr – выведет сумму прописью в евро.
9. В следующем окне «Аргументы функции» укажите в поле ячейку с данными (кликнут курсором) или непосредственно число цифрами, завершив нажатием кнопки ОК и растянувшейся улыбкой.
Интересно. Как закрепить строки в Excel читайте тут.
Excel число прописью. Видеоурок
Премьера уже скоро…
- ВКонтакте
Download SocComments v1.3
Содержание
- Конвертация числа в текстовый вид
- Способ 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 цифр, которые записаны в числовом варианте, в текстовый формат и в обратном направлении. Выбор определенного способа зависит от многих факторов. Прежде всего, это поставленная задача. Ведь, например, быстро преобразовать текстовое выражение с иностранными разделителями в числовое можно только использовав инструмент «Текст столбцами». Второй фактор, который влияет на выбор варианта – это объемы и частота выполняемых преобразований. Например, если вы часто используете подобные преобразования, имеет смысл произвести запись макроса. И третий фактор – индивидуальное удобство пользователя.
По умолчанию столбцы в Microsoft Excel имеют буквенное обозначение, которое используется вместе со строками для обозначения ячеек в функциях и при разметке таблицы. Некоторым пользователям такой подход не нравится – они предпочли бы видеть цифры на всей панели координат. Об этом изменении и пойдет речь далее.
Кстати, вы можете использовать следующие инструкции и для обратной настройки, когда вдруг обнаружили, что вместо букв на верхней панели отображаются числа, а ячейки обозначить никак не удается. Обратите внимание на следующий скриншот, чтобы понять, о какой именно панели идет речь.
Выберите один из двух методов, отталкиваясь от того, какой будет удобнее именно для вас. Чаще всего используются настройки через графическое меню, а любителям макросов я предложу альтернативу во втором способе.
Способ 1: Настройка параметра «Стиль ссылок»
В настройках самой программы Excel есть необходимый параметр, позволяющий переключить стиль ссылок, то есть сделать так, чтобы со всех сторон отображались цифры, заменяя собой буквенный ряд. Для этого достаточно выполнить такие действия:
-
Откройте любой лист и перейдите на вкладку «Файл».
-
На панели слева щелкните по надписи «Параметры».
-
Перейдите к разделу «Формулы» и активируйте галочку возле пункта «Стиль ссылок R1C1». Соответственно, если вам нужно убрать цифры сверху, галочку эту надо снять.
-
По необходимости наведите курсор на значок с информацией рядом со строкой, чтобы получить более детальное описание от разработчиков.
-
Перед выходом обязательно нажмите «ОК», применив тем самым изменения.
Предлагаю немного времени уделить разбору создания функций при использовании нового метода ссылок на ячейки. Заострять на этом внимание не буду, только поверхностно пробегусь по общим принципам.
-
Теперь при создании функции вам нужно указать R для строки и задать номер клетки по счету.
-
Далее укажем C и номер, обозначив столбец. После введения данных ячейка должна выделиться, что обозначает ее корректный выбор.
-
При выделении кнопкой мыши написание немного отличается, но разбирать его не будем, поскольку самостоятельно так писать сложнее, а результат все равно будет один и тот же.
Теперь главное не запутаться в новом стиле ссылок и корректно заполнять функции. Учитывайте, что иногда их приходится редактировать, когда изменения вносятся в уже готовую таблицу, но почти во всех случаях корректное конвертирование формул происходит автоматически.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Способ 2: Использование макроса
Простой макрос, состоящий всего из одной строки, точно так же меняет параметр формата ссылок, как это было показано выше, но вам не придется обращаться к параметрам Excel. Вместо этого осуществляются другие действия, которые кому-то покажутся сложнее, а для кого-то будут отличным методом.
-
Если вкладка «Разработчик» у вас еще не активирована, перейдите в «Параметры».
-
Выберите раздел «Настроить ленту» и отметьте галочкой соответствующий пункт, после чего примените изменения.
-
Перейдите на ту самую вкладку и щелкните ЛКМ по «Visual Basic».
-
Используйте сочетание клавиш Ctrl + G для вызова окна редактора.
-
Вставьте туда строку Application.ReferenceStyle=xlA1, если хотите вернуть буквы вместо цифр на верхней панели.
-
Для замены букв на цифры используйте другую строку: Application.ReferenceStyle=xlr1c1.
-
Обязательно нажмите Enter для применения изменений, после чего вернитесь к таблице и проверьте, как сейчас отображается система координат.
Эти два простых метода позволят настроить координаты так, как нужно именно вам, или же вернут исходное состояние программы, чтобы вы не путались в номерах ячеек при создании таблиц.
Запишем число прописью в Excel без использования
VBA
. Вспомогательные диапазоны разместим в личной книге макросов. Кроме того, добавим руб./коп. для записи денежных сумм, например: четыреста сорок четыре руб. 00 коп.
Иногда требуется записать число прописью:
256
записать как
двести пятьдесят шесть
. Набирать этот текст безумно скучно, кроме того легко ошибиться, поэтому давно написаны макросы на VBA, которые легко справляются с этой задачей.
В статье
Число прописью (статичный вариант)
приведено решение этой задачи позволяющей перевести число в текстовую форму по следующему алгоритму:
- вводим число в определенную ячейку;
-
с помощью формул, вспомогательных диапазонов с текстом и
имен
получаем число прописью;
-
копируем результат вычисления формулы (число прописью) в
Буфер обмена
; -
вставляем текст в любую открытую книгу «Как значение» (
).
Это не всегда удобно. Хочется по аналогии с функциями на VBA написать что то вроде =ЧислоПрописью(А1) и получить результат. Все промежуточные вычисления должны быть «за кадром». Но, создание пользовательских функций это прерогатива VBA.
Тем не менее, можно предложить следующее решение с помощью обычных формул:
- разместить в Личной книге макросов (PERSONAL.XLSB) вспомогательные диапазоны, содержащие некоторые числа прописью (от 0 до 999);
-
создать формулу, переводящую в текст любое число от 0 до 1 млрд. с помощью вспомогательных диапазонов и
имен
;
-
в любой книге, где требуется записать число прописью создать
Именованную формулу
ЧислоПрописью
сотносительной
ссылкой на исходное число (относительную ссылку можно создать так, чтобы она позволяла выводить число прописью, например, в соседней ячейке слева от исходного числа).
В результате вышеуказанных манипуляций можно будет, например, записав в ячейке
G
6
исходное число, а в ячейке
G7
формулу
=ЧислоПрописью
, и получить нужный результат.
Все это реализовано в
файле примера
.
Как и в примере статьи
Число прописью (статичный вариант)
на листе
Служ
размещены вспомогательные диапазоны, содержащие некоторые числа прописью в Excel.
Теперь эти диапазоны длиннее (числа от 1 до 999) и содержат слова
тысяча
и
миллион
с учетом склонения. Также создан диапазон для отображения слова
Рублей
с учетом склонения.
Теперь все готово для записи формулы переводящей исходное число (ячейка
B
6
) в текст:
=СЖПРОБЕЛЫ( ИНДЕКС(Миллионы;ОСТАТ(ОТБР(B6/1000000);1000000)+1)&» «& ИНДЕКС(Тысячи;ОСТАТ(ОТБР(B6/1000);1000)+1)&» «& ИНДЕКС(Единицы;ОСТАТ(B6;1000)+1))
Задача в принципе решена, осталось только разместить вспомогательные диапазоны в Личную книгу макросов PERSONAL.XLSB, для того чтобы формула, переводящая число в текст была доступна в любой книге.
В Windows XP эта книга находится в папке C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда она будет автоматически загружается при каждом запуске приложения Excel. В Windows Vista эта книга хранится в папке C:Usersимя_пользователяApplication DataMicrosoftExcelXLStart.
Если Личная книга макросов еще не была создана, то скопируйте лист
Служ
из файла примера в новую книгу, и сохраните ее в директорию C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart (для XP) под именем PERSONAL.XLSB.
Если Личная книга макросов уже была ранее создана, то через меню
отобразите ее, скопируйте в нее лист
Служ,
сохраните Личную книгу макросов (можно ее потом скрыть
).
Теперь откройте
книгу, в которой нужно записать число прописью
. Исходное число разместите, например, в ячейке
А1
. Введите в нужную ячейку формулу:
=ЕСЛИ(A1;СЖПРОБЕЛЫ( ИНДЕКС(PERSONAL.XLSB!Миллионы;ОКРУГЛВНИЗ(A1;-6)/1000000+1)&» «& ИНДЕКС(PERSONAL.XLSB!тысячи;ОСТАТ(ОТБР(A1/1000);1000)+1)&» «& ИНДЕКС(PERSONAL.XLSB!Единицы;ОСТАТ(A1;1000)+1)&» руб. «&ТЕКСТ((A1-ЦЕЛОЕ(A1))*100;»00″)&» коп.»);»ноль руб. 00 коп.»)
Формула отобразит число прописью. Ячейки, содержащие исходное число и формулу, можно перенести в любое место в книге или даже в другую книгу.
Чтобы еще больше приблизиться к идеалу создадим
именованную формулу
ЧислоПрописью
. Для этого:
-
выделите ячейку
B1
; -
через меню
создайте именованную формулу
ЧислоПрописью;
-
в поле
Диапазон
введите формулу указанную выше: - нажмите ОК;
-
в ячейке
В1
введите формулу
=ЧислоПрописью
-
ячейка
В1
будет содержать число прописью.
Теперь ячейки
А1
и
В1
можно скопировать и перенести в любое место в книге, но они должны быть всегда на одной строке и в соседних столбцах, т.к. именованной формуле использована
относительная ссылка
.
При пересылке файла, например, по электронной почте, формула будет продолжать работать, не смотря на то, что Личная книга макросов не пересылалась, т.е. Ваши коллеги получившие файл, смогут с ним работать как Вы.