Remkomplekty.ru

IT Новости из мира ПК
32 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Wrap text в excel на русском

Перевод в 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 excel len

Язык 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.

Читать еще:  Excel работа со строками

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.
Читать еще:  Excel cells select

Пример использования:

Формула: =ЛЕВСИМВ(«Произвольный текст»;8) – возвращенное значение «Произвол».

Функция ПРАВСИМВ

Данная функция аналогична функции «ЛЕВСИМВ», за исключением того, что знаки возвращаются с конца строки.

Пример использования:

Формула: =ПРАВСИМВ(«произвольный текст»;5) – возвращенное значение «текст».

Функция ДЛСТР

С ее помощью определяется длина строки. В качестве результата возвращается целое число, указывающее количество символов текста.

Синтаксис: =ДЛСТР(текст)

Пример использования:

Функция НАЙТИ

Возвращает число, являющееся вхождением первого символа подстроки, искомого текста. Если текст не найден, то возвращается ошибка «#ЗНАЧ!».

Синтаксис: =НАЙТИ(искомый_текст; текст_для_поиска; [нач_позиция])

  • искомый_текст – строка, которую необходимо найти;
  • текст_для_поиска – текст, в котором осуществляется поиск первого аргумента;
  • нач_позиция – необязательный элемент. Принимает целое число, которое указывает, с какого символа текст_для_поиска необходимо начинать просмотр. По умолчанию принимает значение 1.

Пример использования:

Из отрывка стихотворения великого поэта С.А.Есенина находим вхождение первого символа строки «птица». Поиск осуществляется с начала строки. Если в приведенном примере поиск осуществлялся бы с 40 символа, то функция в результате вернула ошибку, т.к. позиции вхождения не было найдено.

Функция ЗАМЕНИТЬ

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

Синтаксис: ЗАМЕНИТЬ(старый_текст; начальная_позиция; количество_знаков; новый_текст)

  • старый_текст – строка либо ссылка на ячейку, содержащую текст;
  • начальная_позиция – порядковый номер символа слева направо, с которого нужно производить замену;
  • количество_знаков – количество символов, начиная с начальная_позиция включительно, которые необходимо заменить новым текстом;
  • новый_текст – строка, которая подменяет часть старого текста, заданного аргументами начальная_позиция и количество_знаков.

Пример использования:

Здесь в строке, содержащейся в ячейке A1, подменяется слово «старый», которое начинается с 19-го символа и имеет длину 6 символов, на слово «новый».

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

  • Аргумент «начальная_позиция» подменим функцией «НАЙТИ»;
  • В место аргумент «количество_знаков» вложим функцию «ДЛСТР».

В результате получим формулу: =ЗАМЕНИТЬ(A1;НАЙТИ(«старый»;A1);ДЛСТР(«старый»);»новый»)

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

Функция ПОДСТАВИТЬ

Данная функция заменяет в тексте вхождения указанной подстроки на новый текст, чем схожа с функцией «ЗАМЕНИТЬ», но между ними имеется принципиальное отличие. Если функция «ЗАМЕНИТЬ» меняет текст, указанный посимвольно вручную, то функция «ПОДСТАВИТЬ» автоматически находит вхождения указанной строки и меняет их.

Синтаксис: ПОДСТАВИТЬ(текст; старый_текст; новый_текст; [номер_вхождения])

  • текст – строка или ссылка на ячейку, содержащую текст;
  • старый_текст – подстрока из первого аргумента, которую необходимо заменить;
  • новый_текст – строка для подмены старого текста;
  • номер_вхождения – необязательный аргумент. Принимает целое число, указывающее порядковый номер вхождения старый_текст, которое подлежит замене, все остальные вхождения затронуты не будут. Если оставить аргумент пустым, то будут заменены все вхождения.

Пример использования:

Строка в ячейке A1 содержит текст, в котором имеются 2 подстроки «старый». Нам необходимо подставить на место первого вхождения строку «новый». В результате часть текста «…старый-старый…», заменяется на «…новый-старый…».

Если ли бы последний аргумент был опущен, то результатом бы стала строка «строка, содержащая новый-новый текст».

Функция ПСТР

ПСТР возвращает из указанной строки часть текста в заданном количестве символов, начиная с указанного символа.

Синтаксис: ПСТР(текст; начальная_позиция; количество_знаков)

  • текст – строка или ссылка на ячейку, содержащую текст;
  • начальная_позиция – порядковый номер символа, начиная с которого необходимо вернуть строку;
  • количество_знаков – натуральное целое число, указывающее количество символов, которое необходимо вернуть, начиная с позиции начальная_позиция.

Пример использования:

Из текста, находящегося в ячейке A1 необходимо вернуть последние 2 слова, которые имеют общую длину 12 символов. Первый символ возвращаемой фразы имеет порядковый номер 12.

Аргумент количество_знаков может превышать допустимо возможную длину возвращаемых символов. Т.е. если в рассмотренном примере вместо количество_знаков = 12, было бы указано значение 15, то результат не изменился, и функция так же вернула строку «функции ПСТР».

Для удобства использования данной функции ее аргументы можно подменить функциями «НАЙТИ» и «ДЛСТР», как это было сделано в примере с функцией «ЗАМЕНИТЬ».

Функция СЖПРОБЕЛЫ

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

Синтаксис: =СЖПРОБЕЛЫ(текст)

Пример использования:

=СЖПРОБЕЛЫ( » Текст с лишними пробелами между словами и по краям « )

Результатом выполнения функции будет строка: «Текст с лишними пробелами между словами и по краям» .

Функция СЦЕПИТЬ

С помощью функции «СЦЕПИТЬ» можно объединить несколько строк между собой. Максимальное количество строк для объединения – 255.

Синтаксис: =СЦЕПИТЬ(текст1; [текст2]; …)

Функция должна содержать не менее одного аргумента

Пример использования:

Функция возвратит строку: «Слово1 Слово2».

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

Вместо использования данной функции можно применять знак амперсанда «&». Он так же объединяет строки. Например: «=»Слово1″&» «&«Слово2″».

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×