Как заменить все русские буквы на английские в excel

  • Формула транслита с помощью стандартных функций Excel
    • Формула на 64 уровня вложенности без заглавных Ъ и Ь
    • Скачать файл-шаблон с транслитерацией
    • Формулы транслита, итоги
  • Функция на VBA
  • Заменить русские буквы на английские в Excel и наоборот
Пример результата транслитерации в Excel

Как перевести кириллицу в транслит в Excel?

Технически транслитерация — это замена по списку значений — символов на определенные их эквиваленты в другой раскладке. Значит, и задача состоит в том, чтобы в Excel осуществить эту серию замен.

Удивительно, но сделать такую массовую замену и транслитерировать текст в Excel можно множеством способов. Обо всех подробнее далее.

Наименее изящное, тем не менее, самое простое решение задачи. В Excel для замены символов есть функция ПОДСТАВИТЬ (англ. SUBSTITUTE). Формула принимает на вход 4 аргумента:

  1. Текст для обработки, в котором будет производиться замена (текст);
  2. Заменяемый фрагмент (стар_текст);
  3. На что заменить (нов_текст);
  4. Какой по счету встреченный в значении фрагмент заменить. (номер_вхождения).
Синтаксис Excel формулы ПОДСТАВИТЬ

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

Как раз то, что нам нужно! Поскольку Excel позволяет составлять сложные вложенные функции, мы можем сделать эту серию замен в одной много раз вложенной формуле.

Но есть несколько проблем, которые в сочетании не дают возможность сделать идеальную единую формулу транслита. Вот они:

  • В русском алфавите 33 буквы.
  • Идеальная формула транслита должна сохранять при замене регистр символов. Благо, функция “ПОДСТАВИТЬ” — регистрозависимая. Получается, что нужно делать не 33, а 66 замен. Но
  • в Excel есть ограничение количества уровней вложенности в одной формуле — 64.

Будь в русском алфавите хотя бы на одну букву меньше, мы бы уложились в ограничения Excel. Есть ли решение? Да, довольно простое.

Формула на 64 уровня вложенности без заглавных Ъ и Ь

Как правило, заглавные буквы в словах бывают, если это начало слова. Или если это аббревиатура, но аббревиатуры тоже составляются из первых букв слов.

А вы знаете слова, начинающиеся с Ъ или Ь? :)

Кажется, их можно пропустить. Так мы экономим два уровня вложенности и укладываемся в лимиты Excel (66 – 2 = 64)!

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

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
A1;
"А";"A");"Б";"B");"В";"V");"Г";"G");"Д";"D");"Е";"E");"Ё";"Yo");"Ж";"Zh");"З";"Z");"И";"I");"Й";"Y");
"К";"K");"Л";"L");"М";"M");"Н";"N");"О";"O");"П";"P");"Р";"R");"С";"S");"Т";"T");"У";"U");"Ф";"F");
"Х";"Kh");"Ц";"Ts");"Ч";"Ch");"Ш";"Sh");"Щ";"Sch");"Ы";"Y");"Э";"E");"Ю";"Yu");"Я";"Ya");"а";"a");
"б";"b");"в";"v");"г";"g");"д";"d");"е";"e");"ё";"yo");"ж";"zh");"з";"z");"и";"i");"й";"y");"к";"k");
"л";"l");"м";"m");"н";"n");"о";"o");"п";"p");"р";"r");"с";"s");"т";"t");"у";"u");"ф";"f");"х";"kh");
"ц";"ts");"ч";"ch");"ш";"sh");"щ";"sch");"ъ";"y");"ы";"y");"ь";"");"э";"e");"ю";"yu");"я";"ya")

Скачать файл-шаблон с транслитерацией

Формула выше на основе функции ПОДСТАВИТЬ с несколькими условиями может быть видоизменена – вместо явного прописывания текстовых значений, можно сделать ее на основе конкретных ячеек. Чем удобнее такой подход? Тем, что формулу менять не нужно, а данные для замены представлены в удобном для восприятия и редактирования формате в столбцах A и B.

Транслитерация с помощью таблицы замен и формулы с 64 уровнями вложенности

Транслитерация с помощью таблицы замен и формулы с 64 уровнями вложенности

По ссылке можно скачать файл-шаблон, в котором применены эти функции.

Формулы транслита, итоги

У подхода с созданием таких мега формул есть свои плюсы и минусы. Минус один – они громоздки и такое не так-то просто сходу набрать. Поэтому их нужно где-то хранить и копировать при необходимости.

Плюсы в основном происходят из недостатков VBA-кода:

  • Формулы листа железно сработают в любой версии Excel на любом компьютере, даже с самыми жесткими политиками защиты данных.
  • Они легко изменяются, если нужно переделать правила транслитерации, и довольно просты.
  • Транспортабельны, т.е. формулы не “слетят”, если их отправить кому-либо и открыть на другом компьютере.

Функция на VBA

Код пользовательской функции, которая транслитерирует строчные в строчные, а заглавные – в заглавные, и при этом транслитерирует заглавные буквы Ж, Ш, Х, Ч, Щ и подобные, делая в транслите заглавной только первую букву (Zh, Sh, Kh, Ch, Sch…).

Точь-в-точь эта функция присутствует в надстройке !SEMTools и доступна всем желающим – нужно только скачать и установить !SEMTools. Далее функцию можно применять как обычную функцию Excel на листе. Например, =Translit(A1)

Function Translit(x As String) As String
    cyr = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
    lat = Array("", "a", "b", "v", "g", "d", "e", "e", "zh", "z", "i", "y", "k", _
        "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _
        "sh", "sch", "y", "y", "", "e", "yu", "ya")
    For i = 1 To 33
        x = Replace(x, Mid(cyr, i, 1), lat(i), , , vbBinaryCompare)
        x = Replace(x, UCase(Mid(cyr, i, 1)), StrConv(lat(i), vbProperCase), , , vbBinaryCompare)
    Next
    Translit = x
End Function

Заменить русские буквы на английские в Excel и наоборот

Надстройка !SEMTools предлагает помимо основного еще 4 варианта замены:

  1. Обратный транслит (из латиницы в кириллицу);
  2. “Смена раскладки” – asdf -> фыва;
  3. Замена букв с идентичным начертанием — кириллица в латиницу;
  4. Аналогичная замена английских букв, похожих на русские, на действительно русские.

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

Чтобы произвести транслитерацию, достаточно просто выделить столбец с данными и вызвать нужную процедуру. Данные изменятся на месте.

Транслитерация в !SEMTools

Нужно сделать транслитерацию русского на латиницу в Excel или наоборот?
Быстро решить эту и более 500 других задач поможет надстройка !SEMTools.

Транслит

Если Вам часто приходится переводить кириллицу в транслит (а попробуйте-ка сделать это для фамилии «Кржижановский», например), то эта функция — для Вас.

Откройте редактор Visual Basic (Alt+F11), вставьте через меню новый пустой программный модуль (Insert — Module) и скопируйте туда текст этой функции:

Function Translit(Txt As String) As String

    Dim Rus As Variant
    Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _
    "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _
    "щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _
    "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _
    "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я")

    Dim Eng As Variant
    Eng = Array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", _
    "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _
    "sh", "sch", "''", "y", "'", "e", "yu", "ya", "A", "B", "V", "G", "D", _
    "E", "JO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _
    "S", "T", "U", "F", "KH", "TS", "CH", "SH", "SCH", "''", "Y", "'", "E", "YU", "YA")
    
    For I = 1 To Len(Txt)
        с = Mid(Txt, I, 1)
    
        flag = 0
        For J = 0 To 65
            If Rus(J) = с Then
                outchr = Eng(J)
                flag = 1
                Exit For
            End If
        Next J
        If flag Then outstr = outstr & outchr Else outstr = outstr & с
    Next I
    
    Translit = outstr
    
End Function

Теперь на любом листе этой книги Вы можете использовать эту функцию, вставив ее через Мастер Функций:

  • в Excel 2003 и старше — через меню Вставка — Функция (Insert — Function)

  • в Excel 2007 и новее — через вкладку Вставка — Функция (Insert — Function)

 из категории Определенные пользователем (User defined):

translit.gif

В этом макросе варианты замены русских букв английскими эквивалентами представлены согласно ГОСТ. Если для вашей задачи нужны другие версии (например, русская «я» должна выводиться как «ja», а не как «ya» и т.д.), то можно свободно подкорректировать это в теле макроса. Как легко догадаться, два первых массива Rus и Eng как раз и кодируют эти подстановки.

Для новых версий Excel 2007-2010 и т.д. не забудьте сохранить вашу книгу как файл с поддержкой макросов (Macro Enabled Workbook), т.е. в формате XLSM.

Ссылки по теме

  • Макрос-переводчик
  • Преобразование русского текста в транслит с помощью надстройки PLEX

Транслитерация в excel довольно распространенная задача. Сделать транслит в Excel — значит, русские буквы превратить в английские или латинские

Часто неопытные пользователи делают транслитерацию в excel вручную, а более опытные используют многоэтажные формулы с подстановкой значений.

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

Видео для тех, кто не любит читать

Итак, у нас есть таблица с ФИО сотрудников. Нужно сделать транслитерацию этих данных.

транслитерация в excel

1. Нажмем клавиши Alt + F11, чтобы перейти в редактор Visual Basic

2. В окне редактора Visual Basic перейдем в меню InsertModule

транслитерация в excel

3. Выделите следующий текст функции, скопируйте его (Ctrl + C) и вставьте в пустое окно модуля (Ctrl + V)

Function Translit(Txt As String) As String

 Dim Rus As Variant

 Rus = Array(«а», «б», «в», «г», «д», «е», «ё», «ж», «з», «и», «й», «к», _

 «л», «м», «н», «о», «п», «р», «с», «т», «у», «ф», «х», «ц», «ч», «ш», _

 «щ», «ъ», «ы», «ь», «э», «ю», «я», «А», «Б», «В», «Г», «Д», «Е», _

 «Ё», «Ж», «З», «И», «Й», «К», «Л», «М», «Н», «О», «П», «Р», _

 «С», «Т», «У», «Ф», «Х», «Ц», «Ч», «Ш», «Щ», «Ъ», «Ы», «Ь», «Э», «Ю», «Я»)

 Dim Eng As Variant

 Eng = Array(«a», «b», «v», «g», «d», «e», «jo», «zh», «z», «i», «j», _

 «k», «l», «m», «n», «o», «p», «r», «s», «t», «u», «f», «kh», «ts», «ch», _

 «sh», «sch», «»», «y», «‘», «e», «yu», «ya», «A», «B», «V», «G», «D», _

 «E», «JO», «ZH», «Z», «I», «J», «K», «L», «M», «N», «O», «P», «R», _

 «S», «T», «U», «F», «KH», «TS», «CH», «SH», «SCH», «»», «Y», «‘», «E», «YU», «YA»)

 For I = 1 To Len(Txt)

 с = Mid(Txt, I, 1)

 flag = 0

 For J = 0 To 65

 If Rus(J) = с Then

outchr = Eng(J)

 flag = 1

 Exit For

 End If

 Next J

 If flag Then outstr = outstr & outchr Else outstr = outstr & с

 Next I

 Translit = outstr

End Function

Обратите внимание, что в этом макросе знаки русского алфавита заменяются латиницей согласно ГОСТу. Если вам нужно, чтобы буквы заменялись иначе, измените их внутри макроса.

4. Закройте редактор Visual Basic. Данные сохранятся в нем автоматически.

5. Теперь установите курсор в первую ячейку, в которой нужно сделать транслитерацию. 

6. Перейдите на вкладку меню ФормулыВставить функцию.

транслитерация в excel

7. В выпадающем списке Категория выберите Определенные пользователем.

транслитерация в excel

8. Созданная для транслитерации функция называется Translit. Выделите ее и нажмите Ок.

транслитерация в excel

9. Установив курсор в поле Txt, щелкните по первой ячейке, для которой нужно сделать транслитерацию. Нажмите Ок.

транслитерация в excel

10. Скопируйте формулу до конца списка, потянув за нижний правый уголок выделенной ячейки. Транслитерация в Excel готова.

транслитерация в excel

Теперь транслитерация ячеек excel будет производиться макросом автоматически, достаточно указать или вызвать формулу =Translit(). Это удобно, если у вас большой список слов для транслитерации и вручную сделать это сложно. 


   Сообщество Excel Analytics | обучение Excel

    Канал на Яндекс.Дзен 

После установки надстройки появится новая функция =ПЕРЕВОД (ТЕКСТ;ЯЗЫК). Функция имеет всего 2 аргумента:

  • ТЕКСТ — Собственно текст, который необходимо перевести. Максимальная длина текста составляет 10 000 символов
  • ЯЗЫК — Направление для перевода. Может задаваться одним из следующих способов:
  1. В виде пары кодов языков («с какого»-«на какой»), разделенных дефисом. Например, «en-ru» обозначает перевод с английского на русский.
  2. В виде кода конечного языка (например «ru»). В этом случае сервис Яндекс.Перевод пытается определить исходный язык автоматически.

После установки надстройки, функцией можно будет пользоваться аналогично встроенной. Вот так выглядит стандартное окно ввода параметров функции ПЕРЕВОД. Далее приводятся различные примеры применения функций перевода.

Диалоговое окно функции ПЕРЕВОД

Пример 1

Как уже было сказано переменную ЯЗЫК можно задавать двумя способами. Проще всего указать код конечного языка. В этом случае Яндекс сам попытается определить язык источника.

Пример 1 работы функции ПЕРЕВОД в Excel

Пример 2

Более сложный способ — явно указать исходный язык и язык на который вам необходимо перевести.

Пример 2 работы функции ПЕРЕВОД в Excel

Упрощенные функции перевода

Как правило, мы пользуемся двумя языками: русским и английским. Чтобы упростить жизнь себе и пользователям я сделал еще 4 разновидности функции:

=ПереводRu(ТЕКСТ) — Переводит текст практически с любого языка на русский язык, используя сервис Яндекс.Перевод (язык источника указывать не нужно)

=ПереводEn(ТЕКСТ) — Переводит текст с любого языка на английский язык, используя сервис Яндекс.Перевод (язык источника указывать не нужно).

=ПереводEnRu(ТЕКСТ) — Переводит текст с английского языка на русский язык, используя сервис Яндекс.Перевод.

=ПереводRuEn(ТЕКСТ) — Переводит текст с русского языка на английский язык, используя сервис Яндекс.Перевод.

Ограничение на перевод

К сожалению, в сутки Яндекс позволяет перевести бесплатно не более 1 млн символов. В связи с ростом пользователей, этот объем стал достигаться достаточно часто. В 00:00 по Мск ограничение снимется и функция опять заработает. При превышении объема, функция возвращает значение «Текст не может быть переведен».

Как заменить русские буквы на английские в excel

Доброго времени суток!

Подскажите пожалуйста, есть столбец с цифрами и буквами типа “00566СDН” или “LGО” где буквы C, О, H могут быть как Русскими так и английскими, можно желательно формулами или макросами в соседние 2 столбца вывести варианты, первый столбец все похожие буквы заменить на английские, во втором столбце все похожие буквы заменить на русские. Может темы были уже помогите пожалуйста?

Доброго времени суток!

Подскажите пожалуйста, есть столбец с цифрами и буквами типа “00566СDН” или “LGО” где буквы C, О, H могут быть как Русскими так и английскими, можно желательно формулами или макросами в соседние 2 столбца вывести варианты, первый столбец все похожие буквы заменить на английские, во втором столбце все похожие буквы заменить на русские. Может темы были уже помогите пожалуйста? dfysdbu

Сообщение Доброго времени суток!

Подскажите пожалуйста, есть столбец с цифрами и буквами типа “00566СDН” или “LGО” где буквы C, О, H могут быть как Русскими так и английскими, можно желательно формулами или макросами в соседние 2 столбца вывести варианты, первый столбец все похожие буквы заменить на английские, во втором столбце все похожие буквы заменить на русские. Может темы были уже помогите пожалуйста? Автор — dfysdbu
Дата добавления — 10.09.2014 в 18:38

Изменение кодировки в Microsoft Excel

Кодировка текста в Microsoft Excel

С потребностью менять кодировку текста часто сталкиваются пользователи, работающие браузерах, текстовых редакторах и процессорах. Тем не менее, и при работе в табличном процессоре Excel такая необходимость тоже может возникнуть, ведь эта программа обрабатывает не только цифры, но и текст. Давайте разберемся, как изменить кодировку в Экселе.

Работа с кодировкой текста

Кодировка текста – эта набор электронных цифровых выражений, которые преобразуются в понятные для пользователя символы. Существует много видов кодировки, у каждого из которых имеются свои правила и язык. Умение программы распознавать конкретный язык и переводить его на понятные для обычного человека знаки (буквы, цифры, другие символы) определяет, сможет ли приложение работать с конкретным текстом или нет. Среди популярных текстовых кодировок следует выделить такие:

  • Windows-1251;
  • KOI-8;
  • ASCII;
  • ANSI;
  • UKS-2;
  • UTF-8 (Юникод).

Последнее наименование является самым распространенным среди кодировок в мире, так как считается своего рода универсальным стандартом.

Чаще всего, программа сама распознаёт кодировку и автоматически переключается на неё, но в отдельных случаях пользователю нужно указать приложению её вид. Только тогда оно сможет корректно работать с кодированными символами.

Некорректные символы в Microsoft Excel

Наибольшее количество проблем с расшифровкой кодировки у программы Excel встречается при попытке открытия файлов CSV или экспорте файлов txt. Часто, вместо обычных букв при открытии этих файлов через Эксель, мы можем наблюдать непонятные символы, так называемые «кракозябры». В этих случаях пользователю нужно совершить определенные манипуляции для того, чтобы программа начала корректно отображать данные. Существует несколько способов решения данной проблемы.

Способ 1: изменение кодировки с помощью Notepad++

К сожалению, полноценного инструмента, который позволял бы быстро изменять кодировку в любом типе текстов у Эксель нет. Поэтому приходится в этих целях использовать многошаговые решения или прибегать к помощи сторонних приложений. Одним из самых надежных способов является использование текстового редактора Notepad++.

    Запускаем приложение Notepad++. Кликаем по пункту «Файл». Из открывшегося списка выбираем пункт «Открыть». Как альтернативный вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+O.

Переход к отрытию файла в Notepad++

Открытие файла в Notepad++

Изменение кодировки файла в Notepad++

Сохранение файла в Notepad++

Корректное отображение символов в Microsoft Excel

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

Способ 2: применение Мастера текстов

Кроме того, совершить преобразование можно и с помощью встроенных инструментов программы, а именно Мастера текстов. Как ни странно, использование данного инструмента несколько сложнее, чем применение сторонней программы, описанной в предыдущем методе.

    Запускаем программу Excel. Нужно активировать именно само приложение, а не открыть с его помощью документ. То есть, перед вами должен предстать чистый лист. Переходим во вкладку «Данные». Кликаем на кнопку на ленте «Из текста», размещенную в блоке инструментов «Получение внешних данных».

Переход к добавлению текста в Microsoft Excel

  • TXT;
  • CSV;
  • PRN.

Импорт файла в Microsoft Excel

Переход к выбору кодировки в Мастере текстов в Microsoft Excel

Мастер текстов в Microsoft Excel

Второе окно мастера текста в Microsoft Excel

  • Общий;
  • Текстовый;
  • Дата;
  • Пропустить столбец.

Третье окно мастера текста в Microsoft Excel

Координаты вставки в Microsoft Excel

Текст добавлен в файл в Microsoft Excel

Способ 3: сохранение файла в определенной кодировке

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

    Переходим во вкладку «Файл». Кликаем по пункту «Сохранить как».

Переход в сохранить как в Microsoft Excel

Переход в сервис в Microsoft Excel

Параметры веб-документа в Microsoft Excel

Сохранение файла в Microsoft Excel

Документ сохранится на жестком диске или съемном носителе в той кодировке, которую вы определили сами. Но нужно учесть, что теперь всегда документы, сохраненные в Excel, будут сохраняться в данной кодировке. Для того, чтобы изменить это, придется опять заходить в окно «Параметры веб-документа» и менять настройки.

Существует и другой путь к изменению настроек кодировки сохраненного текста.

    Находясь во вкладке «Файл», кликаем по пункту «Параметры».

Переход в параметры в Microsoft Excel

Переход в параметры документа в Microsoft Excel

Параметры веб-документа в Microsoft Excel

Теперь любой документ, сохраненный в Excel, будет иметь именно ту кодировку, которая была вами установлена.

Как видим, у Эксель нет инструмента, который позволил бы быстро и удобно конвертировать текст из одной кодировки в другую. Мастер текста имеет слишком громоздкий функционал и обладает множеством не нужных для подобной процедуры возможностей. Используя его, вам придется проходить несколько шагов, которые непосредственно на данный процесс не влияют, а служат для других целей. Даже конвертация через сторонний текстовый редактор Notepad++ в этом случае выглядит несколько проще. Сохранение файлов в заданной кодировке в приложении Excel тоже усложнено тем фактом, что каждый раз при желании сменить данный параметр, вам придется изменять глобальные настройки программы.

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

Онлайн транслитерация ФИО для загранпаспорта, авиабилета, ЧПУ для Яндекса и просто для удобного чтения

Транслитерация (лат. trans – ‘через’ + litera – ‘буква’) – точная передача букв письменности одного языка алфавитом другого языка.

Транслитерация с русского на английский: задачи, преимущества

Транслитерация кириллической азбуки буквами латинского алфавита обеспечивает стабильность представления исходного письменного текста в англоязычной среде или при отсутствии клавиатуры с буквами кириллицы. Задача транслитерации – унификация (единообразие), формальное сближение русского текста с языком международного общения.

Транслитерацию применяют при оформлении документов межгосударственного значения (паспорт, банковские карты, водительские удостоверения и пр.).

Она используется в компьютерных программах для доменных имён сайтов, veb-адресов; ввода текстов при ограничениях применения кириллицы. Названия папок и файлов на латинице исключают сбой при работе с рядом программ. Транслитерированная форма текста устраняет проблему их сохранения/открытия в разных кодировках.

Её применяют в нерусифицированных системах для набора текстов. SMS-сообщения на латинице более компактны, чем кириллические.

Транслитерация с русского на английский: особенности замены букв

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

Трудности транслитерации с русского на английский определяются тем, что составы алфавитов совпадают частично: английский алфавит состоит из 26 букв, русский – из 33.

ГОСТ 27465-87 установил для транслитерации базовый и расширенный латинский алфавит.

Базовый – буквы, которые используются в большинстве письменных систем и с которыми соотносятся буквы кириллицы: а-a, б-b, в-v, г-g, д-d, з-z, и-i, к-k, л-l, м-m, н-n, о-o, п-p, р-r, с-s, т-t, у-u, ф-f, э-e.

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

ослабленная. Одна буква заменяется буквосочетаниями (ч → ch, я → ya);

расширенная. Позволяет обозначение звуков/букв исходного языка особыми знаками, не входящими в алфавит, или представление определённых русских буквосочетаний одной буквой (ый → y);

— буквосочетания заменяют буквами, которые по отдельности обозначают другие звуки (-ья → ja).

ГОСТ-2000 определяет две системы преобразования русской азбуки латинскими буквами:

— ослабленную, с применением буквосочетаний. Она задаёт представление русских букв сочетаниями букв латинских (система Б).

Обе системы разработаны в виде таблиц (см. таблицы 1, 2).

Транслитерация русского алфавита по системе А

Транслитерация русского алфавита по системе Б

Принцип и правила транслитерации с русского на английский

Таблицы замены букв – это техническая основа перевода текста из одной письменной системы в другую и одновременно правила транслитерации.

Передачу русских текстов латиницей регулирует принцип звуковых соответствий букв двух алфавитов. На нём основаны правила транслитерации:

— однозначность. Каждая буква текста-исходика заменяется одним знаком. Как правило, это буквы, обозначающие тождественные звуки;

— простота. Соотносятся буквы, которые в разных языках обозначают тождественные звуки. Они позволяют опираться на несложные табличные алгоритмы;

— обратимость. Возможность конвертировать преобразованный текст в исходный.

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

Обзор старых стандартов и видов транслитерации

Правила транслитерации русских текстов английским алфавитом разработаны несколькими ГОСТами, регулируются приказами, правилами, инструкциями государственных учреждений (МВД, ФМС и др.).

ГОСТ-71 – первый стандарт для транслитерации

Основой регламентирования транслитерации стал ГОСТ-71, изложивший требования к записи в научно-технических текстах славянских наименований латиницей. Согласно его положениям, бОльшая часть букв русской азбуки при графическом преобразовании соотносится с латинскими буквами, совпадающими с ними значениями и начертательными признаками.

Для обозначения русских букв и звуков, которых нет в английском языке, в ГОСТе-71 представлены две системы соответствий кириллических и латинских букв. Обе действуют во всех последующих ГОСТах:

система А, в которой буквы Ё, Я Ж, Э, Щ, Ю, Ч, Ш передаются буквами латиницы с диакритическими знаками (такие значки уточняют произношение);

система Б. В ней указанные буквы соотносятся с латинскими сочетаниями из 2-3 букв.

Знайка, самый умный эксперт в Цветочном городе

Мнение эксперта

Знайка, самый умный эксперт в Цветочном городе

Если у вас есть вопросы, задавайте их мне!

Задать вопрос эксперту

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

Транслитерация кириллической азбуки буквами латинского алфавита обеспечивает стабильность представления исходного письменного текста в англоязычной среде или при отсутствии клавиатуры с буквами кириллицы. Задача транслитерации – унификация (единообразие), формальное сближение русского текста с языком международного общения.
Сайт Translit.ru

Транслитерация для авиабилетов, паспортов, транслитерация для ЧПУ страниц яндекса и гугла

Дело в том, что будь вы китайцем или японцем, то для выражения своих мыслей вам понадобилось бы использовать как минимум несколько тысяч иероглифов, и клавиатура с таким функционалом стала бы фейком, хотя можно было бы попробовать научиться печатать и на таком монстре (нужен только подходящий клавиатурный тренажер):

Если вам необходимо выполнить транслит русских букв в английские.

Сохраняем файл excel как Книга Excel с поддержкой макросов (*xlsm). Вызываем сочетанием клавиш Alt+F11 Microsoft Visual Basic For Applications, в окне Project кликаем правой кнопкой мыши, выбираем Insert — Module и вставляем следующее:


Function TRANSLIT(Txt As String) As String
       Dim Rus As Variant
       Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _
       "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _
       "щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _
       "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _
       "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я")
       Dim Eng As Variant
       Eng = Array("a", "b", "v", "g", "d", "e", "e", "zh", "z", "i", "j", _
       "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "c", "ch", _
       "sh", "sch", "''", "y", "", "e", "yu", "ya", "A", "B", "V", "G", "D", _
       "E", "Jo", "Zh", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _
       "S", "T", "U", "F", "H", "C", "Ch", "Sh", "Sch", "''", "Y", "", "E", "Yu", "Ya")
       For I = 1 To Len(Txt)
            с = Mid(Txt, I, 1)
            flag = 0
            For J = 0 To 65
                  If Rus(J) = с Then
                       outchr = Eng(J)
                       flag = 1
                       Exit For
                 End If
           Next J
           If flag Then outstr = outstr & outchr Else outstr = outstr & с
      Next I
      TRANSLIT = outstr
End Function

Для транслита русских букв в английские в ячейке вводим: =TRANSLIT(НомерЯчейки)

Содержимое скрыть 1 Формула транслитерации с использованием стандартных функций Excel 1.1 Формула для 64 уровней вложенности без прописных букв b и b 1.2 Скачать файл шаблона с транслитерацией 1.3 Формулы транслитерации, итоги 2 Функция VBA 3 Заменить русские буквы английскими буквами в Excel и наоборот Пример результата транслитерации в Excel

Как перевести кириллицу в транслитерацию в Excel?

Технически транслитерация — это замена списка значений — символов на их конкретные эквиваленты в другом макете. Это означает, что задача состоит в том, чтобы реализовать этот набор переопределений в Excel.

Удивительно, но есть много способов сделать такую ​​массовую замену и транслитерировать текст в Excel. Подробнее обо всех ниже.

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

  1. Текст для обработки, в котором будет произведена замена (текст)
  2. Фрагмент для замены (old_text)
  3. На что заменить (новый_текст)
  4. Какой фрагмент встречается по смыслу, подлежащему замене. (число_звук)

ЗАМЕНА формулы синтаксиса Excel

Четвертый параметр является необязательным, и если он не заполнен, заменяются все фрагменты, встречающиеся в тексте.

Как раз то, что нам нужно! Поскольку Excel позволяет составлять сложные вложенные функции, мы можем выполнять эту серию замен во вложенной формуле много раз.

Но есть несколько проблем, которые в совокупности не позволяют создать идеальную унифицированную формулу транслитерации. Они здесь:

  • В русском алфавите 33 буквы
  • Идеальная формула транслитерации должна сохранять заглавные буквы во время замены. К счастью, функция REPLACE чувствительна к регистру. Получается, нужно сделать не 33, а 66 замен. Но
  • в Excel есть ограничение на количество уровней вложенности в формуле: 64.

Если бы в русском алфавите было хотя бы на одну букву меньше, мы были бы в рамках Excel. Есть выход? Да, довольно просто.

Формула на 64 уровня вложенности без заглавных Ъ и Ь

Как правило, в словах есть заглавные буквы, если это начало слова. Или, если это аббревиатура, но аббревиатуры также состоят из первых букв слов.

Вы знаете слова, которые начинаются на боб? 🙂

Похоже, их пропустили. Так что давайте сохраним два уровня вложенности и настроимся на пределы Excel (66 — 2 = 64)!

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

= ПОДСТАВИТЬ (ПОДСТАВИТЬ (ПОДСТАВИТЬ (ПОДСТАВИТЬ (ПОДСТАВИТЬ) (ПОДСТАВИТЬ (ПОДСТАВИТЬ)) (ПОДСТАВИТЬ (ПОДСТАВИТЬ) (ПОДСТАВИТЬ (ПОДСТАВИТЬ) (ЗАМЕНА (A1; «)»; « В »;« В »);« Г »;« Г »);« Д »;« Д »);« Е »;« Д »);« Е »;« Йо »);« Ж »;« Ж » «);» З «;» Z «);» И «;» I «);» Y «;» Y «);» К «;» K «);» Л «;» L «);» М »;« M »);« N »;« N »);« O »;« O »);« P »;« P »);« P »;« R »);« C »;« S »); «Т»; «Т»); «У»; «U»); «Ф»; «F»); «Х»; «Х»); «Ц»; «Ц»); «Ч»; «Ч»); «Ш»; «Ш»); «Щ»; «Щ»); «Y»; «Y»); «А ТАКЖЕ»; «А ТАКЖЕ»); «U»; «Ю»); «Я ЕСМЬ»; «Я»); «а»; «а»); «б»; «б»); «с»; «v»); «грамм»; «грамм»); «д»; «г»); «А также»; «А также»); «А также»; «йо»); «е»; «ж»); «з»; «з»); «е»; «я»); «у»; «у»); «к»; «к»); «L»; «L»); «м»; «м»); «п»; «п»); «или»; «или»); «п»; «п»); «п»; «r»); «c»; «s»); «t»; «t»); «y»; «u»); «f»; «f»); «x»; «kh»); «ц»; «ц»); «час»; «ч»); «ш»; «ш»); «u»; «щ»); «ъ»; «у»); «с»; «y»); «b»; «»); «e»; «e»); «yu»; «yu»); «i»; «ya»)

Скачать файл-шаблон с транслитерацией

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

Транслитерация с таблицей подстановок и формулой с 64 уровнями вложенности Транслитерация с таблицей подстановок и формулой с 64 уровнями вложенности

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

Формулы транслита, итоги

Подход к созданию таких мега-формул имеет свои плюсы и минусы. Есть только один недостаток — они громоздкие, и их не так-то просто набрать сразу. Поэтому их нужно где-то хранить и при необходимости копировать.
Плюсы в основном связаны с недостатками кода VBA:

  • По иронии судьбы формулы электронных таблиц будут работать в любой версии Excel на любом компьютере, даже с самыми строгими политиками защиты данных
  • Их легко редактировать, если вам нужно переделать правила транслитерации, и они довольно просты
  • Переносной, т.е формулы не «улетают», если их отправить кому-то и открыть на другом компьютере

Функция на VBA

Код пользовательской функции, которая транслитерирует строчные буквы в строчные и прописные в прописные и одновременно транслитерирует прописные буквы Ж, Ш, Х, Ч, Щ и т.п., используя только первую букву транслитерации (Zh, Ш, Х, Ч, Щ…).

Правильно, эта функция присутствует в надстройке SEMTools и доступна всем: вам просто нужно скачать и установить! Затем эту функцию можно применить на листе как обычную функцию Excel. Например, = Транслит (A1)

Функция транслита (x как строка) как строка cyr = «abvgdeozhziyklmnoprstufkhtschshshchshch’yueyuya» lat = Array («», «a», «b», «v», «g», «d», «e», «e» , «zh», «z», «i», «y», «k», _ «l», «m», «n», «o», «p», «r», «s», «t», «u», «f», «kh», «ts», «ch», _ «sh», «sch», «y», «y», «», «e», «yu» «,» ya «) Для i = от 1 до 33 x = Replace (x, Mid (cyr, i, 1), lat (i) ,,, vbBinaryCompare) x = Replace (x, UCase (Mid (cyr, i, 1)), StrConv (lat (i), vbProperCase) ,,, vbBinaryCompare) Next Translit = x End Function

Заменить русские буквы на английские в Excel и наоборот

Надстройка SEMTools предлагает еще 4 варианта замены в дополнение к основному:

  1. Обратная транслитерация (с латиницы на кириллицу)
  2. «Изменить макет» — asdf -> fiva
  3. Замена букв в едином стиле — с кириллицы на латиницу
  4. Аналогичная замена английских букв, похожих на русские, на истинно русские

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

Как правильно настроить поиск и замену английских букв в русском тексте таблиц Excel

Одна из типовых ситуаций, с которой все мы однажды сталкиваемся, выглядит так: кто-то при наборе текстовой информации в ячейку случайно использовал английские буквы (латиницу) вместо русских (кириллицы). Допустить такую ошибку легко даже самим, особенно если учесть изощренное расположение некоторых символов (русская «С» и английская «С», например) в стандартной раскладке клавиатуры.

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

Способ 1. Шрифт без кириллицы

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

Шрифт без кириллицы

Шрифт без кириллицы

Способ 2. Подсветка латиницы красным цветом шрифта

Этот способ является продолжением и развитием предыдущей идеи и заключается в изменении цвета символов латиницы на красный с помощью небольшого макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert – Module) и введите туда следующий код.

1
2
3
4
5
6
7
8
9
10
Sub ShowLatinRed()
For Each c In Selection
    For i = 1 To Len(c)
        If (Asc(Mid(c, i, 1)) >= 65 And Asc(Mid(c, i, 1)) <= 90) Or _
        (Asc(Mid(c, i, 1)) >= 97 And Asc(Mid(c, i, 1)) <= 122) Then
        c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
        End If
    Next i
Next c
End Sub

Теперь если выделить интересующий диапазон ячеек и запустить наш макрос с помощью сочетания клавиш Alt+F8 или через вкладку Разработчик → Макросы (Developer → Macros), то символы латиницы выделятся красным цветом шрифта.

Символы латиницы выделятся красным цветом

Символы латиницы выделятся красным цветом

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

Способ 3. Функция IsLatin на VBA

Если количество проверяемых ячеек велико, то визуальное определение станет затруднительным. Для таких случаев можно создать пользовательскую функцию (назовем ее, например, IsLatin), которая будет проверять, присутствуют ли в заданной ячейке символы английского алфавита, и выдавать в качестве результата логическое значение ИСТИНА или ЛОЖЬ.

Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert → Module) и введите туда текст этой небольшой функции.

1
2
3
4
5
6
7
8
9
Function IsLatin(str As String) as Boolean
	str = LCase(str)
    LatinAlphbet = "*[abcdefghijklmnopqrstuvwxyz]*"
    If str Like LatinAlphbet Then
        IsLatin = True
    Else
        IsLatin = False
    End If
End Function

Как можно заметить, макрофункция использует интересный оператор Like языка Visual Basic, который проверяет наличие в исходном тексте любых символов из английского алфавита, предварительно преобразовав текст в нижний регистр с помощью функции LCase.

Теперь в Мастере функций в категории Определенные пользователем (User Defined) можно найти нашу функцию IsLatin и воспользоваться ею. Функция выдаст значение ИСТИНА (TRUE), если найдет в тексте аргумента хотя бы один символ латиницы. В противном случае функция вернет значение ЛОЖЬ (FALSE).

Функция выдаст значение ИСТИНА или ЛОЖЬ

Функция выдаст значение ИСТИНА или ЛОЖЬ

Замена латиницы на кириллицу

Если необходимо не просто обнаружить чужеродные английские буквы в русском массиве текста, а исправить символы латиницы на соответствующую им кириллицу, можно быстро сделать это с помощью макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert → Module) и введите туда его текст.

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Replace_Latin_to_Russian()
    Rus = "асекорхуАСЕНКМОРТХ"
    Eng = "acekopxyACEHKMOPTX"
    For Each cell In Selection
        For i = 1 To Len(cell)
            c1 = Mid(cell, i, 1)
            If c1 Like "[" & Eng & "]" Then
                c2 = Mid(Rus, InStr(1, Eng, c1), 1)
                cell.Value = Replace(cell, c1, c2)
            End If
        Next i
    Next cell
End Sub

Теперь если выделить на листе диапазон и запустить наш макрос сочетанием клавиш Alt+F8 или на вкладке Разработчик → Макросы (Developer → Macros), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как заменить все прописные буквы на строчные в word
  • Как заменить все пробелы в excel на
  • Как заменить все переносы на пробелы в word
  • Как заменить все минусы на плюсы в excel
  • Как заменить все значения в столбце excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии