Преобразование числа в текст и обратно в Microsoft Excel
Смотрите также ЗНАЧЕН, принимающей в виде текстовой строки, ДЛСТР() в ячейке командой сайта office-guru.ru В этом случае краю, а не поймёт, что этиSelection.NumberFormat = «General»«Работа с данными» другое арифметическое действие, в числовые. возможность обратного конвертированияУрок: и т.д.
F2 о том, что
Конвертация числа в текстовый вид
Одной из частых задач, качестве параметра результат введенной в кавычкахB3Источник: http://www.excel-easy.com/examples/numbers-to-text.html необходимо преобразование чисел по правому. текстовые значения являютсяSelection.Value = Selection.Valueкликаем по значку которое не ведетТакже для преобразования текстовых через окно форматирования.Мастер функций в ExcelПосле того, как все, а затем щелкаем ячейки были преобразованы с которыми сталкиваются работы функции ПРАВСИМ, (например, ЗНАЧЕН(“9 300;Перевел: Антон Андронов
из текстового форматаВыделите ячейку или диапазон числами.End Sub
Способ 1: форматирование через контекстное меню
«Текст по столбцам» к изменению значений значений в числовыеВыделяем диапазон, содержащий цифры
- Теперь давайте разберемся, какими требуемые параметры введены, по клавише в текстовый вид. пользователи программы Эксель, мы производим прямое ₽”) или ссылкисоздайте табличку, состоящую изАвтор: Антон Андронов обратно в числовой. ячеек, содержащий числа,Скопируйте пустую ячейку.После этого закрываем редактор,. (сложение или вычитание можно использовать специальные в текстовом варианте.
- способами можно выполнить щелкаем по кнопкеEnterНо если мы попытаемся является преобразования числовых преобразование выделенных символов
- на ячейку таблицы, количества столбцов =Извлечем число из конца Подробнее читайте Преобразование которые требуется отформатироватьВыделите диапазон выполнив нажатие стандартнойЗапускается нуля, выполнение возведения формулы. Рассмотрим, как Кликаем правой кнопкой обратную задачу, а«OK». подсчитать автосумму, то выражений в текстовый
- в числовое значение. в которой содержится количеству букв в текстовой строки, например, чисел из текстового как текст. Выделение
- A1:A5 кнопки закрытия вМастер текстов в первую степень это сделать на мыши. В контекстном именно как преобразовать.Данные преобразовываются в текстовый она отобразится в формат и обратно.В результате получим следующее: текст.
- текстовой строке; из строки «Филатова123» формата в числовой. ячейки или диапазона., затем щелкните по верхнем правом углу. В первом окне и т.д.) практике. меню выбираем позицию текст в числоКак видим, значение первого вариант. ячейке ниже. Это Этот вопрос часто
- То есть, в даннойПримечания:заголовкам столбцов присвойте порядковые получим «123».Можно также использовать функциюСовет: нему правой кнопкой окна. обратите внимание, чтобыУрок:В пустой ячейке, расположенной«Формат ячеек…» в Excel. элемента заданного диапазонаЕщё одним вариантом преобразования означает, что преобразование заставляет потратить на части таблицы представленыФормат текста, принимаемого в номера;Пусть текстовая строка Филатова123 текст для преобразования Можно также выделить пустые
мыши и выберитеВыделяем фрагмент на листе, переключатель формата данных
Способ 2: инструменты на ленте
Как сделать автозаполнение в параллельно первому элементу.Проще и быстрее всего отобразилось в ячейке, числовых данных в было совершено не решение много времени,
- 265 единиц товаров. качестве параметра функциив ячейку находится в ячейке числа в текст ячейки, отформатировать их пункт который нужно преобразовать. стоял в позиции Excel диапазона, который следуетВыполняется запуск окна форматирования. выполнить конвертацию текстового
- которую мы выделили тестовые в Экселе полностью. В этом если юзер не
- Пример 2. Данные о ЗНАЧЕН, должен бытьС3A1 в заданном числовом как текст, аPaste Special Жмем на значок«С разделителями»Следующий способ по принципу преобразовать, ставим знак Как и в
варианта с помощью ещё в первом
Способ 3: использование функции
является применение специальной и заключается одна знает четкого алгоритма зарплатах сотрудников некоторого одним из предусмотренныхвведите формулу =ПСТР($A3;C$2;1). Чтобы извлечь число формате. Примеры этот затем ввести числа.(Специальная вставка).«Макросы». По умолчанию он действия очень похож «равно» предыдущий раз, переходим специального значка, который пункте данного руководства. функции, которая так из фишек Excel. действий. Давайте разберемся, предприятия представлены в в Excel (время, и протяните ее
- 123, расположенное справа, способ сохранения начальных Такие числа будутВыберите опцию, который расположен на должен находиться в на предыдущий с(=)
- во вкладку сообщает об ошибке. Для того, чтобы и называется – Программа не дает как можно решить таблице Excel. Предприятие дата, число, денежный). вправо, заполнив все запишем формулу массива:
- нулей в числовых иметь текстовый формат.Add вкладке
этой позиции, но
той лишь разницей,и двойной символ«Число» Этот значок имеет перенести и другиеТЕКСТ завершить преобразование данных
обе задачи различными приобрело программный продукт, Результатом выполнения функции столбцы.=1*ПСТР(A1; кодахсм. Дополнительные сведенияНа вкладке(Добавить).«Разработчик» проверить состояние будет
что для его «минус». В группе вид восклицательного знака, значения, нужно скопировать. Данный способ подойдёт, наиболее интуитивно понятным способами. база данных которого будет являться ошибкаЗаменив формулу =ПСТР($A3;C$2;1) наПОИСКПОЗ(ЛОЖЬ;ЕОШИБКА(1*ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1));0); об использовании функцииГлавнаяНажмитев группе не лишним. Затем использования не нужно(—)«Числовые форматы»
вписанного в пиктограмму формулу в смежные в первую очередь, способом.Скачать последнюю версию
- не поддерживает денежный #ЗНАЧ!, если исходный =ЕСЛИ(ЕОШ(—ПСТР($A3;C$2;1));»»;—ПСТР($A3;C$2;1)) можно вывести255) текст отображается функцияв группеOK«Код» кликаем по кнопке создавать дополнительный столбец.. Далее указываем адреснам нужно выбрать в виде ромба. элементы листа. Устанавливаем если вы хотитеЧтобы завершить преобразование, нам Excel формат данных (только текст не соответствует только числовые значения.Если число расположено в текст.Число
- ..«Далее»В любую пустую ячейку первого элемента трансформируемого значения, которые позволят Он появляется при курсор в нижний перенести числа как нужно последовательно двойнымВсе ячейки в Экселе числовой). Было принято одному из этих Собрать все числовые начале или серединеПо умолчанию числа выровненыщелкните стрелку рядомРезультат:
- Открывается окно записанных в. на листе вписываем диапазона. Таким образом, преобразовать текст в выделении ячеек, которые правый угол элемента, текст в отдельный щелчком левой кнопки имеют определенный формат, решение создать отдельную типов данных. значения в одну значения, то формула по правому краю, с полемВсе значения выровнены
вашей версии программыВо втором окне также цифру происходит двойное умножение число. К ним имеют пометку в который содержит формулу. столбец. Кроме того,
- мыши поместить курсор который задает программе, таблицу, в которойНа практике функция ЗНАЧЕН ячейку можно с работать не будет а текст –Числовой формат по правому краю макросов. Находим макрос оставляем все без«1» на значение относится пункты левом верхнем углу
Курсор преобразуется в он позволит сэкономить
в каждый элемент как ей рассматривать
Конвертация текста в число
вся информация о используется довольно редко, помощью формулы =—Т(C7&D7&E7&F7&G7&H7&I7&J7&K7&L7&M7&N7&O7&P7&Q7) (см. файл примера). по левому. Этоти выберите пункт
Способ 1: преобразование с помощью значка об ошибке
и обрабатываются, как с наименованием изменений и жмем. Затем выделяем её«-1»«Общий» зеленым цветом, обсуждаемую маркер заполнения, имеющий время на преобразовании, диапазона в отдельности то или иное зарплате представлена в поскольку в Excel или =СЦЕПИТЬ(C7;D7;E7;F7;G7;H7;I7;J7;K7;L7;M7;N7;O7;P7;Q7)+0Общая формула, позволяющая извлечь пример научит васТекстовый числа.«Текст_в_число» на кнопку и жмем на. Как известно, умножениеи нами ранее. Эта вид небольшого крестика. если объем данных и нажать на выражение. Например, даже виде числовых значений. реализован механизм автоматическогоЕсли в текстовой строке число из начала, преобразовывать числа в.Кроме этого, можно воспользоваться, выделяем его и«Далее». знакомый значок «минус» на «минус»
- «Числовой» пометка ещё не Зажимаем левую кнопку слишком большой. Ведь, клавишу
- если в нихИзначально таблица выглядит следующим преобразования значений подобно расположено несколько чисел середины и конца
- текстовые строки, представленныеПримечание: функцией жмем на кнопку
А вот после открытия«Копировать» дает «плюс». То. Какой бы из свидетельствует о том, мыши и протаскиваем
- согласитесь, что перещелкиватьEnter будут записаны цифры, образом: некоторым языкам программирования, и их нужно текстовой строки посложнее цифрами. Если пункт
- VALUE«Выполнить» третьего окнана ленте. есть, в целевой них вы не
что данные находящиеся по пустым ячейкам каждую ячейку в
Способ 2: конвертация при помощи окна форматирования
. Чтобы упростить задачу но формат выставленДля конвертирования денежных данных в которых присутствует вывести в разные и выглядит так:
- Выделите диапазон ячеекТекстовый(ДАТАЗНАЧ):.Мастера текстовВыделяем область на листе, ячейке мы получаем
- выбрали, программа будет в ячейке обязательно параллельно диапазону, в диапазоне, насчитывающем сотни вместо двойного щелчка текстовый, то приложение в числовые была неявное преобразование типов ячейки, то можно=1*ПСТР(A1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(1*ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1));0);СЧЁТ(1*ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1)))A1:A4не виден, прокрутитеИ ещё один пример.Как видим, тут женужно нажать на которую следует преобразовать. то же значение, расценивать цифры, введенные ошибочные. Но цифры, котором находятся исходные или тысячи строк можно использовать нажатие будет рассматривать их, использована функция ЗНАЧЕН. данных. Эта функция предложить следующий алгоритмО построении этой формулыи назначьте им список до конца Используйте функцию происходит преобразование текстового кнопку Кликаем по ней которое было изначально, в ячейку, как расположенные в ячейке данные.
- – это не функциональной клавиши как простой текст, Расчет выполняется для реализована с целью (см. файл примера, смотрите . Это формат с помощью полосыRIGHT
выражения в числовой«Подробнее» правой кнопкой мыши. но уже в
Способ 3: конвертация посредством инструментов на ленте
числа. Производим выбор имеющей текстовый вид,Теперь весь ряд заполнен самый лучший выход.
- F2 и не сможет каждого сотрудника по-отдельности. совместимости с прочими лист Общий случай): также формула массиваТекстовый прокрутки.(ПРАВСИМВ) или любую формат.. В открывшемся меню числовом виде. Даная и жмем на
- вызывают подозрения у требуемыми данными. НоУстанавливаем курсор в первый. проводить с такими Приведем пример использования программными продуктами, поддерживающимикак в предыдущем примере — не забудьте
(Text).Числовой формат списка другую текстовую функцию,
Способ 4: применение формулы
Урок:Открывается окно дополнительной настройки дважды переходим по процедура называется двойным кнопку. Если вы программы в том,
- и это ещё элемент диапазона, вПосле выполнения данной процедуры данными математические вычисления. для сотрудника с работу с таблицами. каждый символ текстовой нажатьЧисла, прописанные через апостроф, в Excel Online чтобы извлечь цифрыКак создать макрос в импорта текста. В пункту бинарным отрицанием. выбрали значение что данные могут не все. По котором будет выводиться со всеми ячейками Для того, чтобы фамилией Иванов:Функция полезна в случаях, строки выводим вCRTL+SHIFT+ENTER расцениваются программой, как
- Советы: из текстовой строки. Экселе поле«Специальная вставка»Жмем на клавишу«Числовой» быть внесены некорректно. сути, все элементы результат преобразования. Щелкаем области, данные в Excel воспринимал цифры=ЗНАЧЕН(B2)
- когда числовые значения отдельную ячейку;. текст. А затем, применивКак видим, существует довольно«Разделитель целой и дробной.Enter, то в правой Поэтому на всякий
- нового диапазона содержат по значку них будут восприниматься именно как число,Аргументом функции является поле внесены в ячейкис помощью функций СЖПРОБЕЛЫ()Если в текстовой строкеКогда вы добавляете текстовуюЧтобы использовать десятичные знаки
- функцию много вариантов преобразования части»В окне специальной вставки, после чего получаем части окна появится случай она их в себе формулы.«Вставить функцию» программой, как текстовые они должны быть денежного формата, содержащее с установленным текстовым и (СЦЕПИТЬ() или
расположено несколько чисел, строку к числу в числах, хранящихсяVALUE в Excel цифр,устанавливаем точку, а выставляем переключатель в готовое преобразованное значение. возможность отрегулировать представление помечает, чтобы пользователь Выделяем эту область, который размещен около выражения, а, следовательно, вписаны в элемент
информацию о заработной форматом данных. Также аперсанда &) выводим
Способ 5: применение специальной вставки
то вышеуказанные формулы и при этом как текст, возможно,(ДАТАЗНАЧ), преобразуйте эти которые записаны в в поле блоке
- Для того, чтобы числа: выставить количество обратил внимание. Но, и жмем на строки формул. и автосумма будет листа с общим плате Иванова. Аналогично в Excel можно
- текстовую строку без работать не будут. хотите сохранить форматирование придется вводить эти цифры в числа: числовом варианте, в«Разделитель разрядов»«Операция» применить данную формулу
- десятичных знаков после к сожалению, такие значокЗапускается окно равна нулю. Кроме или числовым форматом. производится расчет для использовать надстройку, выполняющую букв (т.е. только В этом случае
- этого числа, используйте числа с десятичнымиУрок подготовлен для Вас текстовый формат и— апостроф. Затемв позицию для всех других запятой, установить разделителями пометки Эксель выдает
Способ 6: использование инструмента «Текст столбцами»
«Копировать»Мастера функций того, как видим,Для начала рассмотрим различные остальных сотрудников. В поиск чисел, отформатированных числа), между числами можно предложить следующий функцию разделителями. командой сайта office-guru.ru в обратном направлении. делаем один щелчок«Умножить» ячеек диапазона, используем между разрядами. После не всегда даже, который расположен во. В категории левый верхний угол варианты решения задачи результате получим: в качестве текста — 1 пробел; подход:TEXTПри вводе номер, которыйИсточник: http://www.excel-easy.com/examples/text-to-numbers.html Выбор определенного способа по кнопке
- . Вслед за этим маркер заполнения, который того, как настройка тогда, когда цифры вкладке«Текстовые» ячеек будет окрашен конвертации чисел вПример 3. Самолет вылетел и последующее преобразование
- с помощью функции ПОИСК()скопируйте столбец с текстовыми(ТЕКСТ). начинается с нуляПеревел: Антон Андронов зависит от многих«OK» жмем на кнопку ранее был применен выполнена, жмем на представлены в текстовом«Главная»выделяем пункт в зеленый цвет. текстовый вид.
- согласно расписанию в их в числовой находим начальные позиции строками, содержащие числа,Без применения функции
- — например, кодаАвтор: Антон Андронов факторов. Прежде всего,.«OK» нами для функции кнопку
- виде, поэтому нижена ленте инструментов«ТЕКСТ» Это также являетсяЧаще всего пользователи выполняют 13:40 и должен формат. каждого числа; в MS WORD;TEXT продукта — ExcelПримечание: это поставленная задача.
- Возвращаемся в третье окно.ТЕКСТ«OK» описанный способ подходит группе
- . После этого кликаем косвенным признаком того, форматирование числовых выражений был совершить посадкуЧаще всего функция ЗНАЧЕНс помощью функции ПСТР(),нажмите(ТЕКСТ) результат будет приведет к удалению
Способ 7: применение макросов
Мы стараемся как Ведь, например, быстроМастера текстовПосле этого действия все.. не для всех«Буфер обмена» по кнопке что элементы, в в текстовые через в конечном пункте используется для преобразования ЛЕВСИМВ(), ПРАВСИМВ() выводимCTRL+H следующим: ноль по умолчанию.
- можно оперативнее обеспечивать преобразовать текстовое выражениеи жмем на значения выделенной областиТеперь мы имеем диапазон,Теперь, как и в случаев..«OK»
- которых находятся цифры, контекстное меню. перелета в 17:20. результатов работы функций
числа в отдельные
, т.е. вызовите инструмент
А с использованием функции
Если это не вас актуальными справочными с иностранными разделителями кнопку будут преобразованы в который заполнен значениями
- случае преобразования числаВыделяем ячейку, в которойДалее, если мы хотим. преобразованы в текстовыйВыделяем те элементы листа, Во время полета ПСТР и ЛЕВСИМВ ячейки. Найти и Заменить;
- TEXT является вас не материалами на вашем в числовое можно«Готово» числовые. Теперь при с формулами. Выделяем в текст, нам содержится зеленый индикатор
- сохранить оба диапазонаОткрывается окно аргументов оператора вариант отображения. Хотя в которых нужно
произошел инцидент, в (ПРАВСИМВ), однако дляРешение из файла примера
В поле Найти введите(ТЕКСТ): устраивают, можно создать языке. Эта страница только использовав инструмент. желании можно удалить его и жмем нужно прощелкать все о возможной ошибке. (исходный и преобразованный),ТЕКСТ этот признак не преобразовать данные в связи которым рейс корректного отображения к позволяет извлекать от ^$ (любая буква)Примечание: пользовательский числовой формат, переведена автоматически, поэтому«Текст столбцами»Как видим, после выполнения цифру на кнопку ячейки, установив в Кликаем по появившейся не снимаем выделение
. Данная функция имеет
lumpics.ru
Преобразование текста в числа в Excel
всегда является обязательным текст. Как видим, был задержан на результатам вычислений данных 2-х до 4-х или его выберитеКод который начинает Excel,
- ее текст может. Второй фактор, который данных действий числа«1»«Копировать» каждую из них
- пиктограмме. с области, которая следующий синтаксис: и в некоторых во вкладке определенное время. Самолет
- функций можно просто чисел из текстовых из меню (см.#,## чтобы сохранить начального содержать неточности и влияет на выбор приняли привычный для, которую мы использоваливо вкладке
в целях конвертации.«Главная» после этого клавишу в нем значение по ней правой
Открывшееся окно имеет два отсутствует.на панели инструментов Необходимо определить время
Подробнее рассмотрим это 15 символов. Прив поле Заменить на: запятой в больших ввода или вставки нас важно, чтобы объемы и частота а это значит,Ещё одним вариантом, приили применяем сочетаниеEnter «
кнопкой мыши. Происходит поля, которые соответствуют
Урок:
в блоке
задержки в часах
office-guru.ru
Форматирование чисел в виде текста
в одном из желании решение можно оставьте пустым (если числах. В русской коды продуктов 10 эта статья была выполняемых преобразований. Например, что они одновременно котором можно преобразовать клавиш.Преобразовать в число» запуск контекстного списка данным аргументам:Как изменить формат в«Число» и минутах. Данные примеров. легко расширить на все числа в локализации Excel запятую значного на листе,
вам полезна. Просим если вы часто были преобразованы из текст в числовойCtrl+CПосле выполнения этих действий. действий. Выбираем в«Значение» Excelв специальном поле о времени вылета, большее количество символов строке нужно вывести необходимо заменить на Excel будет изменить вас уделить пару используете подобные преобразования,
текстовых данных в вид, является применение. все значения выбранногоВ выделенном элементе данные нем позициюи
-
Преобразовать число в текстовый отображается информация о расчетного и фактическогоПример 1. В таблицу и чисел.
одним числом, т.е. пробел. номера следующим 0784367998 секунд и сообщить, имеет смысл произвести числовые. инструмента
-
Выделяем исходную область и диапазона преобразуются в тут же будут«Специальная вставка»«Формат» вид можно также том, что данные времени прибытия занесены Excel были автоматическиСовет:
текстовая строка 123Филато11в6а будетЕще один пример с для 784367998. В помогла ли она запись макроса. ИЕсли вам часто приходится«Текст столбцами»
производим щелчок по нужный нам вид.
преобразованы в числовой. Среди вариантов действий
-
. воспользовавшись инструментами на элементы имеют общий в ячейки таблицы выгружены некоторые данныеВ статье Извлекаем
-
преобразована в 123116) применением процентного формата: этом случае можно вам, с помощью третий фактор – преобразовывать большие области. Его есть смысл ней правой кнопкойПеревести текстовые данные в вид. в открывшемся спискеВ поле ленте, в частности, формат, а значит, формата «Дата». о продуктах, содержащихся число из начала или введите пробелПримечание: создать пользовательский числовой кнопок внизу страницы. индивидуальное удобство пользователя. данных из текстового использовать тогда, когда мыши. В активировавшемся числовые можно, воспользовавшисьЕсли подобных текстовых значений, выбираем«Значение» использовав поле для цифры, вписанные вТаблица имеет следующий вид: в ассортименте интернет-магазина. текстовой строки приведено (если в дальнейшемИспользуйте
-
формат, состоящий из Для удобства такжеАвтор: Максим Тютюшев формата в числовой, вместо запятой в контекстном списке переходим специальным полем на которые следует преобразовать,«Значения и форматы чисел»нужно указать преобразовываемое показа формата, о них, воспринимаются программой,Для решения задачи запишем Некоторые ячейки содержат решение соответствующей задачи. потребуется вывести числа0 кода приводим ссылку наПо умолчанию текст в
-
то имеется смысл качестве разделителя десятичных по пунктам ленте инструментов. не одно, а. число или ссылку котором шел разговор как число. следующую формулу: как числовую, так
support.office.com
Преобразование чисел в текст в Excel
В статье Извлекаем в отдельные ячейки);, чтобы отобразить ближайшее0000000000 оригинал (на английском ячейке выравнивается по в этих целях знаков используется точка,
- «Специальная вставка»Выделяем диапазон, который должен множество, то вЕсли же пользователь желает на ячейку, в выше.
- Кликаем правой кнопкой мышиПримечание: функция ЗНАЧЕН использована и текстовую информацию,
- число из серединынажмите ОК, буквы будут целое значение. Используйте, благодаря чему для языке) . левому краю, а записать специальный макрос, а в качестве
для явного преобразования поскольку используемый для текстовой строки приведено заменены пробелами или0.0 отображения всех цифрЕсли необходимо, чтобы приложение числа – по который будет использоваться
разделителя разрядов вместо«Значения и форматы чисел»
во вкладку ускорить процедуру преобразования. формата, то вместо В нашем случае которых нужно преобразовать в открывшемся меню дат в числа выгрузки данных парсер решение соответствующей задачи. просто убраны;для отображения числа десять кода продукта, Excel воспринимало некоторые правому. Этот пример при необходимости. Но пробела – апостроф.
.«Главная»
Выделяем весь диапазон, в указанного действия нужно это будет ссылка в текстовый вид. выбираем позицию в коде времени сработал некорректно. НеобходимоФункция ЗНАЧЕН в Excelскопируйте столбец обратно в с одним знаком
включая ведущими нулями типы чисел как
научит вас преобразовывать
для того, чтобы
Этот вариант воспринимается
office-guru.ru
Извлекаем в MS EXCEL число из конца текстовой строки
Все данные вставлены вна ленте. Кликаем котором находятся текстовые выделить именно его
на первый элемент Находясь во вкладке«Формат ячеек…» Excel. Фактически, записи выполнить подсчет общего выполняет операцию преобразования
MS EXCEL.
после запятой. Используйте
в Excel. Дополнительные
текст, можно применить текстовый ряд, представленный это выполнить, прежде в англоязычном Экселе, нужном нам виде.
по полю с данные. Как видим, и произвести вставку обрабатываемого числового диапазона.«Главная»
.
«=ЗНАЧЕН(C2)-ЗНАЧЕН(B2)» и «C2-B2» числа товаров. строки в числовоеЕсли требуется вывести полученные0.00 сведения об этой текстовый формат вместо
Несколько чисел в текстовой строке (через WORD)
цифрами, в числовой. всего, нужно в как числовой, но Теперь можно удалить выбором формата в пиктограмма появилась одна тем же способом,
- В полекликаем по пиктограммеВ открывшемся окне форматирования
- являются эквивалентными, посколькуЧасть таблицы выглядит следующим значение в тех числа в отдельные
- для двух знаков проблеме читайте в числового. Например, еслиВыберите диапазон ячеек своей версии Экселя
- в русскоязычной версии транзитный диапазон, в группе для всей области, который указан выше.«Формат» в виде треугольника переходим во вкладку Excel выполняет неявное образом: случаях, где это
- ячейки, то используйте после запятой и статье Создание или
- используются номера кредитныхA1:A4
включить макросы и этой программы все котором находится формула«Число» а не дляВ любом случае, внужно указать вариант
Несколько чисел в текстовой строке (через формулы, все числа склеиваются в одно)
справа от поля,«Число» преобразование. Прямое преобразованиеДля расчета общего количества возможно. Данная функция инструмент Текст-по-столбцам (мастер т.д. В русской удаление пользовательского числового карт или другие
- и измените числовой панель разработчика, если значения, которые содержат двойного бинарного отрицания.. Выбираем пункт каждой ячейки в выбранный диапазон будут
- отображения результата. Например, в котором отображается, если оно было имеет практический смысл
- представленных 5 наименований возвращает число в
- текстов) или материал локализации Excel точку формата с сохранением числовые коды, содержащие формат на это до сих
указанные выше знаки, Для этого выделяем«Числовой» отдельности. Щелкаем по вставлены данные в если мы введем формат. Оно расположено открыто в другом
Несколько чисел в текстовой строке (через формулы, все числа размещаются в разные ячейки)
при использовании полученных продукции используем следующую случае удачно выполненного статьи Разнесение текстовых необходимо заменить на начальных нулей в 16 цифр илиGeneral
- пор не сделано. воспринимаются как текст. данную область, кликомили
- ней. текстовом виде. Если«0» в блоке инструментов месте. В блоке значений в других формулу:
- процесса преобразования или строк по столбцам. запятую.
- числовых кодах. более, необходимо использовать(Общий).Переходим во вкладку
Конечно, можно перебить правой кнопки мыши«Общий»Открывается уже знакомый нам же вы все-таки, то текстовый вариант«Число» настроек программных продуктах, неФункция СУММ принимает числовые
код ошибки #ЗНАЧ!,Если в текстовой строкеИ еще один пример.В некоторых случаях номера текстовый формат. ЭтоЧисла, прописанные через апостроф,«Разработчик» данные вручную, но вызываем контекстное меню
excel2.ru
Функция ЗНАЧЕН в Excel для преобразования текста в число
. список. Как и выбрали вставку в на выходе будет.«Числовые форматы» поддерживающих форматы даты значения и производит если преобразование текста расположено несколько чисел, Форматирование даты. может отформатирован и
Примеры функции ЗНАЧЕН в Excel и особенности ее использования
вызвано тем, что расцениваются программой, как
. Жмем на значок
если их много, и выбираем вДалее прощелкиваем уже не в прошлый раз, исходную область, то отображаться без десятичныхВ открывшемся перечне вариантоввыбираем позицию и времени Excel. их суммирование. В в число невозможно. то для извлеченияПримечание: хранящиеся в ячейках,
в Excel используется
- текст. Выберите ячейку на ленте это займет значительное нем позицию раз описанным нами выбираем позицию ячейки, содержащие формулы, знаков, даже если форматирования выбираем пункт«Текстовый»В результате будет получено данном примере наименование
- Данная функция имеет следующую чисел можно вывестиИспользуйте меньшее или как текст, который точность до 15A5«Visual Basic» количество времени, тем«Очистить содержимое» способом каждую ячейку«Преобразовать в число» можно очистить. Для в исходнике они
- «Текстовый». Для сохранения изменений число в коде и количество единиц синтаксическую запись: каждый символ текстовой большее количество символов позже может привести цифр. Любые цифрыи удалите апостроф, который размещен в более что существует
- . преобразуемой области с. этого выделяем их, были. Если мы. жмем на кнопку времени Excel: некоторых товаров записаны=ЗНАЧЕН(текст) строки в отдельнуюm
к проблемам с
Примеры использования функции ЗНАЧЕН в Excel
после 15-й округляются вручную. группе возможность гораздо болееКстати, для преобразования значений применением клавишВсе данные массива будут кликаем правой кнопкой внесемДалее, как и в «Для получения искомого значения в одной строке.
Единственный аргумент — текст ячейку (см. файл
(м), вычислениями или Фрукты до нуля, что,Вместо того, чтобы выполнять
«Код» быстрого решения проблемы. данным методом совсемF2 преобразованы в указанный мыши и выбираем«0,0» предыдущем способе, последовательноOK» необходимо преобразовать формат Функция ПРАВСИМВ «отрезает» является обязательным для примера, лист Общийd понятнее порядки сортировки. наверняка, будет неприемлемым. шаг 1 и.Выделяем фрагмент листа, содержимое
не обязательно использовать
и вид. позицию
Как преобразовать денежный формат в числовое значение
, то результат будет устанавливаем курсор вв нижней части данных ячейки в часть строки кроме заполнения. То есть, случай) для этого:(д) и Это иногда происходитЕсли число имеет текстовый шаг 2, прибавьтеЗапускается стандартный редактор макросов. которого нужно преобразовать. исключительно двойное умножение
EnterКак и для преобразования
«Очистить содержимое» отображаться с одним каждый элемент диапазона окна. «Время»: двух последних символов, данная функция принимаетподсчитайте количество букв в
y
при импорте или формат, это легко пустую ячейку к Вбиваем или копируем Переходим во вкладку на.
Функция ЗНАЧЕН и формат времени
данных из числового. десятичным знаком, если двойным щелчком левойКак видим, после данныхТо есть, самолет опоздал отображающих числовое значение на вход текстовые текстовой строке (ячейка(г), чтобы изменить копировании чисел из определить, поскольку число диапазону в него следующее«Данные»«-1»Значения в диапазоне будут вида в текст,На этом процедуру преобразования«0,00»
кнопки мыши или
манипуляций в специальном на 1 час
– количество товаров. данные, которые могутА3 внешний вид даты. базы данных или будет выровнено вA1:A5 выражение:. На ленте инструментов. Можно применять любое преобразованы из текстовых в Экселе существует можно считать оконченной., то с двумя, нажатием клавиши
поле высвечивается информация и 53 минуты. С помощью функции
быть представлены в) с помощью функцииУрок подготовлен для Вас другого источника данных.
ячейке по левому. Таким образом ExcelSub Текст_в_число()
exceltable.com
в блоке
Если у вас есть таблица с данными в столбцах, которые необходимо повернуть для переупорядочивать их по строкам, используйте функцию Транспонировать. С его помощью можно быстро переключать данные из столбцов в строки и наоборот.
Например, если данные выглядят так: «Регионы продаж» в заголовках столбцов и «Кварталы» с левой стороны:
Функция Транспонировать переупомешет таблицу, в которой столбцы «Кварталы» отображаются в заголовках столбцов, а слева будут показаны регионы продаж, например:
Примечание: Если данные хранятся в таблице Excel, функция Транспонирование будет недоступна. Можно сначала преобразовать таблицу в диапазон или воспользоваться функцией ТРАНСП, чтобы повернуть строки и столбцы.
Вот как это сделать:
-
Выделите диапазон данных, который требуется переупорядочить, включая заголовки строк или столбцов, а затем нажмите клавиши CTRL+C.
Примечание: Убедитесь, что для этого нужно скопировать данные, так как не получится использовать команду Вырезать или CTRL+X.
-
Выберите новое место на том месте на компьютере, куда вы хотите ввести транспонную таблицу, чтобы вместить данные в достаточном месте. В новой таблице будут полностью переоформатироваться все данные и форматирование, которые уже есть.
Щелкните правой кнопкой мыши левую верхнюю ячейку, в которой нужно ввести транспонировать таблицу, и выберите транспонировать .
-
После успешного поворота данных можно удалить исходную таблицу, и данные в новой таблице останутся без изменений.
Советы по транспонированию данных
-
Если данные содержат формулы, Excel автоматически обновляет их в соответствие с новым расположением. Убедитесь, что в этих формулах используются абсолютные ссылки. Если они не используются, перед поворотом данных можно переключаться между относительными, абсолютными и смешанными ссылками.
-
Если вы хотите часто поворачивать данные для их просмотра под разными углами, создайте с помощью нее с помощью перетаскиванием полей из области строк в область столбцов (или наоборот)в списке полей.
Вы можете ввести в книгу данные в качестве транспон данных. Транспонировать: переупочевание содержимого скопированные ячейки при копировании. Данные строк будут вставлены в столбцы, и наоборот.
Вот как можно транспоннять содержимое ячейки:
-
Скопируйте диапазон ячеев.
-
Вы выберите пустые ячейки, в которые вы хотите ввести транспонировать данные.
-
На вкладке Главная щелкните значок Ввести и выберите Ввести транспонировать.
Как преобразовать текст в число: функции изменения формата данных
Друзья, продолжаю рассказывать о распространенных задачах по обработке текстовых данных в Эксель. На этот раз обсудим преобразование текста в число и числа в текст. На первый взгляд, польза этих функций не очевидна. Но это обманчивое мнение, это полезнейшие функции. Прочтите этот пост, возможно именно его вам так давно не хватало!
Как преобразовать текст в число
Очень часто при экспорте из баз данных, числовые значения в таблицах заменяются текстом. Если число выражено явно, Excel сам преобразует его в текст, либо появится смарт-тег с командой «преобразовать в число». Но иногда, особенно при работе с датами, этого не происходит. Тогда придётся воспользоваться функцией ЗНАЧЕН(Строка).
Эта функция содержит один обязательный аргумент, указывающий на строку для преобразования. Если функция не сможет преобразовать строку в число, будет выведена ошибка #ЗНАЧ!
Применение функции ЗНАЧЕН
Как преобразовать число в текст
Другая задача, которая может доставить проблем – объединить строчные и числовые данные в одной строке. Представьте, что у вас есть значение в денежном формате и текст, которые нужно объединить. Обычные функции объединения дадут не тот результат, который нам хотелось бы:
Сцепление текста с числом без форматирования
Мы видим, что числовое значение отображено не в денежном формате, а в десятичном. Такая ситуация нас не устраивает, ведь в итоговой строке число должно быть в формате с двумя знаками после запятой, разделителем разрядов и знаком валюты. Такое отображение выглядит логичнее, чем целая куча знаков после запятой.
Чтобы отформатировать число и сохранить, как текст, используем функцию ТЕКСТ(Число; Формат). Формат придётся задать вручную. О пользовательских форматах я расскажу в отдельной статье.
Давайте запишем формулу перевода числа в текст с указанными требованиями: =ТЕКСТ(A3;»$# #,00″) . Эту функцию можно «вложить» в формулу объединения и получить корректный результат. Функция ТЕКСТ записывает число в указанном формате и преобразует его в текст.
Преобразование числа в текст
Совсем другое дело, теперь число записано так, как нам нужно. Ведь правда, это очень полезная функция?
Как проверить ячейку на содержимое
Еще одна текстовая функция – условная. Она проверяет строку на тип данных. Если в строке расположен текст – он выводится на экран. Если же это число, функция возвращает пустую строку. Синтаксис функции такой: =Т(Значение).
Функции преобразования форматов – очень важные и позволяют сделать результаты трудов комфортными и совершенными. Тренируйтесь в их использовании, чтобы показывать высший пилотаж в работе с текстом!
Это последний пост, рассказывающий о текстовых функциях Excel. А в следующей статье мы попробуем применить их на практике. А дальше — будем изучать работу с датами и временем. Заходите почитать, будет полезно!
Преобразование текста в число в ячейке Excel
При импорте файлов или копировании данных с числовыми значениями часто возникает проблема: число преобразуется в текст. В результате формулы не работают, вычисления становятся невозможными. Как это быстро исправить? Сначала посмотрим, как исправить ошибку без макросов.
Как преобразовать текст в число в Excel
Excel помогает пользователю сразу определить, значения в ячейках отформатированы как числа или как текст. Числовые форматы выравниваются по правому краю, текстовые – по левому.
Когда при импорте файлов или сбое в Excel числовой формат становится текстовым, в левом верхнем углу ячеек появляется зеленый треугольничек. Это знак ошибки. Ошибка также возникает, если перед числом поставить апостроф.
Способов преобразования текста в число существует несколько. Рассмотрим самые простые и удобные.
- Использовать меню кнопки «Ошибка». При выделении любой ячейки с ошибкой слева появляется соответствующий значок. Это и есть кнопка «Ошибка». Если навести на нее курсор, появится знак раскрывающегося меню (черный треугольник). Выделяем столбец с числами в текстовом формате. Раскрываем меню кнопки «Ошибка». Нажимаем «Преобразовать в число».
- Применить любые математические действия. Подойдут простейшие операции, которые не изменяют результат (умножение / деление на единицу, прибавление / отнимание нуля, возведение в первую степень и т.д.).
- Добавить специальную вставку. Здесь также применяется простое арифметическое действие. Но вспомогательный столбец создавать не нужно. В отдельной ячейке написать цифру 1. Скопировать ячейку в буфер обмена (с помощью кнопки «Копировать» или сочетания клавиш Ctrl + C). Выделить столбец с редактируемыми числами. В контекстном меню кнопки «Вставить» нажать «Специальная вставка». В открывшемся окне установить галочку напротив «Умножить». После нажатия ОК текстовый формат преобразуется в числовой.
- Удаление непечатаемых символов. Иногда числовой формат не распознается программой из-за невидимых символов. Удалим их с помощью формулы, которую введем во вспомогательный столбец. Функция ПЕЧСИМВ удаляет непечатаемые знаки. СЖПРОБЕЛЫ – лишние пробелы. Функция ЗНАЧЕН преобразует текстовый формат в числовой.
- Применение инструмента «Текст по столбцам». Выделяем столбец с текстовыми аргументами, которые нужно преобразовать в числа. На вкладке «Данные» находим кнопку «Текст по столбцам». Откроется окно «Мастера». Нажимаем «Далее». На третьем шаге обращаем внимание на формат данных столбца.
Последний способ подходит в том случае, если значения находятся в одном столбце.
Макрос «Текст – число»
Преобразовать числа, сохраненные как текст, в числа можно с помощью макроса.
Есть набор значений, сохраненных в текстовом формате:
Чтобы вставить макрос, на вкладке «Разработчик» находим редактор Visual Basic. Открывается окно редактора. Для добавления кода нажимаем F7. Вставляем следующий код:
Чтобы он «заработал», нужно сохранить. Но книга Excel должна быть сохранена в формате с поддержкой макросов.
Теперь возвращаемся на страницу с цифрами. Выделяем столбец с данными. Нажимаем кнопку «Макросы». В открывшемся окне – список доступных для данной книги макросов. Выбираем нужный. Жмем «Выполнить».
Цифры переместились вправо.
Следовательно, значения в ячейках «стали» числами.
Если в столбце встречаются аргументы с определенным числом десятичных знаков (например, 3,45), можно использовать другой макрос.
Таким образом, возникающую при импорте или копировании числовых данных ошибку легко устранить. Преобразовать текст в число можно разными способами (с помощью макросов и без них). Сделать это просто и быстро. А впоследствии с числовыми аргументами производятся все необходимые операции.
Преобразование чисел из текстового формата в числовой
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Числа, хранящиеся как текст, могут приводить к непредвиденным результатам. Выделите ячейки и нажмите кнопку , чтобы выбрать вариант преобразования. Если эта кнопка недоступна, выполните указанные ниже действия.
1. Выделите столбец
Выделите столбец с такими ячейками. Если вы не хотите преобразовывать весь столбец, можно выбрать одну или несколько ячеек. Ячейки должны находиться в одном и том же столбце, иначе этот процесс не будет работать. (Если такие ячейки есть в нескольких столбцах, см. раздел «Другие способы преобразования» ниже.)
2. Нажмите эту кнопку
Кнопка «столбцы» обычно применяется для разделения столбцов, но ее также можно использовать для преобразования столбца текста в числа. На вкладке Данные нажмите кнопку Текст по столбцам.
3. Нажмите кнопку «Готово»
Остальные шаги мастера нужны для разделения текста на столбцы. Так как нам нужно только преобразовать текст, нажмите кнопку Готово, и Excel преобразует ячейки.
4. Задайте формат
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите нужный формат.
Примечание: Если вы по-прежнему видите формулы, которые не выводят числовые результаты, возможно, включен параметр Показать формулы. Откройте вкладку Формулы и отключите параметр Показать формулы.
Другие способы преобразования
С помощью функции ЗНАЧЕН можно возвращать числовое значение текста.
1. Вставьте новый столбец
Вставьте столбец рядом с ячейками, содержащими текст. В этом примере столбец E содержит числа, которые хранятся в виде текста. Столбец F является новым столбцом.
2. Примените функцию ЗНАЧЕН
В одной из ячеек нового столбца введите =ЗНАЧЕН() и укажите в скобках ссылку на ячейку, содержащую числа, которые хранятся в виде текста. В данном примере это ячейка E23.
3. Наведите указатель мыши
Теперь нужно заполнить формулу вниз. Вот как это сделать: Наведите указатель на правый нижний угол ячейки, чтобы он принял вид знака плюс (+).
4. Щелкните и перетащите вниз
Щелкните и перетащите вниз, чтобы добавить формулу в другие ячейки. После этого вы можете использовать новый столбец или скопировать и вставить новые значения в исходный столбец. Вот как это сделать: Выделите ячейки с новой формулой. Нажмите клавиши CTRL+C. Щелкните первую ячейку в исходном столбце. На вкладке Главная щелкните стрелку рядом с кнопкой Вставить и выберите пункт Специальная вставка > Значения.
Если указанные выше действия не дали результатов, попробуйте использовать этот метод, который подходит, если вы хотите преобразовать несколько столбцов текста.
Выделите пустую ячейку, в которой нет этой проблемы, введите в нее цифру 1 и нажмите клавишу ВВОД.
Нажмите клавиши CTRL+C, чтобы скопировать ячейку.
Выделите ячейки с числами, которые сохранены как текст.
На вкладке Главная щелкните Вставить и выберите пункт Специальная вставка.
Щелкните умножить и нажмите кнопку ОК. Excel умножит каждую ячейку на 1, при этом преобразовав текст в числа.
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите нужный формат.
Отключение зеленых треугольников
Можно сделать так, чтобы числа, хранящиеся как текст, не помечались зелеными треугольниками. Выберите Файл > Параметры > Формулы и снимите флажок Числа в текстовом формате.
Преобразование в ТЕКСТ в Excel. Бесплатные примеры и статьи.
Переводим число прописью в число цифрами в Excel
Преобразуем число из текстовой формы в обычное число из цифр: например, «сто пятьдесят три» преобразуем в 153.
Пользовательский ЧИСЛОвой формат в MS EXCEL (Функция ТЕКСТ())
Числовой пользовательский формат – это формат отображения числа задаваемый пользователем. Например, число 5647,22 можно отобразить как 005647 или, вообще в произвольном формате, например, +(5647)руб.22коп. Пользовательские форматы также можно использовать в функции ТЕКСТ() . Эта функция возвращает текстовое значение в нужном пользователю виде.
Название месяца прописью в MS EXCEL
Если в ячейке содержится дата или номер месяца, то с помощью формул или Формата ячейки можно вывести название месяца. Также решим обратную задачу: из текстового значения названия месяца получим его номер.
Отображение в MS EXCEL ЧИСЕЛ в формате миллионов и тысяч
Если ячейка содержит значение больше 1000, то часто не требуется указывать точное значение, а достаточно указать число тысяч или миллионов, один-два знака после запятой и соответственно сокращение: тыс. или млн.
Функция ТЕКСТ() в MS EXCEL
Функция ТЕКСТ( ) , английская версия TEXT(), преобразует число в текст и позволяет задать формат отображения с помощью специальных строк форматирования, например, формула =ТЕКСТ(100;»0,00 р.») вернет текстовую строку 100,00 р., а формула =ТЕКСТ(1;»#%») вернет текст (не число!) 100%. Эта функция полезна, если числа требуется отобразить в более удобном формате или если требуется объединить числа с текстом или символами.
Функция ФИКСИРОВАННЫЙ() в MS EXCEL
Функция ФИКСИРОВАННЫЙ( ) , английская версия FIXED(), округляет число до заданного количества десятичных цифр и возвращает результат в виде текста.
Перевод текста в число или числа в текст при помощи функций Excel.
Зачастую при заполнении различных документов необходимо указанную в числовой форме денежную сумму прописывать в текстовом формате (например, в рублях). При оформлении большого числа документов это довольно сложно и требует больших трудозатрат. В «Эксель» предусмотрены несколько функций преобразования текста в число и обратно:
«ТЕКСТ», «РУБЛЬ» и «ЗНАЧЕН».
Рассмотрим отдельно каждую функцию.
Применение функции «ТЕКСТ».
- Выбираем ячейку, в которую хотим поместить текстовое значение;
- Вызываем мастер функций;
- Выбираем функцию «ТЕКСТ»;
- Указываем ячейку, из которой берем значение;
- Обязательно указываем формат (формат можно выбрать, открыв меню «формат ячеек», вкладка – (все форматы)), можно поставить формат «Общий»;
- Нажимаем «ОК»;
- В указанную ячейку перенесено число в текстовом формате
Применение функции «РУБЛЬ».
- Выбираем ячейку, в которую хотим поместить текстовое значение;
- Вызываем мастер функций;
- Выбираем функцию «РУБЛЬ»;
- Указываем ячейку, из которой берем значение;
- Нажимаем «ОК»;
- В указанную ячейку перенесено число в текстовом формате с обозначением «руб.»
Применение функции «ЗНАЧЕН».
- Выбираем ячейку, в которую хотим поместить значение в формате числа;
- Вызываем мастер функций;
- Выбираем функцию «ЗНАЧЕН»;
- Указываем ячейку, из которой берем текстовое значение;
- Нажимаем «ОК»;
- В указанную ячейку перенесено число в числовом формате.
Часто возникает необходимость в написании чисел прописью (словами), например, записать число «123», как «Сто двадцать три» .
Такую функцию можно реализовать при помощи несложного макроса, но о нем мы будем говорить в следующих уроках: Вставить сумму прописью в ячейку таблицы «Excel».
На чтение 23 мин. Просмотров 18.6k.
Содержание
- Краткое руководство по текстовым функциям
- Введение
- Прочитайте это в первую очередь!
- Добавление строк
- Извлечение части строки
- Поиск в строке
- Удаление пробелов
- Длина строки
- Перевернуть текст
- Сравнение
- Сравнение строк с использованием сопоставления с шаблоном
- Заменить часть строки
- Преобразовать типы в строку (базовый)
- Преобразовать строку в число — CLng, CDbl, Val и т.д.
- Генерация строки элементов — функция строки
- Преобразовать регистр / юникод — StrConv, UCase, LCase
- Использование строк с массивами
- Форматирование строки
- Заключение
Краткое руководство по текстовым функциям
Текстовые операции | Функции |
Добавить две или более строки | Format or «&» |
Построить текст из массива | Join |
Сравнить | StrComp or «=» |
Сравнить — шаблон | Like |
Преобразовать в текст | CStr, Str |
Конвертировать текст в дату | Просто: CDate Дополнительно: Format |
Преобразовать текст в число | Просто: CLng, CInt, CDbl, Val Дополнительно: Format |
Конвертировать в юникод, широкий, узкий | StrConv |
Преобразовать в верхний / нижний регистр | StrConv, UCase, LCase |
Извлечь часть текста | Left, Right, Mid |
Форматировать текст | Format |
Найти символы в тексте | InStr, InStrRev |
Генерация текста | String |
Получить длину строки | Len |
Удалить пробелы | LTrim, RTrim, Trim |
Заменить часть строки | Replace |
Перевернуть строку | StrReverse |
Разобрать строку в массив | Split |
Введение
Использование строк является очень важной частью VBA. Есть много типов манипуляций, которые вы можете делать со строками. К ним относятся такие задачи, как:
- извлечение части строки
- сравнение строк
- преобразование чисел в текст
- форматирование даты для включения дня недели
- найти символ в строке
- удаление пробелов
- парсинг в массив
- и т. д.
Хорошей новостью является то, что VBA содержит множество функций, которые помогут вам легко выполнять эти задачи.
Эта статья содержит подробное руководство по использованию строки в VBA. Он объясняет строки в простых терминах с понятными примерами кода. Изложение в статье поможет легко использовать ее в качестве краткого справочного руководства.
Если вы собираетесь использовать строки часто, я рекомендую вам прочитать первый раздел, так как он относится ко многим функциям. В противном случае вы можете прочитать по порядку или просто перейти в нужный раздел.
Прочитайте это в первую очередь!
Следующие два пункта очень важны при работе со строковыми функциями VBA.
Исходная строка не изменяется
Важно помнить, что строковые функции VBA не изменяют исходную строку. Они возвращают новую строку с изменениями, внесенными функцией. Если вы хотите изменить исходную строку, вы просто назначаете результат исходной строке. См. Раздел «Извлечение части строки» для примеров.
Как использовать Compare
Некоторые строковые функции, такие как StrComp (), Instr () и т.д. имеют необязательный параметр Compare. Он работает следующим образом:
vbTextCompare: верхний и нижний регистры считаются одинаковыми
vbBinaryCompare: верхний и нижний регистр считаются разными
Следующий код использует функцию сравнения строк StrComp () для демонстрации параметра Compare.
Sub Comp1() ' Печатает 0 : Строки совпадают Debug.Print StrComp("АБВ", "абв", vbTextCompare) ' Печатает -1 : Строки не совпадают Debug.Print StrComp("АБВ", "абв", vbBinaryCompare) End Sub
Вы можете использовать параметр Option Compare вместо того, чтобы каждый раз использовать этот параметр. Опция сравнения устанавливается в верхней части модуля. Любая функция, которая использует параметр Compare, примет этот параметр по умолчанию. Два варианта использования Option Compare:
- Oпция Compare Text: делает vbTextCompare аргументом сравнения по умолчанию
Option Compare Text Sub Comp2() ' Соответствие строк - использует vbCompareText в качестве 'аргумента сравнения Debug.Print StrComp("АБВ", "абв") Debug.Print StrComp("ГДЕ", "где") End Sub
- Опция Compare Binary: делает vbBinaryCompare аргументом сравнения по умолчанию.
Option Compare Binary Sub Comp2() ' Строки не совпадают - использует vbCompareBinary в качестве 'аргумента сравнения Debug.Print StrComp("АБВ", "абв") Debug.Print StrComp("ГДЕ", "где") End Sub
Если Option Compare не используется, то по умолчанию используется Option Compare Binary.
Теперь, когда вы понимаете эти два важных момента о строке, мы можем продолжить и посмотреть на строковые функции индивидуально.
Добавление строк
Вы можете добавлять строки, используя оператор &. Следующий код показывает несколько примеров его использования.
Sub Dobavlenie() Debug.Print "АБВ" & "ГДЕ" Debug.Print "Иван" & " " & "Петров" Debug.Print "Длинный " & 22 Debug.Print "Двойной " & 14.99 Debug.Print "Дата " & #12/12/2015# End Sub
В примере вы можете видеть, что различные типы, такие как даты и числа, автоматически преобразуются в строки. Вы можете увидеть оператор +, используемый для добавления строк. Разница в том, что этот оператор будет работать только со строковыми типами. Если вы попытаетесь использовать его с другим типом, вы получите ошибку.
Это даст сообщение об ошибке: «Несоответствие типов» Debug.Print "Длинный " + 22
Если вы хотите сделать более сложное добавление строк, вы можете использовать функцию форматирования, описанную ниже.
Извлечение части строки
Функции, обсуждаемые в этом разделе, полезны при базовом извлечении из строки. Для чего-то более сложного можете посмотреть раздел, как легко извлечь любую строку без использования VBA InStr.
Функция | Параметры | Описание | Пример |
Left | строка, длина | Вернуть символы с левой стороны |
Left(«Иван Петров»,4) |
Right | строка, длина | Вернуть символы с правой стороны |
Right(«Иван Петров»,5) |
Mid | строка, начало, длина | Вернуть символы из середины |
Mid(«Иван Петров»,3,2) |
Функции Left, Right и Mid используются для извлечения частей строки. Это очень простые в использовании функции. Left читает символы слева, Right справа и Mid от указанной вами начальной точки.
Sub IspLeftRightMid() Dim sCustomer As String sCustomer = "Иван Васильевич Петров" Debug.Print Left(sCustomer, 4) ' Печатает: Иван Debug.Print Right(sCustomer, 6) ' Печатает: Петров Debug.Print Left(sCustomer, 15) ' Печатает: Иван Васильевич Debug.Print Right(sCustomer, 17) ' Печатает: Васильевич Петров Debug.Print Mid(sCustomer, 1, 4) ' Печатает: Иван Debug.Print Mid(sCustomer, 6, 10) ' Печатает: Васильевич Debug.Print Mid(sCustomer, 17, 6) ' Печатает: Петров End Sub
Как упоминалось в предыдущем разделе, строковые функции VBA не изменяют исходную строку. Вместо этого они возвращают результат в виде новой строки.
В следующем примере вы увидите, что строка Fullname не была изменена после использования функции Left.
Sub PrimerIspolzovaniyaLeft() Dim Fullname As String Fullname = "Иван Петров" Debug.Print "Имя: "; Left(Fullname, 4) ' Исходная строка не изменилась Debug.Print "Полное имя: "; Fullname End Sub
Если вы хотите изменить исходную строку, вы просто присваиваете ей возвращаемое значение функции.
Sub IzmenenieStroki() Dim name As String name = "Иван Петров" ' Присвойте возвращаемую строку переменной имени name = Left(name, 4) Debug.Print "Имя: "; name End Sub
Поиск в строке
Функция | Параметры | Описание | Пример |
InStr | Текст1, текст2 |
Находит положение текста |
InStr(«Иван Петров»,»в») |
InStrRev | Проверка текста, соответствие текста |
Находит позицию текста с конца |
InStrRev(«Иван Петров»,»в») |
InStr и InStrRev — это функции VBA, используемые для поиска текста в тексте. Если текст поиска найден, возвращается позиция (с начала строки проверки) текста поиска. Когда текст поиска не найден, возвращается ноль. Если какой-либо текст имеет значение null, возвращается значение null.
InStr Описание параметров
InStr() Start[Необязат], String1, String2, Compare[Необязат]
- Start [Необязательно — по умолчанию 1]: это число, указывающее начальную позицию поиска слева
- String1: текст, в котором будем искать
- String2: текст, который будем искать
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
Использование InStr и примеры
InStr возвращает первую позицию в тексте, где найден данный текст. Ниже приведены некоторые примеры его использования.
Sub PoiskTeksta() Dim name As String name = "Иван Петров" ' Возвращает 3 - позицию от первой Debug.Print InStr(name, "а") ' Возвращает 10 - позиция первого "а", начиная с позиции 4 Debug.Print InStr(4, name, "а") ' Возвращает 8 Debug.Print InStr(name, "тр") ' Возвращает 6 Debug.Print InStr(name, "Петров") ' Возвращает 0 - текст "ССС" не найдет Debug.Print InStr(name, "ССС") End Sub
InStrRev Описание параметров
InStrRev() StringCheck, StringMatch, Start[Необязат], Compare[Необязат]
- StringCheck: текст, в котором будем искать
- StringMatch: Текст, который будем искать
- Start [Необязательно — по умолчанию -1]: это число, указывающее начальную позицию поиска справа
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
Использование InStrRev и примеры
Функция InStrRev такая же, как InStr, за исключением того, что она ищет с конца строки. Важно отметить, что возвращаемая позиция является позицией с самого начала. Поэтому, если существует только один экземпляр элемента поиска, InStr () и InStrRev () будут возвращать одно и то же значение.
В следующем коде показаны некоторые примеры использования InStrRev.
Sub IspInstrRev() Dim name As String name = "Иван Петров" ' Обе возвращают 1 - позицию, только И Debug.Print InStr(name, "И") Debug.Print InStrRev(name, "И") ' Возвращает 11 - вторую в Debug.Print InStrRev(name, "в") ' Возвращает 3 - первую в с позиции 9 Debug.Print InStrRev(name, "в", 9) ' Returns 1 Debug.Print InStrRev(name, "Иван") End Sub
Функции InStr и InStrRev полезны при работе с базовым поиском текста. Однако, если вы собираетесь использовать их для извлечения текста из строки, они могут усложнить задачу. Я написал о гораздо лучшем способе сделать это в своей статье Как легко извлечь любой текст без использования VBA InStr.
Удаление пробелов
Функция | Параметры | Описание | Пример |
LTrim | Текст | Убирает пробелы слева |
LTrim(» Иван «) |
RTrim | Текст | Убирает пробелы справа |
RTrim(» Иван «) |
Trim | Текст | Убирает пробелы слева и справа |
Trim(» Иван «) |
Функции Trim — это простые функции, которые удаляют пробелы в начале или конце строки.
Функции и примеры использования триммера Trim
- LTrim удаляет пробелы слева от строки
- RTrim удаляет пробелы справа от строки
- Trim удаляет пробелы слева и справа от строки
Sub TrimStr() Dim name As String name = " Иван Петров " ' Печатает "Иван Петров " Debug.Print LTrim(name) ' Печатает " Иван Петров" Debug.Print RTrim(name) ' Печатает "Иван Петров" Debug.Print Trim(name) End Sub
Длина строки
Функция | Параметры | Описание | Пример |
Len | Текст | Возвращает длину строки |
Len («Иван Петров») |
Len — простая функция при использовании со строкой. Она просто возвращает количество символов, которое содержит строка. Если используется с числовым типом, таким как long, он вернет количество байтов.
Sub IspLen() Dim name As String name = "Иван Петров" ' Печатает 11 Debug.Print Len("Иван Петров") ' Печатает 3 Debug.Print Len("АБВ") ' Печатает 4 с Long - это размер 4 байта Dim total As Long Debug.Print Len(total) End Sub
Перевернуть текст
Функция | Параметры | Описание | Пример |
StrReverse | Текст | Перевернуть текст |
StrReverse («Иван Петров») |
StrReverse — еще одна простая в использовании функция. Он просто возвращает данную строку с обратными символами.
Sub RevStr() Dim s As String s = "Иван Петров" ' Печатает: вортеП навИ Debug.Print StrReverse(s) End Sub
Сравнение
Функция | Параметры | Описание | Пример |
StrComp | Текст1, текст2 | Сравнивает 2 текста |
StrComp («Иван», «Иван») |
Функция StrComp используется для сравнения двух строк. Следующие подразделы описывают, как используется.
Описание параметров
StrComp() String1, String2, Compare[Необязат]
- String1: первая строка для сравнения
- String2: вторая строка для сравнения
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
StrComp Возвращаемые значения
Возвращаемое значение | Описание |
0 | Совпадение строк |
-1 | строка1 меньше строки2 |
1 | строка1 больше строки2 |
Null | если какая-либо строка равна нулю |
Использование и примеры
Ниже приведены некоторые примеры использования функции StrComp.
Sub IspStrComp() ' Возвращает 0 Debug.Print StrComp("АБВ", "АБВ", vbTextCompare) ' Возвращает 1 Debug.Print StrComp("АБВГ", "АБВ", vbTextCompare) ' Возвращает -1 Debug.Print StrComp("АБВ", "АБВГ", vbTextCompare) ' Returns Null Debug.Print StrComp(Null, "АБВГ", vbTextCompare) End Sub
Сравнение строк с использованием операторов
Вы также можете использовать знак равенства для сравнения строк. Разница между сравнением equals и функцией StrComp:
- Знак равенства возвращает только true или false.
- Вы не можете указать параметр Compare, используя знак равенства — он использует настройку «Option Compare».
Ниже приведены некоторые примеры использования equals для сравнения строк.
Option Compare Text Sub CompareIspEquals() ' Возвращает true Debug.Print "АБВ" = "АБВ" ' Возвращает true, потому что «Сравнить текст» установлен выше Debug.Print "АБВ" = "абв" ' Возвращает false Debug.Print "АБВГ" = "АБВ" ' Возвращает false Debug.Print "АБВ" = "АБВГ" ' Возвращает null Debug.Print Null = "АБВГ" End Sub
Сравнение строк с использованием сопоставления с шаблоном
Функция | Параметры | Описание | Пример |
Like | Текст, шаблон | проверяет, имеет ли строка заданный шаблон |
«abX» Like «??X» «54abc5» Like «*abc#» |
Знак | Значение |
? | Любой одиночный символ |
# | Любая однозначная цифра (0-9) |
* | Ноль или более символов |
[charlist] | Любой символ в списке |
[!charlist] | Любой символ не в списке символов |
Сопоставление с шаблоном используется для определения того, имеет ли строка конкретный образец символов. Например, вы можете проверить, что номер клиента состоит из 3 цифр, за которыми следуют 3 алфавитных символа, или в строке есть буквы XX, за которыми следует любое количество символов.
Если строка соответствует шаблону, возвращаемое значение равно true, в противном случае — false.
Сопоставление с образцом аналогично функции формата VBA в том смысле, что его можно использовать практически безгранично. В этом разделе я приведу несколько примеров, которые объяснят, как это работает. Это должно охватывать наиболее распространенные виды использования.
Давайте посмотрим на базовый пример с использованием знаков. Возьмите следующую строку шаблона.
[abc][!def]?#X*
Давайте посмотрим, как работает эта строка
[abc] — символ, который является или a, b или c
[! def] — символ, который не является d, e или f
? любой символ
# — любая цифра
X — символ X
* следуют ноль или более символов
Поэтому следующая строка действительна
apY6X
а — один из символов a,b,c
p — не один из символов d, e или f
Y — любой символ
6 — это цифра
Х — это буква Х
В следующих примерах кода показаны результаты различных строк с этим шаблоном.
Sub Shabloni() ' ИСТИНА Debug.Print 1; "apY6X" Like "[abc][!def]?#X*" ' ИСТИНА - любая комбинация символов после x действительна Debug.Print 2; "apY6Xsf34FAD" Like "[abc][!def]?#X*" ' ЛОЖЬ - символ не из[abc] Debug.Print 3; "dpY6X" Like "[abc][!def]?#X*" ' ЛОЖЬ - 2-й символ e находится в [def] Debug.Print 4; "aeY6X" Like "[abc][!def]?#X*" ' ЛОЖЬ - A в позиции 4 не является цифрой Debug.Print 5; "apYAX" Like "[abc][!def]?#X*" ' ЛОЖЬ - символ в позиции 5 должен быть X Debug.Print 1; "apY6Z" Like "[abc][!def]?#X*" End Sub
Реальный пример сопоставления с образцом
Чтобы увидеть реальный пример использования сопоставления с образцом, ознакомьтесь с Примером 3: Проверьте, допустимо ли имя файла.
Важное примечание о сопоставлении с образцом VBA
Оператор Like использует двоичное или текстовое сравнение на основе параметра Option Compare. Пожалуйста, смотрите раздел Сравнение для более подробной информации.
Заменить часть строки
Функция | Параметры | Описание | Пример |
Replace | строка, найти, заменить, начать, считать, сравнивать |
Заменяет текст | Replace («Ива»,»а»,»ан») |
Replace используется для замены текста в строке другим текстом. Он заменяет все экземпляры текста, найденные по умолчанию.
Replace описание параметров
Replace() Expression, Find, Replace, Start[Необязат], Count[Необязат], Compare[Необязат]
- Expression: текст, в котором нужна замена символов
- Find: текст для замены в строке выражения
- Replace: строка для поиска замены текста поиска
- Start [Необязательно — по умолчанию 1]: начальная позиция в строке
- Count [Необязательно — по умолчанию -1]: количество замен. По умолчанию -1 означает все.
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
Использование и примеры
В следующем коде показаны некоторые примеры использования функции замены.
Sub PrimeriReplace() ' Заменяет все знаки вопроса (?) на точку с запятой (;) Debug.Print Replace("A?B?C?D?E", "?", ";") ' Заменить Петров на Иванов Debug.Print Replace("Евгений Петров,Артем Петров", "Петров", "Иванов") ' Заменить AX на AB Debug.Print Replace("ACD AXC BAX", "AX", "AB") End Sub
На выходе:
A;B;C;D;E
Евгений Иванов,Артем Иванов
ACD ABC BAB
В следующих примерах мы используем необязательный параметр Count. Count определяет количество замен. Так, например, установка Count равной единице означает, что будет заменено только первое вхождение.
Sub ReplaceCount() ' Заменяет только первый знак вопроса Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=1) ' Заменяет первые три знака вопроса Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=3) End Sub
На выходе:
A;B?C?D?E
A;B;C;D?E
Необязательный параметр Start позволяет вам вернуть часть строки. Позиция, которую вы указываете с помощью Start, — это место, откуда начинается возврат строки. Он не вернет ни одной части строки до этой позиции, независимо от того, была ли произведена замена или нет.
Sub ReplacePartial() ' Использовать оригинальную строку из позиции 4 Debug.Print Replace("A?B?C?D?E", "?", ";", Start:=4) ' Используйте оригинальную строку из позиции 8 Debug.Print Replace("AA?B?C?D?E", "?", ";", Start:=8) ' Элемент не заменен, но по-прежнему возвращаются только последние '2 символа Debug.Print Replace("ABCD", "X", "Y", Start:=3) End Sub
На выходе:
;C;D;E
;E
CD
Иногда вы можете заменить только заглавные или строчные буквы. Вы можете использовать параметр Compare для этого. Он используется во многих строковых функциях. Для получения дополнительной информации об этом проверьте раздел сравнения.
Sub ReplaceCase() ' Заменить только заглавные А Debug.Print Replace("AaAa", "A", "X", Compare:=vbBinaryCompare) ' Заменить все А Debug.Print Replace("AaAa", "A", "X", Compare:=vbTextCompare) End Sub
На выходе:
XaXa
XXXX
Многократные замены
Если вы хотите заменить несколько значений в строке, вы можете вкладывать вызовы. В следующем коде мы хотим заменить X и Y на A и B соответственно.
Sub ReplaceMulti() Dim newString As String ' Заменить А на Х newString = Replace("ABCD ABDN", "A", "X") ' Теперь замените B на Y в новой строке newString = Replace(newString, "B", "Y") Debug.Print newString End Sub
В следующем примере мы изменим приведенный выше код для выполнения той же задачи. Мы будем использовать возвращаемое значение первой замены в качестве аргумента для второй замены.
Sub ReplaceMultiNested() Dim newString As String ' Заменить A на X, а B на Y newString = Replace(Replace("ABCD ABDN", "A", "X"), "B", "Y") Debug.Print newString End Sub
Результатом обоих этих Subs является:
XYCD XYDN
Преобразовать типы в строку (базовый)
Этот раздел о преобразовании чисел в строку. Очень важным моментом здесь является то, что в большинстве случаев VBA автоматически конвертируется в строку для вас. Давайте посмотрим на некоторые примеры:
Sub AutoConverts() Dim s As String ' Автоматически преобразует число в строку s = 12.99 Debug.Print s ' Автоматически преобразует несколько чисел в строку s = "ABC" & 6 & 12.99 Debug.Print s ' Автоматически преобразует двойную переменную в строку Dim d As Double, l As Long d = 19.99 l = 55 s = "Значения: " & d & " " & l Debug.Print s End Sub
Когда вы запустите приведенный выше код, вы увидите, что число было автоматически преобразовано в строки. Поэтому, когда вы присваиваете значение строке, VBA будет следить за преобразованием большую часть времени. В VBA есть функции преобразования, и в следующих подразделах мы рассмотрим причины их использования.
Явное преобразование
Функция | Параметры | Описание | Пример |
CStr | выражение | Преобразует числовую переменную в строку |
CStr («45.78») |
Str | число | Преобразует числовую переменную в строку |
Str («45.78») |
В некоторых случаях вы можете захотеть преобразовать элемент в строку без необходимости сначала помещать его в строковую переменную. В этом случае вы можете использовать функции Str или CStr. Оба принимают выражение как функцию, и это может быть любой тип, например long, double, data или boolean.
Давайте посмотрим на простой пример. Представьте, что вы читаете список значений из разных типов ячеек в коллекцию. Вы можете использовать функции Str / CStr, чтобы гарантировать, что они все хранятся в виде строк. Следующий код показывает пример этого:
Sub IspStr() Dim coll As New Collection Dim c As Range ' Считать значения ячеек в коллекцию For Each c In Range("A1:A10") ' Используйте Str для преобразования значения ячейки в строку coll.Add Str(c) Next ' Распечатайте значения и тип коллекции Dim i As Variant For Each i In coll Debug.Print i, TypeName(i) Next End Sub
В приведенном выше примере мы используем Str для преобразования значения ячейки в строку. Альтернативой этому может быть присвоение значения строке, а затем присвоение строки коллекции. Итак, вы видите, что использование Str здесь намного эффективнее.
Multi Region
Разница между функциями Str и CStr заключается в том, что CStr преобразует в зависимости от региона. Если ваши макросы будут использоваться в нескольких регионах, вам нужно будет использовать CStr для преобразования строк.
Хорошей практикой является использование CStr при чтении значений из ячеек. Если ваш код в конечном итоге используется в другом регионе, вам не нужно вносить какие-либо изменения, чтобы он работал правильно.
Преобразовать строку в число — CLng, CDbl, Val и т.д.
Функция | Возвращает | Пример |
CBool | Boolean | CBool(«True»), CBool(«0») |
CCur | Currency | CCur(«245.567») |
CDate | Date | CDate(«1/1/2019») |
CDbl | Double | CDbl(«245.567») |
CDec | Decimal | CDec(«245.567») |
CInt | Integer | CInt(«45») |
CLng | Long Integer | CLng(«45.78») |
CVar | Variant | CVar(«») |
Вышеуказанные функции используются для преобразования строк в различные типы. Если вы присваиваете переменную этого типа, VBA выполнит преобразование автоматически.
Sub StrToNumeric() Dim l As Long, d As Double, c As Currency Dim s As String s = "45.923239" l = s d = s c = s Debug.Print "Long is "; l Debug.Print "Double is "; d Debug.Print "Currency is "; c End Sub
Использование типов преобразования дает большую гибкость. Это означает, что вы можете определить тип во время выполнения. В следующем коде мы устанавливаем тип на основе аргумента sType, передаваемого в функцию PrintValue. Поскольку этот тип может быть прочитан из внешнего источника, такого как ячейка, мы можем установить тип во время выполнения. Если мы объявим переменную как Long, то при выполнении кода она всегда будет длинной.
Sub Test() ' Печатает 46 PrintValue "45.56", "Long" ' Печатает 45.56 PrintValue "45.56", "" End Sub Sub PrintValue(ByVal s As String, ByVal sType As String) Dim value ' Установите тип данных на основе строки типа If sType = "Long" Then value = CLng(s) Else value = CDbl(s) End If Debug.Print "Type is "; TypeName(value); value End Sub
Если строка не является допустимым числом (т.е. Содержит символы, другие цифры), вы получаете ошибку «Несоответствие типов».
Sub InvalidNumber() Dim l As Long ' Даст ошибку несоответствия типов l = CLng("45A") End Sub
Функция Val
Функция преобразует числовые части строки в правильный тип числа.
Val преобразует первые встреченные числа. Как только он встречает буквы в строке, он останавливается. Если есть только буквы, то в качестве значения возвращается ноль. Следующий код показывает некоторые примеры использования Val
Sub IspVal() ' Печатает 45 Debug.Print Val("45 Новая улица") ' Печатает 45 Debug.Print Val(" 45 Новая улица") ' Печатает 0 Debug.Print Val("Новая улица 45") ' Печатает 12 Debug.Print Val("12 f 34") End Sub
Val имеет два недостатка
- Не мультирегиональный — Val не распознает международные версии чисел, такие как запятые вместо десятичных. Поэтому вы должны использовать вышеуказанные функции преобразования, когда ваше приложение будет использоваться в нескольких регионах.
- Преобразует недопустимые строки в ноль — в некоторых случаях это может быть нормально, но в большинстве случаев лучше, если неверная строка вызывает ошибку. Затем приложение осознает наличие проблемы и может действовать соответствующим образом. Функции преобразования, такие как CLng, вызовут ошибку, если строка содержит нечисловые символы.
Генерация строки элементов — функция строки
Функция | Параметры | Описание | Пример |
String | число, символ | Преобразует числовую переменную в строку |
String (5,»*») |
Функция String используется для генерации строки повторяющихся символов. Первый аргумент — это количество повторений, второй аргумент — символ.
Sub IspString() ' Печатает: AAAAA Debug.Print String(5, "A") ' Печатает: >>>>> Debug.Print String(5, 62) ' Печатает: (((ABC))) Debug.Print String(3, "(") & "ABC" & String(3, ")") End Sub
Преобразовать регистр / юникод — StrConv, UCase, LCase
Функция | Параметры | Описание | Пример |
StrConv | строка, преобразование, LCID |
Преобразует строку |
StrConv(«abc»,vbUpperCase) |
Если вы хотите преобразовать регистр строки в верхний или нижний регистр, вы можете использовать функции UCase и LCase для верхнего и нижнего соответственно. Вы также можете использовать функцию StrConv с аргументом vbUpperCase или vbLowerCase. В следующем коде показан пример использования этих трех функций.
Sub ConvCase() Dim s As String s = "У Мэри был маленький ягненок" ' верхний Debug.Print UCase(s) Debug.Print StrConv(s, vbUpperCase) ' нижний Debug.Print LCase(s) Debug.Print StrConv(s, vbLowerCase) ' Устанавливает первую букву каждого слова в верхний регистр Debug.Print StrConv(s, vbProperCase) End Sub
На выходе:
У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
у мэри был маленький ягненок
у мэри был маленький ягненок
У Мэри Был Маленький Ягненок
Другие преобразования
Как и в случае, StrConv может выполнять другие преобразования на основе параметра Conversion. В следующей таблице приведен список различных значений параметров и того, что они делают. Для получения дополнительной информации о StrConv проверьте страницу MSDN.
Постоянные | Преобразует | Значение |
vbUpperCase | 1 | в верхний регистр |
vbLowerCase | 2 | в нижнем регистре |
vbProperCase | 3 | первая буква каждого слова в верхнем регистре |
vbWide* | 4 | от узкого к широкому |
vbNarrow* | 8 | от широкого к узкому |
vbKatakana** | 16 | из Хираганы в Катакану |
vbHiragana | 32 | из Катаканы в Хирагану |
vbUnicode | 64 | в юникод |
vbFromUnicode | 128 | из юникода |
Использование строк с массивами
Функция | Параметры | Описание | Пример |
Split | выражение, разделитель, ограничить, сравнить |
Разбирает разделенную строку в массив |
arr = Split(«A;B;C»,»;») |
Join | исходный массив, разделитель |
Преобразует одномерный массив в строку |
s = Join(Arr, «;») |
Строка в массив с использованием Split
Вы можете легко разобрать строку с разделителями в массив. Вы просто используете функцию Split с разделителем в качестве параметра. Следующий код показывает пример использования функции Split.
Sub StrToArr() Dim arr() As String ' Разобрать строку в массив arr = Split("Иван,Анна,Павел,София", ",") Dim name As Variant For Each name In arr Debug.Print name Next End Sub
На выходе:
Иван
Анна
Павел
София
Если вы хотите увидеть некоторые реальные примеры использования Split, вы найдете их в статье Как легко извлечь любую строку без использования VBA InStr.
Массив в строку, используя Join
Если вы хотите построить строку из массива, вы можете легко это сделать с помощью функции Join. По сути, это обратная функция Split. Следующий код предоставляет пример использования Join
Sub ArrToStr() Dim Arr(0 To 3) As String Arr(0) = "Иван" Arr(1) = "Анна" Arr(2) = "Павел" Arr(3) = "София" ' Построить строку из массива Dim sNames As String sNames = Join(Arr, ",") Debug.Print sNames End Sub
На выходе:
Иван, Анна, Павел, София
Форматирование строки
Функция | Параметры | Описание | Пример |
Format | выражение, формат, firstdayofweek, firstweekofyear |
Форматирует строку |
Format(0.5, «0.00%») |
Функция Format используется для форматирования строки на основе заданных инструкций. В основном используется для размещения даты или числа в определенном формате. Приведенные ниже примеры показывают наиболее распространенные способы форматирования даты.
Sub FormatDate() Dim s As String s = "31/12/2019 10:15:45" ' Печатает: 31 12 19 Debug.Print Format(s, "DD MM YY") ' Печатает: Thu 31 Dec 2019 Debug.Print Format(s, "DDD DD MMM YYYY") ' Печатает: Thursday 31 December 2019 Debug.Print Format(s, "DDDD DD MMMM YYYY") ' Печатает: 10:15 Debug.Print Format(s, "HH:MM") ' Печатает: 10:15:45 AM Debug.Print Format(s, "HH:MM:SS AM/PM") End Sub
В следующих примерах представлены некоторые распространенные способы форматирования чисел.
Sub FormatNumbers() ' Печатает: 50.00% Debug.Print Format(0.5, "0.00%") ' Печатает: 023.45 Debug.Print Format(23.45, "00#.00") ' Печатает: 23,000 Debug.Print Format(23000, "##,000") ' Печатает: 023,000 Debug.Print Format(23000, "0##,000") ' Печатает: $23.99 Debug.Print Format(23.99, "$#0.00") End Sub
Функция «Формат» — довольно обширная тема, и она может самостоятельно занять всю статью. Если вы хотите получить больше информации, то страница формата MSDN предоставляет много информации.
Полезный совет по использованию формата
Быстрый способ выяснить используемое форматирование — использовать форматирование ячеек на листе Excel. Например, добавьте число в ячейку. Затем щелкните правой кнопкой мыши и отформатируйте ячейку так, как вам нужно. Если вы довольны форматом, выберите «Пользовательский» в списке категорий слева. При выборе этого вы можете увидеть строку формата в текстовом поле типа. Это формат строки, который вы можете использовать в VBA.
Заключение
Практически в любом типе программирования вы потратите много времени на манипулирование строками. В этой статье рассматриваются различные способы использования строк в VBA.
Чтобы получить максимальную отдачу, используйте таблицу вверху, чтобы найти тип функции, которую вы хотите использовать. Нажав на левую колонку этой функции, вы попадете в этот раздел.
Если вы новичок в строках в VBA, то я предлагаю вам ознакомиться с разделом «Прочтите это в первую очередь» перед использованием любой из функций.
17.10.2013 Полезные советы
Когда возникает вопрос преобразования в excel столбца в строку, то имеется ввиду перемещение данных находящихся в столбце в строку. Или так называемое транспонирование. Весьма распространенная ситуация при перекладке данных из одного формата в другой.
Для того чтобы преобразовать в excel столбец в строку можно воспользоваться двумя способами:
Первый способ – использование специальной вставки.
Выделяем данные в столбце и копируем их. Затем правой кнопкой мыши вызываем контекстное меню, и выбираем пункт Специальная вставка. В появившемся диалоговом окне ставим галочку «транспонировать» и нажимаем ОК.
Данные из столбца в excel будут преобразованы (транспонированы) в строку.
Второй способ – использование функции ТРАНСП.
Функция ТРАНСП преобразует вертикальный диапазон ячеек (столбец) в горизонтальный (строку).
Функция ТРАНСП имеет очень простой синтаксис:
=ТРАНСП(массив), где массив – преобразуемый из столбца в строку массив данных.
Чтобы транспонировать данные в excel из столбца в строку, при помощи этой функции необходимо:
1) Выделить горизонтальный диапазон: внимание! – с количеством ячеек соответствующий количеству ячеек в вертикальном диапазоне.
2) В первую ячейку горизонтального диапазона ввести формулу =ТРАНСП(массив), где массив – это вертикальный диапазон ячеек.
3) Нажать комбинацию клавиш Ctrl + Shift + Enter. Формула будет введена как формула массива в фигурных скобках {=ТРАНСП(G5:G8)}
Какой способ выбрать при преобразовании в excel столбца в строку?
В первом случае, данные будут вставлены значениями, без связи с источником. Во втором случае, данные из столбца будут преобразованы в строку с сохранением связи с источником, и при изменении данных в столбце, будут меняться данные в строке.
Как в excel преобразовать строки в столбцы?
Как вы правильно догадались, чтобы преобразовать данные в excel из строки в столбец нужно проделать аналогичные операции, что и при преобразовании столбца в строку. Можно воспользоваться как специальной вставкой, так и функцией ТРАНСП.