Извлечь латиницу из ячейки Excel
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Извлечь латиницу из ячейки Excel можно регулярным выражением: =СЖПРОБЕЛЫ(REGEXREPLACE(A2;"[^A-Za-z\s]";" ")) заменяет на пробел всё, кроме латинских букв и пробелов, — из «Купить iPhone 15 Pro» останется «iPhone Pro». Функция REGEXREPLACE работает с бесплатной надстройкой !SEMTools, в Microsoft 365 есть встроенная РЕГЗАМЕНИТЬ. Без регулярных выражений в Excel 365 поможет формула с ПСТР и ПОСЛЕД, а слова с латиницей целиком извлекает процедура !SEMTools в 1 клик.

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

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

Если для нас будет достаточно обнаружить символы латиницы в тексте, нам не нужно извлекать её. В статье по ссылке объяснение, как достаточно просто проверить текст на наличие латиницы. Для каждой ячейки при проверке будет отдаваться Истина или Ложь, в зависимости от ее наличия в ней.

Извлечь латиницу с помощью формулы

Данная формула будет работать в последних версиях Excel, в которых есть функции СЦЕП и ПОСЛЕД (Excel 365, 2021 и новее). Она извлечёт из ячейки исключительно латиницу, и склеит все символы вместе.

=СЦЕП(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(A1;ПОСЛЕД(ДЛСТР(A1));1);"abcdefghijklmnopqrstuvwxyz"));ПСТР(A1;ПОСЛЕД(ДЛСТР(A1));1);""))

Если вы хотите оставить пробелы там, где между символами латиницы были другие символы, формулу нужно слегка видоизменить:

=СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(A1;ПОСЛЕД(ДЛСТР(A1));1);"abcdefghijklmnopqrstuvwxyz"));ПСТР(A1;ПОСЛЕД(ДЛСТР(A1));1);" ")))
Извлечение латиницы формулой
B2=СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(A2;ПОСЛЕД(ДЛСТР(A2));1);"abcdefghijklmnopqrstuvwxyz"));ПСТР(A2;ПОСЛЕД(ДЛСТР(A2));1);" ")))
AB
1ТекстТолько латиница
2Купить iPhone 15 ProiPhone Pro=СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(A2;ПОСЛЕД(ДЛСТР(A2));1);"abcdefghijklmnopqrstuvwxyz"));ПСТР(A2;ПОСЛЕД(ДЛСТР(A2));1);" ")))
3Москва MoscowMoscow=СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(A3;ПОСЛЕД(ДЛСТР(A3));1);"abcdefghijklmnopqrstuvwxyz"));ПСТР(A3;ПОСЛЕД(ДЛСТР(A3));1);" ")))
4кофе Lavazza Oro 1 кгLavazza Oro=СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(A4;ПОСЛЕД(ДЛСТР(A4));1);"abcdefghijklmnopqrstuvwxyz"));ПСТР(A4;ПОСЛЕД(ДЛСТР(A4));1);" ")))
5Мoсква (o латинская)o o=СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(A5;ПОСЛЕД(ДЛСТР(A5));1);"abcdefghijklmnopqrstuvwxyz"));ПСТР(A5;ПОСЛЕД(ДЛСТР(A5));1);" ")))

ПСТР и ПОСЛЕД разбирают текст по символам, ПОИСК проверяет каждый по строке латинского алфавита (без учёта регистра), остальные символы заменяются пробелами. В A5 формула нашла латинскую «o» в слове «Мoсква» и в пояснении «o латинская».

В английском Excel: =TRIM(CONCAT(IF(ISNUMBER(SEARCH(MID(A2,SEQUENCE(LEN(A2)),1),"abcdefghijklmnopqrstuvwxyz")),MID(A2,SEQUENCE(LEN(A2)),1)," ")))

Извлечь латиницу с помощью регулярных выражений

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

Извлечь латиницу в нижнем регистре

Если вы уверены, что массив фраз содержит только латиницу в нижнем регистре, можно использовать такое простое выражение:

[a-z\s]

Если же не уверены, лучше не стоит, т.к. оно пропустит заглавные символы латиницы и извлечет только строчные.

Извлечь латиницу в любом регистре — строчные и заглавные

Регулярное выражение для извлечения всей латиницы будет выглядеть так:

[a-zA-Z\s]

Квадратные скобки указывают на опциональность перечисленных внутри элементов, как оператор «ИЛИ». Дефис между символами определяет верхнюю и нижнюю границу множеств символов, всегда включительно. Переводя на человеческий язык, мы говорим этим регулярным выражением:

«Выбрать из ячейки все символы, если они входят ИЛИ в диапазон между a и z, ИЛИ между A и Z включительно, или являются пробелом».

Извлечь латиницу из ячеек Excel с помощью регулярного выражения

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

На листе тот же шаблон применяется «наоборот» — заменой всего, что не латиница и не пробел: =СЖПРОБЕЛЫ(REGEXREPLACE(A1;"[^A-Za-z\s]";" ")). Чтобы извлечь слова с латиницей целиком, вместе с цифрами и дефисами («X515», «USB-C»), используйте =REGEXEXTRACT(A1;"\S*[A-Za-z]\S*") — функция вернёт первое такое слово.

Извлечь латиницу в 1 клик в !SEMTools

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

Если вы достаточно внимательны, вы заметили, что в примере выше некоторые слова помимо английских букв содержали цифры, и при извлечении эти цифры "потерялись". Чтобы такого не происходило, в надстройке есть специальная процедура - извлечь слова с латиницей. Она позволяет извлекать слова с латиницей целиком, не удаляя остальные символы.

Извлечь слова с латиницей в Excel в 2 клика
Извлекаем из ячейки слова с латиницей в 2 клика

Другие возможности по работе с латиницей в !SEMTools

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

Почему латиница извлекается неправильно

  • В результате оказались «*» или «?». ПОИСК воспринимает их как подстановочные знаки и «находит» в алфавите. Если такие символы бывают в данных, используйте регулярное выражение.
  • Из слова пропали цифры: «USB-C 3.0» → «USB C». Извлекаются только буквы. Для слов целиком используйте REGEXEXTRACT с шаблоном \S*[A-Za-z]\S* или процедуру «Извлечь слова с латиницей».
  • Извлеклась одинокая буква из русского слова. В слове латинская буква-двойник — найдите такие ячейки поиском смешанных слов.
  • Формула даёт #ИМЯ?. ПОСЛЕД и СЦЕП есть только в новых версиях Excel. В других используйте REGEXREPLACE из !SEMTools.

Извлечение латиницы — частые вопросы

Как извлечь английские буквы из ячейки?

Формулой =СЖПРОБЕЛЫ(REGEXREPLACE(A1;"[^A-Za-z\s]";" ")) или процедурой !SEMTools «Извлечь латиницу».

Как извлечь английские слова вместе с цифрами?

=REGEXEXTRACT(A1;"\S*[A-Za-z]\S*") — первое слово с латиницей целиком. Все такие слова — процедура «Извлечь слова с латиницей».

Можно ли без регулярных выражений?

В Excel 365 — формулой с ПСТР, ПОСЛЕД и СЦЕП из статьи. В старых версиях — только макросом или надстройкой.

Как удалить латиницу, а не извлечь?

Обратной операцией — смотрите как удалить латиницу.

Извлечь латиницу или слова с латиницей целиком — вместе с цифрами и дефисами — сразу во всём столбце можно в 1 клик с !SEMTools.
!SEMTools решает эту и сотни других задач в пару кликов!

Итоги: как извлечь латиницу в Excel

ЗадачаСпособ
Только латинские буквы=СЖПРОБЕЛЫ(REGEXREPLACE(A1;"[^A-Za-z\s]";" "))
То же без регулярок (Excel 365)СЦЕП + ПСТР + ПОСЛЕД + ПОИСК
Слово с латиницей целиком=REGEXEXTRACT(A1;"\S*[A-Za-z]\S*")
Все слова с латиницей, без формулПроцедура !SEMTools

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

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*