Перевод в 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 будет несколько проще.

Источник:
http://pcandlife.ru/perevod-v-excel/

Как сделать перевод в excel?

Знаете ли вы, что в Excel реализован инструмент перевода текста на другой язык. С помощью мини-переводчика вы можете перевести фразу, абзац или весь файл, написанный на другом языке. Данный элемент использует функционал программы Microsoft Translator, который по умолчанию содержится в офисных приложениях Microsoft. В сегодняшней статье я опишу, как воспользоваться данным функционалом. Помимо этого, мы рассмотрим, как с помощью функций ВЕБСЛУЖБА и ФИЛЬТР.XML реализовать Яндекс переводчик в нашей Excel книге.

Перевод с помощью Microsoft Translator

Итак, у вас имеется текст, который необходимо перевести на другой язык. В нашем случае, я хочу перевести текст, находящийся в ячейках A1:A3 с русского на английский. Переходим во вкладку Рецензирование в группу Язык, щелкаем по кнопке Перевод. В правой части книги появится панель Справочные материалы, в которой необходимо указать переводимый текст и языки исходный и на который перевести.

Чтобы задать текст для перевода, есть два пути. Первый, банальный, ручками набиваем текст в поле Искать, указываем язык перевода, жмем кнопку со стрелкой, слева от поля, ждем пару секунд пока Microsoft Translator подберет нужные слова и наслаждаемся результатом перевода в этой же панельке.

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

Данный инструмент прост в обращении и особенно выручает, если в Excel книге попадаются незнакомые слова.

Реализация Яндекс переводчика в Excel

Способ, описанный выше, не требует каких-либо особых навыков владения Excel, достаточно один раз воспользоваться им, и все станет понятно. Способ, описанный ниже, посложнее и тем интереснее, потребует от пользователей некоторой сноровки.

Итак, как я уже писал в статье об автоматическом обновлении валют, в Excel 2013 реализован инструмент импорта данных в формате XML, с помощью функции ВЕБСЛУЖБА и ФИЛЬТР.XML. Первая функции использует API веб службы для выгрузки данных из интернета, вторая – возвращает конкретную информацию из выгруженного XML. Для реализации задуманной идеи в Excel мы воспользуемся переводчиком Яндекс, который имеет свой API. Переходим на страницу API Перевода Яндекс, где можно прочитать всю документацию и правила оформления результатов перевода, находим пункт Получите бесплатный API-ключ и щелкаем по нему (ВНИМАНИЕ! Чтобы получить ключ, у вас должен иметься профиль Яндекс).

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

Данный ключ будет использоваться, как один из обязательных аргументов в передаваемом URL запросе к Яндекс службам. Следующий обязательный аргумент – это текст, который требуется перевести и третий аргумент – направление перевода, может задаваться как пара кодов языков (например, ru-en), либо в виде кода конечного языка (например, ru). Подробнее о синтаксисе URL запроса можете почитать на сайте Яндекс.

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

Важный момент, на который следует обратить внимание – прежде чем передавать запрос в Яндекс, необходимо изменить кодировку текста запроса, на понятный для веб службы язык. Для этого необходимо воспользоваться функцией КОДИР.URL, которая возвращает строку, зашифрованную в виде URL-адреса. К примеру, текст Самара будет выглядеть как %D0%A1%D0%B0%D0%BC%D0%B0%D1%80%D0%B0.

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

Скачать файл с переводчиком Яндекс в Excel.

Разберем варианты перевода данных в тысячи, миллионы и другие порядки в Excel для сокращения записей (например, запись вида 123 456 руб. в 123,4 тыс. руб.).

Приветствую всех, уважаемые читатели блога TutorExcel.Ru.

Проблема наглядной визуализации данных всегда остро стоит перед любым пользователем программы Excel — сегодня мы остановимся на аспектах отображения чисел с выделением размерности.
К примеру, при виде числа 123 456 789 не сразу сообразишь что это за число, а уж при виде большой таблицы с подобными числами глаза точно устанут и таблица станет не читаемой.

Проблему с округлением чисел мы можем решить 2 способами:

  • Формула. Непосредственное деление содержимого ячейки на требуемый делитель (тысяча, миллион, миллиард и т.д.);
  • Формат. Изменения отображения ячейки с помощью настройки формата ячейки.

Начнем с более очевидного и простого варианта.

Способ 1. Формула

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

Возьмем таблицу с произвольными числами (продублируем данные в соседний столбец B для более понятного пояснения):

Оставим столбец A неизменным, а работать будем со столбцом B.

Запишем в любую неиспользуемую ячейку число 1 000 (или 1 000 000, в зависимости от порядка, который мы хотим показать).
Копируем данную ячейку, а затем выделяем диапазон ячеек (ячейки B2:B10), где будем менять размерность.
Воспользуемся инструментом Специальная вставка — щелкаем правой кнопкой мыши по выделенному диапазону и выбираем Специальную вставку (либо воспользуемся сочетанием клавиш Ctrl+Alt+V):


В появившемся окошке в разделе Операция выбираем Разделить и щелкаем на ОК, в результате получаем (для наглядности я добавил еще 1 знак после запятой):

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

Способ 2. Формат ячеек

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

Читайте также  Как сделать равенство в excel?

Рассмотрим такую же таблицу, что и в примере выше, аналогично выделяем диапазон с данными (B2:B10), щелкаем правой кнопкой мыши и переходим в Формат Ячеек.
Во вкладке Число в разделе Числовые форматы выбираем (все форматы), в правой части окна показывается как будет отображаться ячейка, в моем случае маска отображения «# ##0».

Для того, чтобы сделать число в тысячах добавим 1 пробел в конце записи числа в маске — «# ##0 » (для миллиона 2 подряд пробела и т.д.), нажимаем ОК и получаем аналогичный результат.
Если нужно добавить в запись «тыс. руб.», то в формат маски записываем «# ##0,0 » тыс. руб.»», т.е. ставим пробел именно после записи формата числа (до добавления текстовой записи, а не после):


Скачать файл с примером.

Спасибо за внимание!
Если у вас есть мысли или вопросы по теме статьи — делитесь в комментариях.

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

Очень часто требуется преобразовать русский текст (кириллицу) в английский (транслит), не перевести, а написать русские слова английскими буквами.

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

Мы предлагаем вам два варианта решения данной задачи.

Первый способ транслитерировать русский текст

Первый способ транслита русского текста достаточно топорный — с использованием приложения Punto Switcher от Яндекс.

Скачиваем программу Punto Switcher на официальном сайте:

Punto Switcher — программа, которая автоматически переключает раскладку клавиатуры. Она знает, что «ghbdtn» — это «привет», а «пщщв ьщктштп» — это «good morning».

Так вот, данная программа, помимо своей основной функции можете переводить текст в транслит, менять регистр выделенного текста (сделать из «иванов» в «ИВАНОВ») и другое.

Устанавливаем программу себе на компьютер, в системном трее должен появится значок программы

Если зайти в настройки (правой кнопкой мыши по значку, выбрать настройки, горячие клавиши), то можно увидеть, что по умолчанию установлено переводить текст в транслит с помощью горячих клавиш Alt+Scroll Lock

К сожалению, в самом Excel программа транслитерировать текст не сможет, необходимо промежуточное действие. Копируем столбец с русскими буквами, открываем блокнот на компьютере (Notepad) и вставляем туда текст, далее выделяем текст в блокноте и нажимаем клавиши Alt+Scroll Lock, текст автоматически поменяется на транслит.

Далее вы просто копируете этот текст и вставляете обратно в Excel.

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

Второй способ перевода русского текста в транслит в Excel с помощью пользовательской функции

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

Переключите раскладку на русский язык!! Копируем данный код, открываем среду VBA, для это нажмите правой кнопкой на активный лист и выберите пункт «Исходные данные», либо нажмите Alt+F11 далее через меню выберите новый программный модуль (Insert — Module)

и в открывшееся окно вставляете данный код и закрываете это окно.

После этого в любом месте данного листа (а при вставке кода с помощью Insert — Module — в любом месте данной книги) вы сможете использовать пользовательскую функцию, которую можно вызвать выбрав:

Вставка — Функция (Insert — Function)

в Excel 2013 Функция — Вставить функцию

Выбираем Категория: определенные пользователем, в данном списке должна появится наша функция Translit

Можно просто в нужной ячейке набрать =Transit (ссылка_на_русский_текст)

После этого протягиваем формулу и получаем нужный нам результат.

Если вы присмотритесь в полученный результат, то увидите, что данные немного отличаются, например

Ivanov Sergej Petrovich и Ivanov Sergey Petrovich

то есть буква «й» преобразовалась по-разному, если для вас это критично, то нужно будет немного поменять указанный выше код. В коде есть две таблицы — одна на русском языке, другая латиницей. Не трудно догадаться, что вам необходимо поменять нужные вам буквы. В данном случае в коде нужно найти «j» и поменять на «y», если требуется, то по аналогии поступаем с другими буквам.

  • Начиная с Excel 2007 не забудьте сохранить файл в формате поддержки макросов — xlsm, иначе макрос не сохранится;
  • Данный макрос необходимо вставлять в каждую отдельную книгу, в которой вы хотите, чтобы он работал;
  • Иногда требуется, чтобы была не встроенная функция, а макрос при запуске которого текст будет переводится в транслит, в этом случае нужно вставить код, указанный ниже. В итоге, для перевода текста в transit необходимо выделить нужный текст на русском языке (диапазон ячеек) и запустить макрос «Translit» и данный текст будет обработан.
  • Важно! Перед копированием данного кода, обязательно переключите раскладку клавиатуры на русский язык.

Итак, надеюсь вы нашли ответ на свой вопрос о том, как проще всего транслитерировать текст в Excel (преобразовать текст на русском языке в транслит).

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

Источник:
http://word-office.ru/kak-sdelat-perevod-v-excel.html

Переводчик функций в Excel

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

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

Позволяет пользователям полностью переводить формулы на родной язык.

Поддерживает все локализованные языки и функции Excel (80 языков и 800 функций).

Обеспечивает эффективный поиск любой части имени функции на обоих выбранных языках.

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

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

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

Установка надстройки «Переводчик функций»

Надстройка Переводчик функций доступна бесплатно в Microsoft Store. Чтобы установить ее, выполните указанные ниже действия.

Запустите приложение Microsoft Excel.

Перейдите на вкладку Вставка.

Нажмите кнопку Магазин на ленте.

Откроется диалоговое окно «Надстройки Office». В верхней части окна выберите пункт Магазин, а слева — Производительность.

Введите в поле поиска запрос Functions Translator.

Нажмите зеленую кнопку Добавить справа от найденной надстройки «Переводчик функций». Она будет установлена.

Настройка Переводчика функций

После установки надстройки Переводчик функций на вкладке Главная справа появятся две новых кнопки.

Они открывают в диалоговом окне Переводчик функций области Справочник и Переводчик соответственно. Исключением является первый запуск надстройки Переводчик функций — в этом случае открывается область Добро пожаловать:

Рабочая область Переводчика функций всегда открывается в правой части Excel.

Вы можете перейти непосредственно к переводу, щелкнув ссылку Пропустить > в правом верхнем углу, но мы рекомендуем нажать кнопку Приступим, чтобы перейти в диалоговое окно языковых параметров. Здесь вы можете выбрать языки С и На по умолчанию (их можно изменить в любое время).

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

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

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

С помощью зеленой кнопки Стрелка вверх/стрелка вниз между параметрами «С» и «На» можно менять языки С и На местами.

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

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

Область «Справочник»

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

Читайте также  Как сделать средний балл в excel?

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

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

Область «Словарь»

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

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

У некоторых функций нет описаний.

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

Чтобы посмотреть локализованное описание, перейдите на вкладку «Формулы», щелкните нужную категорию функций и наведите указатель мыши на требуемую функцию. В Excel отобразится описание функции на языке установки.

Щелкните значок лампочки в области Словарь, чтобы открыть область Отзыв о переводе, где вы можете оставить отзыв об определенном переводе.

Область «Переводчик»

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

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

Ручная настройка разделителей

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

Под полями для языков «С» и «На» отображаются показанные выше кнопки. Первая кнопка вставляет текст из поля выше в активную ячейку. Эту кнопку можно использовать для вставки локализованной формулы в нужную ячейку.

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

Десятичным разделителем может быть точка или запятая.

Разделитель столбцов для формул массива

Этот разделитель используется в формулах массива.

Разделитель элементов списка

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

Мгновенно переводить выбранную ячейку

Если установлен флажок Мгновенно переводить выбранную ячейку в области Переводчик, надстройка будет пытаться перевести формулу в любой выбираемой ячейке. Она будет копировать формулу из выбранной ячейки в поле языка На и мгновенно переводить ее в поле языка С.

Функция Мгновенно переводить выбранную ячейку не поддерживается в Microsoft Excel 2013 и более ранних версий.

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

Отзывы и предложения

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

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

Команда Переводчика функций, Мартин и Вадим

Примечание: Мы рассмотрим каждый отзыв индивидуально, но не можем гарантировать ответ на каждый отзыв. Не включайте в отзыв файлы, содержащие личные сведения.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Источник:
http://support.microsoft.com/ru-ru/office/%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D1%87%D0%B8%D0%BA-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B2-excel-f262d0c0-991c-485b-89b6-32cc8d326889

Перевод текста в ячейках через Google

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

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

Option Explicit ‘————————————————————————————— ‘ Procedure : GoogleTranslate ‘ DateTime : 04.09.2013 22:55 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ http://www.excel-vba.ru ‘ Purpose : ‘ Функция переводит текст, используя сервис переводов Google Translate ‘ Аргументы: ‘ sText — текст для перевода. Непосредственно текст или ссылка на ячейку. ‘ sResLang — код языка, на который осуществлять перевод ‘ sSourceLang — код языка, с которого переводить. ‘ Если не указывать, Google автоматом определяет язык введенного текста ‘ Доступно 74 кода языков. ‘————————————————————————————— Dim objRegExp As Object Function GoogleTranslate(ByVal sText As String, ByVal sResLang As String, _ Optional ByVal sSourceLang As String = «») Dim sGoogleURL As String, sAllTxt As String, sTmpStr As String, sRes As String, sTextToTranslate As String Dim lByte As Long, alByteToEncode, li As Long Dim asTmp, lPos As Long ‘раскомментировать при необходимости пересчета функции при любом изменении в книге ‘Application.Volatile True If objRegExp Is Nothing Then Set objRegExp = CreateObject(«VBScript.RegExp») With objRegExp .MultiLine = True: .ignorecase = True: .Global = True .Pattern = «[n;]» End With End If sTextToTranslate = Application.Trim(objRegExp.Replace(sText, » «)) With CreateObject(«ADODB.Stream») .Charset = «utf-8»: .Mode = 3: .Type = 2: .Open .WriteText sTextToTranslate .Flush: .Position = 0: .Type = 1: .Read 3 alByteToEncode = .Read(): .Close End With ‘переводим текст в кодировку, понятную Google For li = 0 To UBound(alByteToEncode) lByte = alByteToEncode(li) Select Case lByte Case 32: sTmpStr = «+» Case 48 To 57, 65 To 90, 97 To 122: sTmpStr = Chr(alByteToEncode(li)) Case Else: sTmpStr = «%» & Hex(lByte) End Select sAllTxt = sAllTxt & sTmpStr Next li ‘формируем ссылку для Google sGoogleURL = «http://translate.google.com.ua/translate_a/t?client=json&text=» & _ sAllTxt & «&hl=» & sResLang & «&sl=» & sSourceLang sGoogleURL = Replace(sGoogleURL, «», «/») ‘» ‘получаем ответ от Google With CreateObject(«Microsoft.XMLHTTP») .Open «GET», sGoogleURL, «False»: .send If .statustext = «OK» Then sTmpStr = .responsetext ‘отбираем только переведенный текст asTmp = Split(sTmpStr, «<""trans"":""") For li = LBound(asTmp) To UBound(asTmp) lPos = InStr(1, asTmp(li), """,""orig"":", 1) If lPos Then sRes = sRes & Mid(asTmp(li), 1, lPos - 1) Next li If sRes = "" Then sRes = "Не удалось перевести" End If End With GoogleTranslate = sRes End Function

Выложенный выше код является функцией пользователя для вызова из ячейки листа.

Синтаксис функции:
с английского на русский (в A1 записан текст на английском — Google автоматом определяет язык):
=GoogleTranslate( A1 ;»ru»)
с английского на русский — текст задан константой:
=GoogleTranslate(«translation»; «ru»)

sText — текст для перевода. Непосредственно текст или ссылка на ячейку.
sResLang — код языка, на который осуществлять перевод.
sSourceLang — Необязательный аргумент. Указывается код языка, с которого переводить. Если не указывать, Google автоматом определяет язык введенного текста.

Всего доступно 74 языка:

  • en — английский
  • ru — русский
  • az — азербайджанский
  • sq — албанский
  • en — английский
  • ar — арабский
  • hy — армянский
  • af — африкаанс
  • eu — баскский
  • be — белорусский
  • bn — бенгальский
  • bg — болгарский
  • bs — боснийский
  • cy — валлийский
  • hu — венгерский
  • vi — вьетнамский
  • gl — галисийский
  • nl — голландский
  • el — греческий
  • ka — грузинский
  • gu — гуджарати
  • da — датский
  • iw — иврит
  • yi — идиш
  • id — индонезийский
  • ga — ирландский
  • is — исландский
  • es — испанский
  • it — итальянский
  • kn — каннада
  • ca — каталанский
  • zh-TW — китайский (традиционный)
  • zh-CN — китайский (упрощенный)
  • ko — корейский
  • ht — креольский (Гаити)
  • km — кхмерский
  • lo — лаосский
  • la — латынь
  • lv — латышский
  • lt — литовский
  • mk — македонский
  • ms — малайский
  • mt — мальтийский
  • mr — маратхи
  • de — немецкий
  • no — норвежский
  • fa — персидский
  • pl — польский
  • pt — португальский
  • ro — румынский
  • ru — русский
  • ceb — себуанский
  • sr — сербский
  • sk — словацкий
  • sl — словенский
  • sw — суахили
  • tl — тагальский
  • th — тайский
  • ta — тамильский
  • te — телугу
  • tr — турецкий
  • uk — украинский
  • ur — урду
  • fi — финский
  • fr — французский
  • hi — хинди
  • hmn — хмонг
  • hr — хорватский
  • cs — чешский
  • sv — шведский
  • eo — эсперанто
  • et — эстонский
  • jw — яванский
  • ja — японский
Читайте также  Диаграмма, Как сделать диаграмму, тут ответ

Добавил функцию перевода, которая получает текст перевода через Internet Explorer. Получается медленнее и не у всех сможет работать исключительно потому, что IE капризный и очень чувствителен к тому, какая его версия на какой ОС установлена. Но это больше исключение — в подавляющем большинстве случаев работать должно без проблем:

Option Explicit ‘————————————————————————————— ‘ Procedure : GoogleTranslate_IE ‘ DateTime : 12.04.2018 22:55 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ http://www.excel-vba.ru ‘ info@excel-vba.ru ‘ WebMoney — R298726502453; Яндекс.Деньги — 41001332272872 ‘ Purpose : ‘ Функция переводит текст, используя сервис переводов Google Translate ‘ Аргументы: ‘ sText — текст для перевода. Непосредственно текст или ссылка на ячейку. ‘ sResLang — код языка, на который осуществлять перевод ‘ sSourceLang — код языка, с которого переводить. ‘ Если не указывать, Google автоматом определяет язык введенного текста ‘ Доступно 74 кода языков. ‘————————————————————————————— Dim IE As Object Function GoogleTranslate_IE(ByVal sText As String, _ Optional ByVal sResLang As String = «en», _ Optional ByVal sSourceLang As String = «auto») As String Dim isIEOpen As Boolean ‘подключаемся к InternetExplorer On Error Resume Next Set IE = GetObject(, «InternetExplorer.application») ‘IE еще не запущен — запускаем If IE Is Nothing Then Set IE = CreateObject(«InternetExplorer.application») ‘делаем окно IE скрытым IE.Visible = False End If ‘переходим на страницу перевода и указываем параметры IE.navigate «https://translate.google.com/#» & sSourceLang & «/» & sResLang & «/» & sText ‘ждем отклика от IE Do While IE.Busy Or IE.readyState <> 4 DoEvents Loop ‘получаем текст перевода GoogleTranslate_IE = IE.Document.getElementById(«result_box»).innerText ‘если IE не был запущен до вызова функции — закрываем If Not isIEOpen Then IE.Quit Set IE = Nothing End If End Function

Функция будет работать быстрее, если перед переводом запустить InternetExplorer. Это заставит функцию использовать уже запущенный экземпляр IE, а не запускать для каждой ячейки новый(что отнимает немало времени).

Tips_Macro_GoogleTranslate.xls (53,5 KiB, 4 800 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Источник:
http://www.excel-vba.ru/chto-umeet-excel/perevod-teksta-v-yachejkax-cherez-google/

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

Очень часто требуется преобразовать русский текст (кириллицу) в английский (транслит), не перевести, а написать русские слова английскими буквами.

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

Мы предлагаем вам два варианта решения данной задачи.

Первый способ транслитерировать русский текст

Первый способ транслита русского текста достаточно топорный — с использованием приложения Punto Switcher от Яндекс.

Скачиваем программу Punto Switcher на официальном сайте: http://punto.yandex.ru/

Punto Switcher — программа, которая автоматически переключает раскладку клавиатуры. Она знает, что «ghbdtn» — это «привет», а «пщщв ьщктштп» — это «good morning».

Так вот, данная программа, помимо своей основной функции можете переводить текст в транслит, менять регистр выделенного текста (сделать из «иванов» в «ИВАНОВ») и другое.

Устанавливаем программу себе на компьютер, в системном трее должен появится значок программы

Если зайти в настройки (правой кнопкой мыши по значку, выбрать настройки, горячие клавиши), то можно увидеть, что по умолчанию установлено переводить текст в транслит с помощью горячих клавиш Alt+Scroll Lock

К сожалению, в самом Excel программа транслитерировать текст не сможет, необходимо промежуточное действие. Копируем столбец с русскими буквами, открываем блокнот на компьютере (Notepad) и вставляем туда текст, далее выделяем текст в блокноте и нажимаем клавиши Alt+Scroll Lock, текст автоматически поменяется на транслит.

Далее вы просто копируете этот текст и вставляете обратно в Excel.

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

Второй способ перевода русского текста в транслит в Excel с помощью пользовательской функции

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

Переключите раскладку на русский язык!! Копируем данный код, открываем среду VBA, для это нажмите правой кнопкой на активный лист и выберите пункт «Исходные данные«, либо нажмите Alt+F11 далее через меню выберите новый программный модуль (Insert — Module)

и в открывшееся окно вставляете данный код и закрываете это окно.

После этого в любом месте данного листа (а при вставке кода с помощью Insert — Module — в любом месте данной книги) вы сможете использовать пользовательскую функцию, которую можно вызвать выбрав:

Вставка — Функция ( Insert — Function )

в Excel 2013 Функция — Вставить функцию

Выбираем Категория: определенные пользователем, в данном списке должна появится наша функция Translit

Можно просто в нужной ячейке набрать =Transit(ссылка_на_русский_текст)

После этого протягиваем формулу и получаем нужный нам результат.

Если вы присмотритесь в полученный результат, то увидите, что данные немного отличаются, например

Ivanov Serge j Petrovich и Ivanov Serge y Petro vich

то есть буква «й» преобразовалась по-разному, если для вас это критично, то нужно будет немного поменять указанный выше код. В коде есть две таблицы — одна на русском языке, другая латиницей. Не трудно догадаться, что вам необходимо поменять нужные вам буквы. В данном случае в коде нужно найти «j» и поменять на «y», если требуется, то по аналогии поступаем с другими буквам.

  • Начиная с Excel 2007 не забудьте сохранить файл в формате поддержки макросов — xlsm, иначе макрос не сохранится;
  • Данный макрос необходимо вставлять в каждую отдельную книгу, в которой вы хотите, чтобы он работал;
  • Иногда требуется, чтобы была не встроенная функция, а макрос при запуске которого текст будет переводится в транслит, в этом случае нужно вставить код, указанный ниже. В итоге, для перевода текста в transit необходимо выделить нужный текст на русском языке (диапазон ячеек) и запустить макрос «Translit» и данный текст будет обработан.
  • Важно! Перед копированием данного кода, обязательно переключите раскладку клавиатуры на русский язык.

Итак, надеюсь вы нашли ответ на свой вопрос о том, как проще всего транслитерировать текст в Excel (преобразовать текст на русском языке в транслит).

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

Источник:
http://sirexcel.ru/makrosi_vba/kak-transliterirovat-tekst-v-excel-russkij-tekst-preobrazovat-v-anglijskij-translit/

Перевести текст в Excel

Описание функции ПЕРЕВОД

После установки надстройки появится новая функция =ПЕРЕВОД

(ТЕКСТ;ЯЗЫК). Функция имеет всего 2 аргумента:

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

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

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

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

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

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

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

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

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

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

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

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

Источник:
http://officeassist.ru/excel/perevesti-tekst-v-excel/