Переноса текста по словам в ячейках диапазона на рабочем листе Excel из кода VBA. Свойство WrapText объекта Range, возвращаемые значения. Примеры.
Range.WrapText – это свойство, которое возвращает или задает значение типа Variant, указывающее, переносится ли текст в ячейках диапазона на новые строки, если длина текста превышает ширину ячейки.
Текст в ячейках переносится по словам. Если слово не умещается в ячейке целиком, происходит перенос части слова. Обычно, высота строки рабочего листа автоматически подбирается под ячейку с максимальным количеством строк, образовавшихся в результате переноса текста.
Синтаксис
Expression.WrapText
Expression – выражение (переменная), возвращающее объект Range.
Значения
Значения, которые возвращает свойство Range.WrapText:
Параметр | Значение |
---|---|
True | Во всех ячейках указанного диапазона включен перенос текста на новые строки. |
False | Во всех ячейках указанного диапазона отключен перенос текста на новые строки. |
Null | В указанном диапазоне присутствуют пустые ячейки, или есть ячейки как с переносом текста, так и без переноса. |
Примеры
Пример 1
Указание программе Microsoft Excel, что она должна или не должна переносить текст в ячейках заданного диапазона:
‘переносить текст в активной ячейке ActiveCell.WrapText = True ‘переносить текст во всех ячейках заданного диапазона Range(«A1:F20»).WrapText = True ‘не переносить текст в ячейке Cells(1, 5) Cells(1, 5).WrapText = False ‘не переносить текст во всех ячейках выбранного диапазона Selection.WrapText = False |
Пример 2
Присвоение значения, возвращаемого свойством Range.WrapText, переменной:
Dim a As Variant a = Range(«B2»).WrapText a = Rows(«1:2»).WrapText |
Пример 3
Просмотр значения, возвращаемого свойством Range.WrapText, с помощью информационного окна MsgBox:
If Not Selection.WrapText = Null Then MsgBox Selection.WrapText Else MsgBox «Null» End If |
Условие необходимо из-за того, что MsgBox не может отобразить значение Null
– возникает ошибка. Поэтому, когда свойство Range.WrapText = Null
, мы задаем в качестве аргумента функции MsgBox – строку «Null».
Microsoft Excel’s Wrap text allows the content of the cell to appear on multiple lines within a cell; rather than a long line. This feature makes it easy to view the cell content at a glance.
There are five ways we can Wrap Text in Excel:
Wrap Text From Ribbon
Follow the below steps to wrap text using Ribbon:
Step 1: Select the cell that you want to change.
Step 2: On the Home tab, in the Alignment group, click Wrap Text.
Removing Wrap Text via Ribbon
Follow the below steps to remove text wrap from the ribbon:
Step 1: Select the cell that you want to unwrap.
Step 2: On the Home tab, in the Alignment group, click Wrap Text.
Wrap Text Keyboard Shortcut
Follow the below steps to wrap text using the keyboard shortcut:
Step 1: Select the cell that you want to change.
Step 2: Press Alt + H +W on your keyboard.
Removing Wrap Text via Keyboard Shortcut
Follow the below steps to remove wrap text using the keyboard shortcut:
Step 1: Select the cell that you want to unwrap.
Step 2: Press Alt + H +W on your keyboard.
Wrap Text In The Format Cells Dialog Box
Follow the below steps to wrap text using Format Cells dialog box:
Step 1: Select the cell that you want to change.
Step 2: Right-click; click on Format cell on the Dialog Box.
Step 3: Select Alignment, in the Format Cells Dialog Box.
Step 4: Check Wrap Text in the Text Control option and click OK.
Removing Wrap Text via Format Cells Dialog Box
Follow the below steps to remove wrap text using the format cells dialog box:
Step 1: Select the cell that you want to change.
Step 2: Right-click; click on Format cell on the Dialog Box.
Step 3: Select Alignment, in the Format Cells Dialog Box.
Step 4: Uncheck Wrap Text in the Text Control option; click OK.
Manually Add Line Breaks To Wrap Your Text
Follow the below steps to manually add line breaks to wrap you text:
Step 1: Select the cell that you want to change.
Step 2: Place the cursor at the point in the text you want to add a line break.
Step 3: Press Alt + Enter. This will move the text down one line.
Приступая к работе в Microsoft Excel без должной подготовки, пользователь неизбежно столкнется с определенными трудностями, которые специалисту покажутся пустяковыми. Взять, к примеру, такую простую на первый взгляд операцию как перенос текста в ячейке. Пока вы набираете текст, Excel автоматически расширяет его по горизонтали, длинный текст отображается поверх соседних ячеек. А можно ли сделать так, чтобы длинный текст переносился на следующую строку и оставался в той же самой ячейке? Конечно можно, что мы сейчас и продемонстрируем.
- 1 Перенос текста в одной ячейке Excel
- 2 Перенос текста в объединенных ячейках Excel
- 3 Как сделать перенос строки в ячейке Excel
- 3.1 С помощью «горячих клавиш»
- 3.2 Перенос строки в ячейке Excel формулой
- 4 Как скрыть длинный текст в ячейке Excel
Перенос текста в одной ячейке Excel
У нас есть некий длинный текст, который мы хотим разместить в одной ячейке, но так, чтобы он был видим целиком. Мы предложим два варианта размещения текста: без объединения ячеек и с объединением оных. Начнем с первого.
- Выделите ячейку мышкой, нажмите по выделенной области правой кнопкой мыши и выберите «Формат ячеек»;
- В открывшемся окне настроек на вкладке «Выравнивание» отметьте пункт «переносить по словам» и нажмите «OK»;
- Сохранив настройки, можете смело набирать текст в созданной ячейке, не используя символ каретки;
- По завершении ввода нажмите Enter. Текст будет сохранен в одной ячейке и останется виден целиком, а ячейка растянется по высоте.
А вот и второй, более простой способ сделать автоперенос текста в ячейке.
- Выделите мышкой ячейку, затем на панели инструментов, в блоке «Выравнивание» нажмите пиктограмму «Перенести текст» (смотрите скриншот);
- Всё готово, набирайте в ячейке ваш текст, а Excel сама позаботится о переносе его на новую строку в той же ячейке;
- Нажмите Enter для сохранения результатов.
Перенос текста в объединенных ячейках Excel
А теперь рассмотрим способ вставки текста с переносом в объединенные ячейки. Для чего это нужно? Всё очень просто: вам может понадобиться крупная ячейка «на фоне» маленьких ячеек, используемых в Excel по умолчанию.
- Выделите мышкой или с помощью комбинации Shift + Стрелки нужное количество ячеек;
- Нажмите последовательно клавиши Alt → Я → Щ → Б (необязательно с включенным капсом), вследствие чего ячейки тут же будут объединены;
- Нажмите на панели инструментов уже знакомую вам пиктограмму «Перенести текст»;
- Вставьте в созданную ячейку ваш текст.
Тот же результат можно получить следующим образом:
- Выделите требуемое количество ячеек, кликните по выделенной области и выберите в меню опцию «Формат ячеек»;
- В открывшемся окне отметьте чекбоксы «переносить по словам» и «объединение ячеек»;
- Нажмите «OK» и вставьте в ячейку ваш текст.
Как сделать перенос строки в ячейке Excel
С помощью «горячих клавиш»
Самым простым способом переноса текста внутри ячейки Excel является использование комбинации Alt + Enter.
- Установите курсор в ячейку и начинайте вводить текст;
- В том месте, где вы хотите сделать перенос, нажмите Alt + Enter и продолжайте вводить текст с новой строки;
- Завершив ввод текста, нажмите ввод. В результате вы увидите весь ваш текст в одной ячейке.
При переносе текста на новую строку с помощью клавиш в ячейке автоматически включается режим «Перенос текста». Чтобы увидеть результат ручного переноса, ширина столбца, в котором находится ячейка, должна быть достаточной, чтобы в ней уместилась фраза целиком до момента переноса, иначе сработает автоперенос по ширине ячейки и результат будет отличаться от ожидаемого
Перенос строки в ячейке Excel формулой
Для переноса текста в ячейках можно также использовать готовые формулы, например, формулу сцепления текста. Она имеет следующий формат:
=СЦЕПИТЬ("Первая часть текста";СИМВОЛ(10);"вторая часть текста.")
Где СИМВОЛ(10)
— это специальный невидимый символ переноса на новую строку, добавляемый между частями текста. К слову, когда вы нажимаете Alt + Enter, тот же символ переноса добавляется в конце строки. Заключенный в двойные кавычки текст может быть произвольным, это 2 фразы, которые должны быть расположены на разных строках внутри одной ячейки.
- Выделите ячейку, вставьте в поле формул указанную формулу с подготовленным текстом и нажмите ввод;
- После того объединенный текст будет вставлен, выделите первую ячейку с началом текста и нажмите на панели инструментов кнопку переноса строк, иначе спецсимвол не будет работать;
- В результате вторая часть текста будет перенесена в ячейке на новую строку.
Как скрыть длинный текст в ячейке Excel
А сейчас мы рассмотрим обратную ситуацию, когда вставленный в ячейку более или менее объемный текст нужно частично скрыть, но таким образом, чтобы в нужный момент времени его можно было увидеть целиком. Делается это очень просто.
- Выделите ячейку и вставьте в нее свой текст так, как есть. Он растянется по всей длине ячеек;
- Нажмите ввод, выделите первую ячейку, в которой хотите оставить видимый текст, нажмите по ней правой кнопкой мыши и выберите в контекстном меню опцию «Формат ячеек»;
- В открывшемся окне переключитесь на вкладку «Выравнивание», в выпадающем списке «По горизонтали» выберите значение «с заполнением».
- Теперь длинный текст будет скрыт, его отображение ограничится шириной текущей ячейки.
- Чтобы увидеть текст целиком, нажмите на ячейку с фрагментом текста. Одинарное нажатие отобразит его только в поле ввода формул, двойной клик — в поле для формул и по всей длине ячеек.
А вот и альтернативный способ.
- Выделите ячейку и вставьте в нее свой текст так, как есть. Естественно, он растянется по всей длине ячеек;
- Выделите соседнюю, заполненную частью текста ячейку и установите курсор в поле для вставки формул;
- После того как выделенная ячейка станет пустой, нажмите пробел, а затем ввод. Лишний текст тут же будет скрыт, останется лишь его фрагмент в первой ячейке;
Если вы хотите видеть немного больше скрытой информации, можете воспользоваться таким способом.
- Объедините две или три ячейки с помощью инструмента «Объединить ячейки»;
- Вставьте в удлиненную ячейку длинный текст и нажмите ввод. Лишний текст будет тут же скрыт;
- Чтобы его увидеть, поступаем так же, как описано в пункте 5 предыдущего раздела.
Ну вот, теперь вы знаете, как можно быстро и без головной боли перенести текст на другую строку в ячейке программы Эксель или спрятать его основную часть. Однако, простота приведенных здесь примеров не должна вводить вас в заблуждение: этот программный компонент Microsoft Office довольно специфичен, и чтобы изучить все его возможности, нужно потратить не одну неделю.
Перевод в Excel
Перевод в Excel
Встроенные возможности Microsoft Translator
Добрый день, уважаемые читатели и подписчики. Сегодня мы поговорим о непривычном функционале Excel — переводе с одного языка на другой.
Стандартными возможностями перевода можно воспользоваться на вкладке «Рецензирование», выбрать «Перевод».
Таким образом, нужно всего лишь иметь текст, выделить его и нажать кнопку «Перевод». Предложенные варианты можно вставить рядом с исходным текстом, для этого нужно перейти в ячейку и нажать кнопку «Вставить» в панели перевода.
Все эти возможности предоставлены функцией Microsoft Translator, которая, к сожалению, не всегда отрабатывает корректно. Что делать если нужно воспользоваться более продвинутыми инструментами перевода для составления контрактов или договоров на другом языке?
В этом случае понадобится самостоятельно подключить тот переводчик — Гугл или Яндекс. Остальные, на мой взгляд, оставляют желать лучшего на данный момент. Я воспользуюсь вторым.
Яндекс переводчик
Для его корректно работы нам понадобится специальный api-ключ. Его можно получить на странице Яндекс.Переводчика. Естественно, нужно обладать аккаунтом на Яндексе, иначе ничего не получится.
После перехода останется всего лишь щёлкнуть «Создать ключ». Ключ будет создан, нужно будет ввести его описание.
Когда ключ будет создан, останется правильно оформить таблицу для перевода. В таблице должны быть:
- список выбора языка;
- поля для ввода текста;
- настройки запроса.
Картина будет следующей (мы пройдёмся по всем ей составляющим).
Итак, первое — мы размещаем в ячейки О1 и О2 языки (русский, английский) и делаем с помощью них проверку данных (для создания списка выбора) в ячейке С3. Подробнее про создание выпадающих списков можно узнать здесь.
Второе — выделяем место под поля для ввода текста, который будем переводить, оформляем их границами. Делается это выделением ячеек и объединением (На вкладке «Главная» выбираем кнопку «Объединить и поместить в центре»). В ячейку H6 вставляем формулу =ФИЛЬТР.XML(C18;»//text»), она поможет извлечь из XML ответа текст перевода.
Перейдём к самому важному полю — настройки.
В ячейку С15 поместим формулу проверки языка =ЕСЛИ(C3=»Русский»;»ru»;»en»). Это позволит нам автоматически менять язык в ячейке С15 при выборе языка из списка в ячейке С3.
Ключ, ячейка С16 — сюда нужно будет вставить ключ, полученный выше. Свой я не указываю, так как вы сможете выпустить его самостоятельно. Помните об одном — у Яндекса есть ограничения на количество символов, переводимых бесплатно. Если объёмы текста будут большие — лучше купить подписку.
Запрос, ячейка С17 — здесь мы разместим URL запрос к сервису Яндекса. Приведу его полностью.
- в первой части мы должны указать куда посылаем запрос (https://translate.yandex.net/api/v1.5/tr/translate?);
- вторая часть — key=»&C16&», показывает из какой ячейки забрать api-ключ;
- третья часть — lang=»&C15&», настраиваем направление перевода (en->ru, ru->en);
- четвёртая честь — «&text=»&КОДИР.URL(B6)&»&format=html» указываем в какой кодировке мы забираем текст и в каком формате представлен запрос.
Ответ XML, ячейка С18 — здесь будет представлен ответ по xml запросу, который мы отправляли переводчику. Тут используется функция =ВЕБСЛУЖБА(C17), она расшифровывает запрос из ячейки С17 и переводит его в XML формат.
Вот и всё, нам остаётся только вводить текст в одно поле, а программа автоматически будет его переводить в другом.
Для большей наглядности прикладываю файл (без ключа, его вы выпустите и вставите сами). Не обращайте внимания на ошибки #ЗНАЧ — они появляются из-за отсутствия ключа.
Надеюсь, так перевод в Excel будет несколько проще.
Транслитерация текстовой строки средствами VBA
Надстройку для транслитерации выделенного диапазона ячеек,
а также расширенную версию функции транслитерации, можно скачать в этой статье
(добавлено в связи с просьбой выполнить обратную транслитерацию)
К сожалению, процесс обратной транслитерации весьма затруднён (я бы даже сказал, что в общем случае невозможно сделать такую функцию, которая преобразовывала бы строку после транслитерации к исходному виду).
Попытаюсь объяснить, почему так происходит:
Допустим, в качестве исходной строки у нас будет текст «щзч схш жзх»
И что же мы видим на выходе?
А вот что: «zchzch shsh zhzh»
Достаточно похожие сочетания букв, не правда ли?
И как теперь макросу определить, что означает сочетание «zch sh zh» — «щ сх ж» или «зч ш ж»?
Или, может, «зч сх зх»? Все варианты для макроса ведь равнозначны.
А сочетание «zhzh» следует перевести как «зхзх» или как «жж»?
То же самое касается некоторых других буквосочетаний.
Специально проверил транслитерацию подобных сочетаний на популярном сервисе http://www.translit.ru/
Результат — при обратном переводе на русский исходная строка изменилась: схш жзх —> shsh zhzh —> шш жж
Вывод: учитывая возможное количество неопределённостей, проще обратную транслитерацию выполнять вручную.
Другой вариант функции:
Результат работы (другой набор символов для замены, учитывается регистр)
Исходная строка: «А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я»
Итоговая строка: «A-B-V-G-D-E-E-ZH-Z-I-Y-K-L-M-N-O-P-R-S-T-U-F-KH-TS-TCH-SH-SCH—Y—E-YU-YA»
- 43599 просмотров
Комментарии
можно. с любого языка на любой язык.
в статье есть ссылка на надстройку для транслитерации, — там вы можете сами настроить, какие буквы на какие заменять
(буквы могут быть из любых алфавитов)
а как можно Excel-e транслитеровать текст из армянского языка на английский
Язык VBA не учил, не работал на нём, поэтому хотел бы узнать мнение специалиста о степени пригодности VBA для создания транслитератора, работающего по правилам систем транслитерации translit1 и translit2 (http://translit1.com/).
Замените vbTextCompare на vbBinaryCompare — и всё заработает
Function Translit(ByVal txt As String) As String
iRussian$ = «абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ»
iTranslit = Array(«», «a», «b», «v», «g», «d», «e», «e», «zh», «z», «i», «y», «k», _
«l», «m», «n», «o», «p», «r», «s», «t», «u», «f», «h», «ts», «ch», _
«sh», «sch», «», «y», «», «e», «yu», «ya», «A», «B», «V», «G», «D», _
«E», «E», «Zh», «Z», «I», «Y», «K», «L», «M», «N», «O», «P», «R», «S», _
«T», «U», «F», «H», «Ts», «Ch», «Sh», «Sch», «», «Y», «», «E», «Yu», «Ya»)
For iCount% = 1 To 66
txt = Replace(txt, Mid(iRussian$, iCount%, 1), iTranslit(iCount%), , , vbTextCompare)
Next
Translit$ = txt
End Function
Пытался сделать Регистр по другому, ибо перевод в составные большие буквы не устраивает. Ибо имеем вместо «Ч» — «CH», а требуется «Ch»
НО! Не смотря на расширенный массив, всё равно всё переводит в мелкий шрифт.
Подозреваю что нужно писать проверку, но как это делается не знаю.
Удобно делать транслитерацию с помощью Punto Switcher, у него есть такая функция, можно назначить сочетание клавиш, например Ctrl+Alt+T и транслитерировать любой выделенный текст (в Экселе в т.ч.) нажав ее.
Почему же нельзя обратно? Если в начале прогнать на проверку (хотябы основных) сочетания латинских букв и заменить их кириллицей, то оставшиеся символы можно будет прогнать вашим скриптом.
О, разобрался почему регистр не учитывался в access (в ворде все работало)! 🙂
вот так теперь учитывается:
txt = Replace(txt, Mid(iRussian$, iCount%, 1), iTranslit(iCount%), , , vbBinaryCompare)
txt = Replace(txt, UCase(Mid(iRussian$, iCount%, 1)), UCase(iTranslit(iCount%)), , , vbBinaryCompare)
Ну так а вы указали в макросе, что надо преобразовывать текст ячейки?
Попробуйте добавить ниже такие макросы:
PS: Можете использовать функцию транслита как формулу в ячейке.
К примеру, в ячейке A1 у вас расположен исходный текст.
В ячейке справа напишите формулу =Translit(A1)
и увидите аналогичный результат.
Не могу запустить ни один из Ваших макросов.
Win7x64 Office2010x64
В настройках EXCEL
Параметры макросов — Включить все макросы
Доверять доступ к объектной модели проектаVBA
(перезагрузку делал — всего)
Порядок запуска макроса:
1. Копирую с сайта код
2. EXCEL (Alt+F11), Insert > Module, (Ctrl+V), (Ctrl+S), (Alt+Q)-выход
3. EXCEL в формате *.xls
4. Выделяю ячейку с Русским языком (A1)
5. (Alt+F8)-макросы, «ПримерИспользованияФункцииTranslit» > выполнить
6. Показывает
7. Строка «Проверка Работы ТРАНСЛИТА»
Преобразована в строку «Proverka Rabot’y TRANSLITA»
Подскажите что не так? Почему не переводит ячейку?
Странно — почему то все равно в нижний регистр все приводит..
How to wrap text in Excel
by Svetlana Cheusheva | updated on March 16, 2020 25 Comments
This tutorial shows how to wrap text in a cell automatically and how to insert a line break manually. You will also learn the most common reasons for Excel wrap text not working and how to fix it.
Primarily, Microsoft Excel is designed to calculate and manipulate numbers. However, you may often find yourself in situations when, in addition to numbers, large amounts of text need to be stored in spreadsheets. In case longer text does not fit neatly in a cell, you can of course proceed with the most obvious way and simply make the column wider. However, it’s not really an option when you work with a large worksheet that has a lot of data to display.
A much better solution is to wrap text that exceeds a column width, and Microsoft Excel provides a couple of ways to do it. This tutorial will introduce you to the Excel wrap text feature and share a few tips to use it wisely.
What is wrap text in Excel?
When the data input in a cell is too large fit in it, one of the following two things happens:
- If columns to the right are empty, a long text string extends over the cell border into those columns.
- If an adjacent cell to the right contains any data, a text string is cut off at the cell border.
The screenshot below shows two cases:
The Excel wrap text feature can help you fully display longer text in a cell without it overflowing to other cells. «Wrapping text» means displaying the cell contents on multiple lines, rather than one long line. This will allow you to avoid the «truncated column» effect, make the text easier to read and better fit for printing. In addition, it will help you keep the column width consistent throughout the entire worksheet.
The following screenshot shows how wrapped text looks like in Excel:
How to wrap text in Excel automatically
To force a lengthy text string to appear on multiple lines, select the cell(s) that you want to format, and turn on the Excel text wrap feature by using one of the following methods.
Method 1. Go to the Home tab > Alignment group, and click the Wrap Text button:
Method 2. Press Ctrl + 1 to open the Format Cells dialog (or right-click the selected cells and then click Format Cells…), switch to the Alignment tab, select the Wrap Text checkbox, and click OK.
Compared to the first method, this one takes a couple of extra clicks, but it may save time in case you wish to make a few changes in cell formatting at a time, wrapping text being one of those changes.
Result. Whichever method you use, the data in the selected cells wraps to fit the column width. If you change the column width, text wrapping will adjust automatically. The following screenshot shows a possible result:
How to unwrap text in Excel
As you can easily guess, the two methods described above are also used to unwrap text.
The fastest way is to select the cell(s) and click the Wrap Text button (Home tab > Alignment group) to toggle text wrapping off.
Alternatively, press the Ctrl + 1 shortcut to open the Format Cells dialog and clear the Wrap text checkbox on the Alignment tab.
How to insert a line break manually
Sometimes you may want to start a new line at a specific position rather than have lengthy text wrap automatically. To enter a line break manually, just do the following:
- Enter cell edit mode by pressing F2 or double-clicking the cell or clicking in the formula bar.
- Put the cursor where you want to break the line, and press the Alt+Enter shortcut (e. press the Alt key and while holding it down, press the Enter key).
Result. Inserting a manual line break turns on the Wrap Text option automatically. However, the line breaks entered manually will stick in place when the column is made wider. If you turn off text wrapping, the data displays in one line in a cell, but the inserted line breaks are visible in the formula bar. The following screenshot demonstrates both scenarios (a line break in entered after the word «owl»):
Excel wrap text not working
As one of the most often used features in Excel, Warp Text was designed as simple as possible and you will hardly have any problems using it in your worksheets. If text wrapping does not work as expected, check out the following troubleshooting tips.
1. Fixed row height
If not all wrapped text is visible in a cell, most likely the row is set to a certain height. To fix this, select the problematic cell, go to the Home tab > Cells group, and click Format > AutoFit Row Height:
Or, you can set a specific row height by clicking Row Height… and then typing the desired number in the Row height box. A fixed row height comes in especially handy to control the way the table headers are displayed.
2. Merged cells
Excel’s Wrap Text does not work for merged cells, so you will have to decide which feature is more important for a particular sheet. If you keep the merged cells, you can display the full text by making the column(s) wider. If you opt for Wrap Text, then unmerge cells by clicking the Merge & Center button on the Home tab, in the Alignment group:
3. The cell is wide enough to display its value
If you try to wrap a cell(s) that is already wide enough to display its contents, nothing will happen, even if later on the column is resized and becomes too narrow to fit longer entries. To force the text to wrap, toggle the Excel Wrap Text button off and on again.
This is how you wrap text in Excel to display longer text on multiple lines. I thank you for reading and hope to see you on our blog next week!
Текстовые функции Excel
ФИО, номера банковских карт, адреса клиентов или сотрудников, комментарии и многое другое –все это является строками, с которыми многие сталкиваются, работая с приложением Excel. Поэтому полезно уметь обрабатывать информацию подобного типа. В данной статье будут рассмотрены текстовые функции в Excel, но не все, а те, которые, по мнению office-menu.ru, самые полезные и интересные:
Список всех текстовых функций Вы можете найти на вкладке «Формулы» => выпадающий список «Текстовые»:
Функция ЛЕВСИМВ
Возвращает подстроку из текста в порядке слева направо в заданном количестве символов.
Синтаксис: =ЛЕВСИМВ(текст; [количество_знаков])
- текст – строка либо ссылка на ячейку, содержащую текст, из которого необходимо вернуть подстроку;
- количество_знаков – необязательный аргумент. Целое число, указывающее, какое количество символов необходимо вернуть из текста. По умолчанию принимает значение 1.
Пример использования:
Формула: =ЛЕВСИМВ(«Произвольный текст»;8) – возвращенное значение «Произвол».
Функция ПРАВСИМВ
Данная функция аналогична функции «ЛЕВСИМВ», за исключением того, что знаки возвращаются с конца строки.
Пример использования:
Формула: =ПРАВСИМВ(«произвольный текст»;5) – возвращенное значение «текст».
Функция ДЛСТР
С ее помощью определяется длина строки. В качестве результата возвращается целое число, указывающее количество символов текста.
Синтаксис: =ДЛСТР(текст)
Пример использования:
Функция НАЙТИ
Возвращает число, являющееся вхождением первого символа подстроки, искомого текста. Если текст не найден, то возвращается ошибка «#ЗНАЧ!».
Синтаксис: =НАЙТИ(искомый_текст; текст_для_поиска; [нач_позиция])
- искомый_текст – строка, которую необходимо найти;
- текст_для_поиска – текст, в котором осуществляется поиск первого аргумента;
- нач_позиция – необязательный элемент. Принимает целое число, которое указывает, с какого символа текст_для_поиска необходимо начинать просмотр. По умолчанию принимает значение 1.
Пример использования:
Из отрывка стихотворения великого поэта С.А.Есенина находим вхождение первого символа строки «птица». Поиск осуществляется с начала строки. Если в приведенном примере поиск осуществлялся бы с 40 символа, то функция в результате вернула ошибку, т.к. позиции вхождения не было найдено.
Функция ЗАМЕНИТЬ
Данная функция заменяет часть строки в заданном количестве символов, начиная с указанного по счету символа на новый текст.
Синтаксис: ЗАМЕНИТЬ(старый_текст; начальная_позиция; количество_знаков; новый_текст)
- старый_текст – строка либо ссылка на ячейку, содержащую текст;
- начальная_позиция – порядковый номер символа слева направо, с которого нужно производить замену;
- количество_знаков – количество символов, начиная с начальная_позиция включительно, которые необходимо заменить новым текстом;
- новый_текст – строка, которая подменяет часть старого текста, заданного аргументами начальная_позиция и количество_знаков.
Пример использования:
Здесь в строке, содержащейся в ячейке A1, подменяется слово «старый», которое начинается с 19-го символа и имеет длину 6 символов, на слово «новый».
В случае обработки небольшого количества ячеек такой способ вполне приемлем. Но если обработать необходимо несколько тысяч различных строк, то процесс составления формул станет трудоемким. Поэтому переделаем рассмотренный пример, используя знания по тем функциям, которые уже описаны в начале статьи, а именно:
- Аргумент «начальная_позиция» подменим функцией «НАЙТИ»;
- В место аргумент «количество_знаков» вложим функцию «ДЛСТР».
В результате получим формулу: =ЗАМЕНИТЬ(A1;НАЙТИ(«старый»;A1);ДЛСТР(«старый»);»новый»)
Посмотрите на принтскрин окна функции. Возвращаемые результаты аргументов не поменялись, зато теперь их можно определять динамически, составив формулу один раз.
Функция ПОДСТАВИТЬ
Данная функция заменяет в тексте вхождения указанной подстроки на новый текст, чем схожа с функцией «ЗАМЕНИТЬ», но между ними имеется принципиальное отличие. Если функция «ЗАМЕНИТЬ» меняет текст, указанный посимвольно вручную, то функция «ПОДСТАВИТЬ» автоматически находит вхождения указанной строки и меняет их.
Синтаксис: ПОДСТАВИТЬ(текст; старый_текст; новый_текст; [номер_вхождения])
- текст – строка или ссылка на ячейку, содержащую текст;
- старый_текст – подстрока из первого аргумента, которую необходимо заменить;
- новый_текст – строка для подмены старого текста;
- номер_вхождения – необязательный аргумент. Принимает целое число, указывающее порядковый номер вхождения старый_текст, которое подлежит замене, все остальные вхождения затронуты не будут. Если оставить аргумент пустым, то будут заменены все вхождения.
Пример использования:
Строка в ячейке A1 содержит текст, в котором имеются 2 подстроки «старый». Нам необходимо подставить на место первого вхождения строку «новый». В результате часть текста «…старый-старый…», заменяется на «…новый-старый…».
Если ли бы последний аргумент был опущен, то результатом бы стала строка «строка, содержащая новый-новый текст».
Функция ПСТР
ПСТР возвращает из указанной строки часть текста в заданном количестве символов, начиная с указанного символа.
Синтаксис: ПСТР(текст; начальная_позиция; количество_знаков)
- текст – строка или ссылка на ячейку, содержащую текст;
- начальная_позиция – порядковый номер символа, начиная с которого необходимо вернуть строку;
- количество_знаков – натуральное целое число, указывающее количество символов, которое необходимо вернуть, начиная с позиции начальная_позиция.
Пример использования:
Из текста, находящегося в ячейке A1 необходимо вернуть последние 2 слова, которые имеют общую длину 12 символов. Первый символ возвращаемой фразы имеет порядковый номер 12.
Аргумент количество_знаков может превышать допустимо возможную длину возвращаемых символов. Т.е. если в рассмотренном примере вместо количество_знаков = 12, было бы указано значение 15, то результат не изменился, и функция так же вернула строку «функции ПСТР».
Для удобства использования данной функции ее аргументы можно подменить функциями «НАЙТИ» и «ДЛСТР», как это было сделано в примере с функцией «ЗАМЕНИТЬ».
Функция СЖПРОБЕЛЫ
Данная функция удаляется все лишние пробелы: пробелы по краям и двойные пробелы между словами. После обработки строк функцией остаются только одиночные пробелы между словами.
Синтаксис: =СЖПРОБЕЛЫ(текст)
Пример использования:
=СЖПРОБЕЛЫ( » Текст с лишними пробелами между словами и по краям « )
Результатом выполнения функции будет строка: «Текст с лишними пробелами между словами и по краям» .
Функция СЦЕПИТЬ
С помощью функции «СЦЕПИТЬ» можно объединить несколько строк между собой. Максимальное количество строк для объединения – 255.
Синтаксис: =СЦЕПИТЬ(текст1; [текст2]; …)
Функция должна содержать не менее одного аргумента
Пример использования:
Функция возвратит строку: «Слово1 Слово2».
Не забывайте, что функция самостоятельно не добавляет пробелы между строками, поэтому добавлять их приходится самостоятельно.
Вместо использования данной функции можно применять знак амперсанда «&». Он так же объединяет строки. Например: «=»Слово1″&» «&«Слово2″».
Skip to content
В этом руководстве показано, как автоматически сделать перенос текста в одной ячейке и как вставлять разрыв строки вручную. Вы также узнаете о наиболее распространенных причинах, по которым перенос в Excel не работает, и о том, как это исправить.
В первую очередь Microsoft Excel предназначен для вычисления чисел и управления ими. Однако вы часто можете оказаться в ситуациях, когда помимо чисел нужно, к примеру, записать длинный заголовок в шапке таблицы. Если объемный текст не умещается в ячейке, вы, конечно, можете поступить самым очевидным способом и просто сделать столбец шире. Однако это не лучший вариант, когда вы работаете с большим листом, на котором много данных для отображения.
Гораздо лучшее решение – записать в несколько строчек фразу, превышающую ширину столбца, и Эксель предоставляет несколько способов сделать это. Это руководство научит вас, как перенести текст в ячейке Excel, и поделится несколькими советами.
- Что такое перенос текста в ячейке?
- Как автоматически переносить текст в Excel.
- Как вставить разрыв строки вручную
- Вставка разрывов при помощи формул.
- Использование Найти_и_Заменить (трюк CTRL + J)
- Почему перенос строки в Excel не работает?
Что такое перенос текста в ячейке?
Когда вводимые данные слишком объемны, происходит одно из двух событий:
- Если столбцы справа пусты, длинная фраза переходит за границу ячейки в эти столбцы.
- Если по соседству справа есть какие-либо данные, она обрезается по границе ячейки.
На рисунке ниже показаны эти два случая:
Перенос по словам в ячейке может помочь вам полностью отобразить длинное предложение без его «заползания» на другие клетки. Этот термин означает отображение содержимого ячейки на нескольких строчках, а не на одной длинной строке. Это позволит избежать эффекта «усеченного столбца», упростит чтение таблицы и сделает ее удобнее для печати. Кроме того, позволяет сохранить одинаковую ширину столбцов на всем листе.
На скриншоте показано, как это выглядит:
А теперь разберем несколько способов – как сделать перенос и добиться такого эффекта.
Как автоматически переносить текст в Excel.
Чтобы длинная фраза отображалась в нескольких строчках, выберите позиции, которые нужно отформатировать, затем включите функцию переноса на новую строку одним из следующих способов.
Способ 1 . Перейдите на вкладку «Главная»> — «Переносить текст» :
Способ 2. Нажмите Ctrl
+ 1
чтобы открыть диалоговое окно «Формат ячеек» (или щелкните правой кнопкой мыши нужные и выберите этот пункт), перейдите на вкладку «Выравнивание», установите флажок как на рисунке, затем — ОК
.
По сравнению с первым методом, этот требует нескольких дополнительных щелчков мышью. Но он может сэкономить вам время, если захотите внести сразу несколько изменений в форматирование ячеек одним махом (например, выравнивание + шрифт + перенос).
Примечание. Если флажок закрашен сплошным цветом, это означает, что в выбранном диапазоне установлены разные параметры переноса, т.е. в кое-где данные модифицируются, а в остальных — нет.
Результат. Какой бы метод вы не применили, данные распределяются по ширине столбца. Если вы измените ширину, данные перестроятся автоматически на следующую строку.
Как нетрудно догадаться, два описанных выше метода также используются для отмены переноса, если это вдруг стало не нужно. Проделайте те же самые операции и просто снимите флажок, который ранее установили.
Как вставить разрыв строки вручную
Иногда вам может потребоваться начать новый абзац в определенной позиции вместо автоматического переноса длинного текста. Чтобы обозначить начало абзаца вручную, проделайте следующее:
1. Войдите в режим редактирования, нажав F2
,дважды щелкнув либо ячейку, либо строку формул.
2. Поместите курсор в то место, где вы хотите разорвать фразу, и примените сочетание клавиш Alt
+ Enter
.
Результат. При вставке разрыва строки вручную автоматически включается параметр Перенос текста. Однако разрывы, введенные вручную, останутся на месте, когда столбец станет шире.
Обратите внимание, что ячейка должна находиться в режиме переноса, чтобы содержимое переносилось вниз. Если он не включен, вы увидите все данные в одной строке (даже если вы вставили перенос). А вот в строке формул они будут видны.
Эту особенность иногда используют, чтобы сделать более читаемыми длинные формулы. Перед отдельными частями внутри формулы вставьте разрыв (Alt
+ Enter
), и разбираться с ее работой станет намного проще. Вот как может выглядеть формула для подсчета количества слов в фразе:
На следующем рисунке показаны оба сценария (перенос по словам введен дважды, как видите):
Вставка разрывов при помощи формул.
Вы можете добавить новый абзац при помощи формулы.
Это может быть полезно, когда у вас есть разные позиции, которые вы хотите объединить и при этом добавить туда разрыв строки, чтобы каждая часть находилась отдельно.
Ниже приведен пример, где я использовал формулу для объединения различных частей адреса и добавил разрыв в каждой части.
А вот формула, которая добавляет перенос в итоговый результат:
=A2&» «&B2&СИМВОЛ(10)&C2&СИМВОЛ(10)&D2&», «&E2&» «&F2
Применяем СИМВОЛ(10), чтобы добавить новый абзац при объединении ячеек. СИМВОЛ(10) использует код ASCII, который возвращает нужный нам результат. Размещая его там, где требуется, мы заставляем формулу разбивать итоговый результат.
Вы также можете использовать функцию ОБЪЕДИНИТЬ() вместо символа амперсанда (&):
=ОБЪЕДИНИТЬ(;;A2;» «;B2;СИМВОЛ(10);C2;СИМВОЛ(10);D2;», «;E2;» «;F2)
или вот старая формула СЦЕПИТЬ(), если вы используете ранние версии Excel:
=СЦЕПИТЬ(A2;» «;B2;СИМВОЛ(10);C2;СИМВОЛ(10);D2;», «;E2;» «;F2)
Обратите внимание, что для того, чтобы это разделение было видно в таблице, вам нужно убедиться, что формат переноса строки в Excel включен. Если этот формат не применяется, описанные выше действия не приведут к видимым изменениям в вашей таблице.
Примечание. Если вы используете Mac, используйте СИМВОЛ(13) вместо СИМВОЛ(10).
Использование определения имени вместо СИМВОЛ(10)
Если вам нужно часто применять СИМВОЛ(10), отличным лайфхаком было бы присвоить ему имя. Таким образом, вы можете вводить короткий код вместо всей функции в формуле.
Вот как это можно быстро сделать.
- Кликните вкладку Формулы
- Вам нужна опция «Определить имя».
- В диалоговом окне «Новое имя» введите следующие данные:
- Имя: ПСТР (вы можете назвать его как угодно — без пробелов)
- Область применения: Книга
- Диапазон: =СИМВОЛ(10)
ОК
.
Теперь вы можете писать ПСТР вместо функции.
Так что формула для объединения адресов теперь может быть:
=СЦЕПИТЬ(A2;» «;B2;ПСТР;C2;ПСТР;D2;», «;E2;» «;F2)
или
=A2&» «&B2&ПСТР&C2&ПСТР&D2&», «&E2&» «&F2
Использование Найти_и_Заменить (трюк CTRL + J)
Это супер крутой трюк!
Предположим, у вас есть набор данных, как показано ниже.
Если вы хотите вставить разрыв строки там, где в адресе есть запятая, вы можете сделать это с помощью диалогового окна НАЙТИ и ЗАМЕНИТЬ.
Ниже приведены шаги по замене запятой на разрыв строки:
- Выберите позиции, в которых вы хотите заменить запятую на перенос.
- Кликните вкладку «Главная».
- Затем — «Найти и выделить», далее — «Заменить» (вы также можете употребить сочетание клавиш
CTRL
+H
). - В диалоговом окне «Найти и заменить» введите запятую (,) в поле «Найти».
- Поместите курсор в поле «Заменить», а затем используйте сочетание клавиш —
CTRL
+J
(удерживайте клавишуCTRL
, а затем нажмитеJ
). Это вставит новый абзац в поле. Вы можете увидеть мигающую точку в поле после этой операции.
- Выберите «Заменить ВСЕ».
- Убедитесь, что перенос включен.
Эти действия удаляют запятую и заменяют ее переводом строки.
Обратите внимание, что если вы дважды используете сочетание клавиш CTRL
+ J
, это вставит возврат каретки два раза, и между предложениями будет двойной интервал.
Вы также можете выполнить те же действия, если хотите удалить все разрывы строк и заменить их запятой (или любым другим символом). Просто поменяйте местами пункты «Найти» и «Заменить на».
Почему перенос строки в Excel не работает?
Как одна из наиболее часто используемых функций в Экселе, преобразование длинного содержимого было разработано максимально простым, и у вас вряд ли возникнут проблемы с его применением.
И все же, если это не работает должным образом, ознакомьтесь со следующими советами по устранению неполадок.
1. Фиксированная высота строки
Если в клетке таблицы видно не все содержимое, то скорее всего, для нее принудительно задана определенная высота. Чтобы исправить это, выберите проблемную позицию, перейдите на вкладку «Главная» > «Формат» > «Автоподбор высоты строки».
Или вы можете установить определенную высоту, щелкнув «Высота строки» и затем введя желаемое число в соответствующее поле. Фиксированная высота особенно удобна для управления способом отображения заголовков таблицы.
2. Объединенные ячейки
Перенос текста в ячейке не работает, если несколько из них объединены в одну. Поэтому вам нужно будет решить, какая функция более важна в вашем случае. Если вы сохраните объединенные ячейки, вы можете отобразить полное их содержимое, сделав столбцы шире. Если вы выберете «Перенос текста», то разъедините их, нажав кнопку «Объединить и поместить в центре» на вкладке «Главная».
3. Достаточно места, чтобы обойтись без переноса.
Если вы попытаетесь перенести слова в ячейке, которая уже достаточно широка для отображения ее содержимого, то ничего не произойдет, даже если позже размер столбца изменится и станет слишком узким, чтобы вместить более длинные записи. Чтобы принудительно перенести слова, выключите и снова активируйте перенос текста по словам.
Вот как в Excel можно разбивать на части содержимое ячейки, чтобы отображать более длинную фразу в несколько абзацев. Благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге!
Рекомендуем также: