Транслитерация текста в Excel

Разберем пользовательскую функцию для транслитерации текста в Excel из кириллицы (русского текста) на латиницу (английский транслит), к примеру "Слон" в "Slon".

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

Рассмотрим 2 различных способа транслитерации текста:

  • Формула. Транслит текста можно получить с помощью функции ПОДСТАВИТЬ и последовательной замены символов из кириллицы на символ из латиницы (например, замена "б" на "b", "в" на "v", "г" на "g" и т.д.);
  • Пользовательская функция (UDF), макрос. Аналогичная процедура написанная на языке VBA.

В первом случае (вариант формулы) нам придется воспользоваться функцией ПОДСТАВИТЬ 66 раз (для преобразования 33 букв из русского алфавита в нижнем и верхнем регистрах), что делает применение данного варианта неудобным из-за размера применяемой формулы, поэтому подробно остановимся на варианте с пользовательской функцией.

Функция транслита в Excel

Как и всегда при создании пользовательской функции, сначала переходим в редактор Visual Basic (сочетание клавиш Alt + F11), затем создаем новый модуль и вставляем в него следующий код:

Обратите внимание, что в коде макроса мы использовали вариант транслитерации по правилам перевода загранпаспорта.
Если есть необходимость скорректировать какие-либо правила перевода под свои задачи, то это легко можно сделать в теле функции (изменив массив EngAlphabet в строке 6).
Вызвать пользовательскую функцию в Excel мы можем стандартным способом — либо непосредственно ввести формулу в ячейку, либо воспользоваться мастером функций (выбрав из категории Определенные пользователем):

Пример транслитерации текста

Обратная транслитерация (с английского на русский)

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

Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

Поделиться с друзьями:
Поиск по сайту:

Добавить комментарий

Ваш e-mail не будет опубликован.

Читайте ранее:
Формула номера листа и страницы в Excel

Разберем формулы номеров листов и страниц в Excel (как стандартные, так и пользовательские функции) для создания оглавления и удобной навигации...

Закрыть