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

Как транслитерировать текст в 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?

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

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

Функция перевода с одного языка на другой (с использованием Google Translate)

Данная VBA функция позволяет перевести текст с любого языка на другой
Язык исходного текста можно не указывать — Google распознает его самостоятельно.
(т.е. вызовы res$ = Translate(txt$, «en», «ru») и res$ = Translate(txt$, «en») равнозначны)

Список кодов доступных языков для перевода:
(используются в качестве параметров функции Translate)

ar — арабский; bg — болгарский; cs — чешский;
da — датский ; de — немецкий; el — греческий;
en — английский; es — испанский; fi — финский;
fr — французский; hi — хинди; hr — хорватский;
it — итальянский; ja — японский; ko — корейский;
nl — голландский; no — норвежский; pl — польский;
pt — португальский; ro — румынский; ru — русский;
sv — шведский; zh-cn — китайский упрощенный; zh-tw — китайский традиционный

Код функции перевода:

(добавлено позже)
Видоизменил функцию — теперь перевод снова работает
(пример использования — во втором прикреплённом файле)

  • 49664 просмотра

Комментарии

Макрос этот не будет дорабатываться, — там теперь все сложнее с гуглом, он сейчас выдаёт капчу.

Данный макрос используется в составе программы «парсер сайтов», — там я переделаю (доработаю) код.
А в виде отдельного макросы выкладывать не буду, — так как код стал намного сложнее из-за необходимости обработки капчи.

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

Ну очень нужно перевести информацию с тайского. Массив огромный, поэтому GoogleTranslate крайне необходим. Порекомендуйте, как решить проблему, где поискать, когда доработаете макрос? С искренним уважением.

Будем очень признательны!перевод может не работает и за смены протокола на HTTPS?

Гугл недавно что-то там у себя поменял — теперь макрос перевода не работает.
Если будет время свободное, — доработаю, выложу исправленную версию.

Вы еще не нашли решение?а то у меня тоже выдает такую ошибку, а макрос ссылается на ошибку «False»: XMLHTTP.send

При попытке перевода с любого языка на любой выдает ЗНАЧ. В чем может быть проблема? даже в вашем новом файле.

А в чем проблема перевода русский-украинский?
Гугл множество языков знает, — надо только указать соответствующие коды
Код русского языка — ru, код украинского — uk

разобрался, получилось, спасибо
но у меня вопрос — языки перевода укр-рус или наоборот, приходится сталкиваться

Вот к примеру на таком
[/url]。 「韓流ショップギルズハウス」というのは,[url=http://orob106.senmontenm.com/]オロビアンコ 財布
Но это только если использовать сам макрос, а не вставлять в ячейку.
Если вставим в пример в ячейку то получим [/ Url].

на строке
XMLHTTP.Open «GET», Replace(URL$, «», «/»), «False»: XMLHTTP.send
а именно XMLHTTP.send
выскакивает ошибка Run-time error ‘-2147467259 (80004005)’
как можно ее обойти, чтоб просто пропускать тогда ячейку?

Читать еще:  Как сделать формат в excel?

Кстати, и всякие «сложные» символы обрабатываются некорректно (аксантегю в французком итп). В целом, применение в данном виде возможно только в очень узкой области.
Приходится все эти «е с штрихами» вначале на обычные e менять итп.
Мне не подошел из-за длины, часто режет.

Сергей, мой код ничего специально не обрезает.
Либо это ограничение Google, либо мой код некорректно обрабатывает ответ сервера.

Переводит, но почему-то только первые 100-200 символов. Т.е. переводы обрезаются.
Посмотрел по коду, не нашел где 🙁

Не знаю, в чем проблема.
У меня всё работает, — только что проверил прикреплённый файл GoogleTranslate_New.xls
Всё корректно переводится на разные языки.

Указанная вами фраза, — перевод на датский язык. Почему у вас так работает, — не знаю.

Игорь, очень интересная функция. Но не работает 🙁 Открыл Ваш файлик и во всех ячейках получил: «Denne funktion er oversat sætning i fremmedsprog ved hjælp af Google Translate tjeneste»
Видимо Гугл опять что-то поменял. Можете подправить? Заранее спасибо.

Игорь, спасибо за доработку очень полезной функции. Давно сюда не заглядывал, т.к. «мыло» об ответе на мой предыдущий вопрос почему-то не пришло.
Теперь UDF работает отлично даже из корпоративной сети, «кастрированный» проксями, файерволлами и антифирусами.
Одна проблема: если переводимый текст состоит из нескольких предложений, оканчивающихся в соответствии с правилами грамматики точкой, восклицательным или вопросительным знаками, то переводится только первое предложение. А всё остальное игнорируется 🙁
Например, из текста «Привет! Это функция перевода текста на иностранный язык», который брался в качестве примера в первом выложенном здесь варианте, на английский переведётся только «Hi!»
А если поставить вместо восклицательного знака запятую: «Привет, Это функция перевода текста на иностранный язык», то переведётся полностью :»Hi, This function translation into a foreign language»
Не хорошо это.
Может быть запрос можно как-то изменить?

Если нет, то придётся мне самому «допиливать» функцию (наверное, разобью дополнительной обвеской кодом текст на предложения, переведу по одному и сцеплю в результат полного перевода, хотя это, конечно, будут «протезы» )

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

Во втором прикреплённом файле — работающий пример перевода текста на разные языки, с использованием сервиса Google Translate

С октября 2011 Google Translate ввел ограничения на машинный перевод через API-Google v1 и v2. На примере, приведенном выше, будет переведена лишь первая строка. А остальные — «не переведено». Они захотели денег. Теперь есть расценка за определенное число переводов. Нужно получить КЛЮЧ от Google, который необходимо добавлять в ЗАПРОС (в URL-адрес).

Кто работает через прокси-сервер, не запускайте файл примера — ЗАВЕСИТЕ ЁКСЕЛЬ НАДОЛГО!
Ёксель не будет реагировать ни на что пока пока не окончатся выходы по 10-секундному таймауту для каждой из 24-х функций на листе.

Пример использования этой функции на листе Excel — во вложении к статье.

Используется формула =Translate($C$1;B5)

Всеровно не разобрался куда вводить текст нужно.

Число прописью в Excel: инструкция, как написать сумму

Сумма прописью в Excel

Компьютер Путина и Windows XP: кто экономит на главе государства?

Прекращение поддержки Виндовс 7: пришла пора ли прощаться с ноутбуком?

Обновление Windows 10 — вирус с доставкой на дом

Режим инкогнито Explorer: место, где можно спрятаться от всего мира

Как в Explorer посмотреть сохраненные пароли

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

Читать еще:  Как сделать сводный отчет в excel кадровое делопроизводство?

Как в Excel сделать сумму прописью

Чтобы получить эту возможность, вы можете скачать надстройку «Сумма прописью» в Excel бесплатно на нашем сайте.

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

  • Запустите Excel и нажмите «Файл».
  • Щелкните на параметры.
  • Далее переходите в надстройки.

    И кликайте по кнопке «Перейти».
  • Чтобы подгрузить скачанный файл жмите «Обзор».
  • И ищите его в папке, куда сохраняли. Вам предложат скопировать файл в папку надстроек, рекомендуем согласиться. Так Excel всегда будет видеть эту надстройку и вы легко найдете функцию для суммы прописью.
  • Нужная библиотека Excel подключена. Галочка означает, что ее можно использовать. Жмите ОК.
  • Нужные действия реализованы в виде функции СУММА_ПРОПИСЬЮ. Чтобы применить ее, введите в ячейку A1 число и установите указатель рядом, на B1. Нажмите значок Fx около строки формул.
  • И в полном алфавитном перечне найдите функцию СУММА_ПРОПИСЬЮ. Рекомендуем начать печатать название. В таком случае Excel сам перемотает ближе к нужному разделу.
  • Жмите ОК и в окне мастера укажите адрес A1. Можно просто мышкой кликнуть по ячейке.
  • После нажатия ОК вы увидите сумму прописью.

Эта функция «сумма_прописью» работает в Excel 2007, 2010, 2016

Данная надстройка работает только для рублей. Если вам нужна другая валюта, скачайте еще файл sumprop.xla. Действуя по аналогии подключите надстройку для получения суммы прописью в Excel.

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

Как видите, нам стали доступны:

  • Сумма Прописью
  • Сумма Прописью Доллары
  • Сумма Прописью Евро
  • Сумма Прописью Евро

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

После нажатия ОК получаем результат.

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

Формула суммы прописью в Excel — как написать число

Для вывода числа прописью в Excel можно создать формулу. Приведем пример:

Для ее использования вам необходимо указать несколько массивов Excel:

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

В англоязычном Excel формула суммы прописью будет выглядеть следующим образом:

SUBSTITUTE(PROPER(INDEX(n_4,MID(TEXT(A1,n0),1,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),2,1)+1,MID(TEXT(A1,n0),3,1)+1)&IF(-MID(TEXT(A1,n0),1,3),»миллиард»&VLOOKUP(MID(TEXT(A1,n0),3,1)*AND(MID(TEXT(A1,n0),2,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),4,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),5,1)+1,MID(TEXT(A1,n0),6,1)+1)&IF(-MID(TEXT(A1,n0),4,3),»миллион»&VLOOKUP(MID(TEXT(A1,n0),6,1)*AND(MID(TEXT(A1,n0),5,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),7,1)+1)&INDEX(n1x,MID(TEXT(A1,n0),8,1)+1,MID(TEXT(A1,n0),9,1)+1)&IF(-MID(TEXT(A1,n0),7,3),VLOOKUP(MID(TEXT(A1,n0),9,1)*AND(MID(TEXT(A1,n0),8,1)-1),тыс,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),10,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),11,1)+1,MID(TEXT(A1,n0),12,1)+1)),»z»,» «)&IF(TRUNC(TEXT(A1,n0)),»»,»Ноль «)&»рубл»&VLOOKUP(MOD(MAX(MOD(MID(TEXT(A1,n0),11,2)-11,100),9),10),<0,"ь ";1,"я ";4,"ей ">,2)&RIGHT(TEXT(A1,n0),2)&» копе»&VLOOKUP(MOD(MAX(MOD(RIGHT(TEXT(A1,n0),2)-11,100),9),10),<0,"йка";1,"йки";4,"ек">,2)

Как видим, это не самый удобный способ преобразовать число в текст прописью в Excel.

Преобразование с помощью макросов Excel

Можно написать собственную функцию, которая произведет конвертацию суммы прописью. Нажмите сочетание ALT+F11 и в открывшемся разработчике Excel VBA вставьте новый модуль.

В него добавьте следующий код.

Теперь эту функцию можно вызвать обычным путем и получить сумму прописью. Она находится в разделе функций Excel «Определенные пользователем».

В качестве аргумента укажите адрес с числом.

Перевод в сумму прописью осуществляется только для целых чисел.

Дробное число требует дополнительной формулы:

Вместо ячейки A7 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа.

Мы рассмотрели все способы представления суммы прописью в Excel. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!

Ссылка на основную публикацию
Adblock
detector