Как определить язык текста в ячейке? И сделать автоматическую ссылку на сайт?

Функция DETECTLANGUAGE в Google Таблицах: определяем язык текста в ячейке. Кейс: автоматом формируем ссылку на нужный интернет-магазин

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

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

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

https://www.ozon.ru/search/?text=книга
https://www.amazon.com/s?k=книга

Вместо слова «книга» будем подставлять название книги из нашей таблицы.

Но сначала, прежде чем подставить, надо понимать, в какую ссылку. А для этого и нужна DETECTLANGUAGE — она покажет, на каком языке название. У нее единственный аргумент — ссылка на ячейку с текстом (ну или текст в кавычках)

=DETECTLANGUAGE(текст или ссылка на ячейку)

Она будет выдавать двухбуквенные коды языка:

А далее мы проверяем, какой код указан, с помощью функции ЕСЛИ / IF, и в зависимости от кода формируем ссылку либо на один магазин, либо на другой.

=ЕСЛИ(B2="en";ссылка на Амазон;ссылка на Озон)

Ссылку будем формировать с помощью функции ГИПЕРССЫЛКА / HYPERLINK: она превратит текст, слепленный из ссылки на магазин и из названия книги в собственно ссылку. Ее второй аргумент — текст ссылки, то, как ссылка выглядит в ячейке (в нашем примере «Книга на Озоне» или «Книга на Амазоне», чтобы не отображать в ячейке длинную ссылку).

ГИПЕРССЫЛКА("https://www.amazon.com/s?k="&A2;"Книга на Amazon")
ГИПЕРССЫЛКА("https://www.ozon.ru/search/?text="&A2;"Книга на Озоне")

Собираем все в одну формулу с ЕСЛИ:

=ЕСЛИ(B2="en";
ГИПЕРССЫЛКА("https://www.amazon.com/s?k="&A2;"Книга на Amazon");
ГИПЕРССЫЛКА("https://www.ozon.ru/search/?text="&A2;"Книга на Озоне"))

Обратите внимание — мы проверяем только на английский язык и в остальных случаях отправляем на Озон, так как в таблице у нас нет ничего другого. В более сложных случаях понадобится ЕСЛИМН / IFS или вложенные функции ЕСЛИ.

Промежуточный столбец с кодом языка, конечно, не обязателен и показан для примера. DETECTLANGUAGE можно зашить и внутрь ЕСЛИ и сделать все без промежуточных расчетов.

Ну вот. Теперь при наведении курсора у нас есть ссылка на нужный магазин, и при переходе мы попадаем в него уже с вбитым в поиск названием книги из нашей таблицы.


Гугл таблица с формулой DETECTLANGUAGE, можно сделать копию.

источник: https://teletype.in/@renat_shagabutdinov/detectlanguage

Вы можете задать вопрос по статье специалисту.

Компьютеру или ноутбуку не хватает мощности? Необходима комплексная модернизация или простая замена жесткого диска? 

Помните, что все действия вы выполняете на свой страх и риск — загрузка неверных данных может повлечь за собой крах системы и потерю информации.
Тестирование в тестовой среде никто не отменяет.
Администрация сайта не несет ответственность за ваши действия.
Вся информация на сайте носит исключительно справочный характер и не является публичной офертой, определяемой в Статье 437 Гражданского кодекса Российской Федерации.