Как в excel удалить все русские символы

Определить наличие латиницы в ячейке — довольно несложная операция, чего не скажешь о её удалении.

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

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

Удалить любые символы латиницы из ячеек

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

Удалить латиницу с помощью встроенной процедуры поиска и замены

Худшее, что можно представить в качестве решения — последовательную замену всех 26 символов латиницы на пустоту. Это займет время и в целом процесс на больших объемах небыстрый. Но у него есть и преимущества:

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

С помощью функции ПОДСТАВИТЬ

Excel 2007 и более поздние версии позволяют использовать 64 уровня вложенности, что дает возможность составить единую мегаформулу для замены всех 26 символов. К сожалению, она регистрозависимая, поэтому уровней будет 52, по 2 для каждой английской буквы. Так она будет выглядеть:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"A";"");"B";"");"C";"");"D";"");"E";"");"F";"");"G";"");"H";"");"I";"");"J";"");"K";"");"L";"");"M";"");"N";"");"O";"");"P";"");"Q";"");"R";"");"S";"");"T";"");"U";"");"V";"");"W";"");"X";"");"Y";"");"Z";"");"a";"");"b";"");"c";"");"d";"");"e";"");"f";"");"g";"");"h";"");"i";"");"j";"");"k";"");"l";"");"m";"");"n";"");"o";"");"p";"");"q";"");"r";"");"s";"");"t";"");"u";"");"v";"");"w";"");"x";"");"y";"");"z";"")

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

С помощью !SEMTools

Ниже перечислены возможности, которых и вовсе нет в Excel, однако, они доступны пользователям надстройки для Excel !SEMTools.

Удалить латиницу с помощью регулярного выражения

Если нужно, как и в предыдущем варианте, удалить латиницу, не трогая остальные символы в строке, можно воспользоваться процедурой !SEMTools в меню «удалить символы».

Такой подход, как видно по примеру выше (6, 9, 10 строки), оставит куски слов, которые содержали помимо латиницы другие символы. Поэтому могут быть полезны процедуры, описанные в отдельных разделах:

  • Как удалить слова, содержащие латиницу;
  • Как удалить ячейки, содержащие латиницу

Нужно удалить латиницу из текста в Excel?
В !SEMTools есть это и сотни других готовых решений!

Зачистка текста

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

  • лишние пробелы перед, после или между словами (для красоты!)
  • ненужные символы («г.» перед названием города)
  • невидимые непечатаемые символы (неразрывный пробел, оставшийся после копирования из Word или «кривой» выгрузки из 1С, переносы строк, табуляция)
  • апострофы (текстовый префикс – спецсимвол, задающий текстовый формат у ячейки)

Давайте рассмотрим способы избавления от такого «мусора».

Замена

«Старый, но не устаревший» трюк. Выделяем зачищаемый диапазон ячеек и используем инструмент Заменить с вкладки Главная – Найти и выделить (Home – Find & Select – Replace) или жмем сочетание клавиш Ctrl+H.

Изначально это окно было задумано для оптовой замены одного текста на другой по принципу «найди Маша – замени на Петя», но мы его, в данном случае, можем использовать его и для удаления лишнего текста. Например, в первую строку вводим «г.» (без кавычек!), а во вторую не вводим ничего и жмем кнопку Заменить все (Replace All). Excel удалит все символы «г.» перед названиями городов:

clean-text1.png

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

Удаление пробелов

Если из текста нужно удалить вообще все пробелы (например они стоят как тысячные разделители внутри больших чисел), то можно использовать ту же замену: нажать Ctrl+H, в первую строку ввести пробел, во вторую ничего не вводить и нажать кнопку Заменить все (Replace All).

Однако, часто возникает ситуация, когда удалить надо не все подряд пробелы, а только лишние – иначе все слова слипнутся друг с другом. В арсенале Excel есть специальная функция для этого – СЖПРОБЕЛЫ (TRIM) из категории Текстовые. Она удаляет из текста все пробелы, кроме одиночных пробелов между словами, т.е. мы получим на выходе как раз то, что нужно:

clean-text2.png

Удаление непечатаемых символов

В некоторых случаях, однако, функция СЖПРОБЕЛЫ (TRIM) может не помочь. Иногда то, что выглядит как пробел – на самом деле пробелом не является, а представляет собой невидимый спецсимвол (неразрывный пробел, перенос строки, табуляцию и т.д.). У таких символов внутренний символьный код отличается от кода пробела (32), поэтому функция СЖПРОБЕЛЫ не может их «зачистить».

Вариантов решения два:

  • Аккуратно выделить мышью эти спецсимволы в тексте, скопировать их (Ctrl+C) и вставить (Ctrl+V) в первую строку в окне замены (Ctrl+H). Затем нажать кнопку Заменить все (Replace All) для удаления.
  • Использовать функцию ПЕЧСИМВ (CLEAN). Эта функция работает аналогично функции СЖПРОБЕЛЫ, но удаляет из текста не пробелы, а непечатаемые знаки. К сожалению, она тоже способна справится не со всеми спецсимволами, но большинство из них с ее помощью можно убрать.

Функция ПОДСТАВИТЬ

Замену одних символов на другие можно реализовать и с помощью формул. Для этого в категории Текстовые в Excel есть функция ПОДСТАВИТЬ (SUBSTITUTE). У нее три обязательных аргумента:

  • Текст в котором производим замену
  • Старый текст – тот, который заменяем
  • Новый текст – тот, на который заменяем

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

clean-text3.png

Удаление апострофов в начале ячеек

Апостроф (‘) в начале ячейки на листе Microsoft Excel – это специальный символ, официально называемый текстовым префиксом. Он нужен для того, чтобы дать понять Excel, что все последующее содержимое ячейки нужно воспринимать как текст, а не как число. По сути, он служит удобной альтернативой предварительной установке текстового формата для ячейки (Главная – Число – Текстовый) и для ввода длинных последовательностей цифр (номеров банковских счетов, кредитных карт, инвентарных номеров и т.д.) он просто незаменим. Но иногда он оказывается в ячейках против нашей воли (после выгрузок из корпоративных баз данных, например) и начинает мешать расчетам. Чтобы его удалить, придется использовать небольшой макрос. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

	 
Sub Apostrophe_Remove() 
   For Each cell In Selection 
      If Not cell.HasFormula Then 
         v = cell.Value 
         cell.Clear 
         cell.Formula = v 
      End If 
    Next 
End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то апострофы перед содержимым выделенных ячеек исчезнут.

Английские буквы вместо русских

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

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

	 
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 или вкладка Разработчик – кнопка Макросы), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу :)

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

  • Поиск символов латиницы в русском тексте
  • Проверка текста на соответствие заданному шаблону (маске)
  • Деление «слипшегося» текста из одного столбца на несколько

Всем доброго дня!

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

Например: «Macлo для KПП DRAGON HD GL-5 п/с 75W90 1л» чтобы было «DRAGON HD GL-5 75W90 1»

Заранее благодарю!
Владимир.


если только пользовательскую ф-цию написать.


Еще можно 66 раз подряд выделить столбец, нажать Ctrl+H и последовательно заменить все заглавные и строчные буквы русского алфавита на пустое значение. Да, потом еще придется избавиться от лишних пробелов при помощи функции СЖПРОБЕЛЫ().

Можно немного упростить себе задачу:
1. пусть Ваши изначальные строки записаны в столбце A
2. В ячейке B1 запишем следующую формулу
=ЕСЛИ(СТОЛБЕЦ()-1>ДЛСТР(A1);A1;ЕСЛИ(И(КОДСИМВ(ПСТР(A1;СТОЛБЕЦ()-1;1))>=КОДСИМВ(«А»);КОДСИМВ(ПСТР(A1;СТОЛБЕЦ()-1;1))<=КОДСИМВ(«я»));ЗАМЕНИТЬ(A1;СТОЛБЕЦ()-1;1;»А»);A1))
3. Скопируем ее в столько столбцов правее B, чтобы все русские символы в строке постепенно были заменены на символ «А»
4. Скопируем ее также во все другие строки напротив значимых ячеек столбца A
5. Убеждаемся в том, что самый правый столбец не содержит русских букв, за исключением одной.
6. Выделяем его и при помощи Ctrl+H заменяем ее на «»

P.S. Обратите внимание на то, что в вашем примере в слове «Macлo» содержится только одна русская буква «л»
P.P.S. И еще так просто от косого слеша в строке «п/с» вы не избавитесь


Я, как всегда, чертовски адекватен… Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771


1 / 1 / 0

Регистрация: 21.03.2016

Сообщений: 20

1

Убрать русские символы из ячеек

21.03.2016, 16:23. Показов 15187. Ответов 40


Студворк — интернет-сервис помощи студентам

Здравствуйте! Имеется где-то 1000+ строк, содержащих текст вида: «Внешний блок Hyndai FX400»
Возможно ли функцией переместить в соседний столбик все эти строки, но уже без РУССКИХ символов/букв?
Т.е. что бы получилось так:
A1=Внешний блок Hyndai FX400 … A999=Внешний блок Hyndai FX9999
B1=Hyndai FX400 … B999=Hyndai Fx9999

Забыл уточнить, РУССКИЙ текст Разный, т.е. присутствуют строки с другим русским текстом.



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

21.03.2016, 16:35

2

Как понял, русский текст разный и всегда впереди, а дальше всегда Hyndai.
Ищите начало вхождения Hyndai в строке и функцией ПСТР() отсекайте нужный текст



2



1 / 1 / 0

Регистрация: 21.03.2016

Сообщений: 20

21.03.2016, 17:05

 [ТС]

3

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



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

21.03.2016, 17:12

4

Ищите первое вхождения английской буквы в строке и функцией ПСТР() отсекайте нужный текст
Если не знаете как, то приложите файл-пример с десятком разных строк.



2



5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

21.03.2016, 17:12

5

vladdis, файл с примером прикладывайте



1



Svsh2015

132 / 108 / 22

Регистрация: 23.06.2015

Сообщений: 339

21.03.2016, 19:43

6

добрый день,попробуйте функцию uuu в B1 в файл примере

Visual Basic
1
2
3
4
5
6
Function uuu$(t$)
    With CreateObject("VBScript.RegExp"): .Global = True: .ignorecase = True
        .Pattern = "[А-ЯЁ]+"
        uuu = .Replace(t, "")
    End With
End Function

Вложения

Тип файла: xls example_21_03_2016_cbr_1.xls (34.5 Кб, 49 просмотров)



1



1 / 1 / 0

Регистрация: 21.03.2016

Сообщений: 20

21.03.2016, 21:13

 [ТС]

7

А как запустить эту функцию?



0



132 / 108 / 22

Регистрация: 23.06.2015

Сообщений: 339

21.03.2016, 21:22

8

vladdis,например,скопируйте текст функции uuu в стандартный модуль vba(где у Вас макросы).В любую ячейке Excel заносите:
=uuu()
В скобках укажите нужную ячейку, например,A1, и завершаете enter.



1



1 / 1 / 0

Регистрация: 21.03.2016

Сообщений: 20

21.03.2016, 21:35

 [ТС]

9

Выдает ошибку(

Миниатюры

Убрать русские символы из ячеек
 



0



132 / 108 / 22

Регистрация: 23.06.2015

Сообщений: 339

21.03.2016, 22:06

10

vladdis,выложите файл пример



1



132 / 108 / 22

Регистрация: 23.06.2015

Сообщений: 339

21.03.2016, 22:20

11

добавил строчки в файл пример



1



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

21.03.2016, 22:28

12

Формула массива

Код

=ПСТР(C2;ПОИСКПОЗ(1;1/(ПСТР(ПОДСТАВИТЬ(C2;" ";"а");СТРОКА($1:$99);1)<"а"););99)

Ввод Ctrl+Shift+Enter



2



1 / 1 / 0

Регистрация: 21.03.2016

Сообщений: 20

22.03.2016, 02:22

 [ТС]

13

Svsh2015, спасибо, но у меня все равно выдает ошибку.
AlexM, спасибо, но выдает только цифры или же цифры+одна-две буквы (англ).
Извините, я правда тупой.



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

22.03.2016, 09:53

14

Цитата
Сообщение от vladdis
Посмотреть сообщение

выдает только цифры или же цифры+одна-две буквы

Я вам пример показал, что в нем не так?
Покажите свой файл, где формула работает неверно.



1



1 / 1 / 0

Регистрация: 21.03.2016

Сообщений: 20

22.03.2016, 11:42

 [ТС]

15

Вот ошибка

Миниатюры

Убрать русские символы из ячеек
 



0



5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

22.03.2016, 11:46

16

vladdis, пример надо прикладывать в файле Excel, ответ в картинке хотите получить?



1



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

22.03.2016, 11:46

17

Цитата
Сообщение от vladdis
Посмотреть сообщение

Вот ошибка

Так это не моя, а ваша

Цитата
Сообщение от AlexM
Посмотреть сообщение

Ввод Ctrl+Shift+Enter



1



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

22.03.2016, 11:52

18

картинка

Миниатюры

Убрать русские символы из ячеек
 



1



1 / 1 / 0

Регистрация: 21.03.2016

Сообщений: 20

22.03.2016, 12:03

 [ТС]

19

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

Миниатюры

Убрать русские символы из ячеек
 



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

22.03.2016, 12:13

20

А потому что формулу набили сами, а не скопировали из 12 сообщения.
У меня «а» русская, а у вас английская



2



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

22.03.2016, 12:13

Помогаю со студенческими работами здесь

Русские символы
Скажите пожалуйста, как поисковики индексируют такие страницы?

Русские символы
Всем привет! написал программу автокоррекции: проверяется 1 ошибка в слове, если удалён символ,…

русские символы
public class Krip {

public static void main(String args) {

Русские символы
Проблема с отображением русских символов. Винда 8 ,х64, питон 2.7.6 х64.
Более конкретно о…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

20

Удалить русские буквы из ячейки

Koneu

Дата: Вторник, 12.11.2019, 13:01 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 16


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Добрый день! ПРошу помощи как с помощью формулы можно удалить русские буквы из ячеек:
JET GH-3180 ZHD Токарно-винторезный станок индустриального класса
JET EHVS-80 Станок для шлифования кантов 230 В (исходные)

 

Ответить

bmv98rus

Дата: Вторник, 12.11.2019, 13:35 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

Результат должен быть таким?
JET GH-3180 ZHD
JET EHVS-80 230 ()


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

китин

Дата: Вторник, 12.11.2019, 14:00 |
Сообщение № 3

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

чисто по «примеру»

Код

=СЖПРОБЕЛЫ(ЛЕВБ(A1;ПОИСКПОЗ(1=1;(КОДСИМВ(ПСТР(A1;СТРОКА($1:$100);1)))>=192;0)-1))

Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter
Предполагается, что проверяемый текст у вас в А1.


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Koneu

Дата: Вторник, 12.11.2019, 14:08 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 16


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

bmv98rus, вообще в идеале без скобок

 

Ответить

bmv98rus

Дата: Вторник, 12.11.2019, 14:20 |
Сообщение № 5

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

китин, Игорь, так с Ёжиком будут проблемы 168<192 . Тут лучше просто так использовать

Код

=TRIM(LEFTB(A1,MATCH(1=1,(MID(A1,ROW($1:$100),1))>=»А»,0)-1))

вообще в идеале без скобок

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


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rusВторник, 12.11.2019, 14:22

 

Ответить

китин

Дата: Вторник, 12.11.2019, 14:32 |
Сообщение № 6

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

[offtop]bmv98rus, Миша, сейчас Ёжик так редко используется, что наверно его скоро сократят :D


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

bmv98rus

Дата: Вторник, 12.11.2019, 14:53 |
Сообщение № 7

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

китин, Ну по любасу так короче, хоть и не подходит если говорить о 220 которые подвисают


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

Светлый

Дата: Вторник, 12.11.2019, 22:25 |
Сообщение № 8

Группа: Друзья

Ранг: Старожил

Сообщений: 1742


Репутация:

479

±

Замечаний:
0% ±


Excel 2013, 2016

И мои варианты:

Код

=ЛЕВБ(A1;ПОИСКПОЗ(0=0;ПСТР(A1;СТРОКА($3:$99);1)>=»А»;))

Хотел отдельно для Ёжиков подставу сделать, но раздумал. Проверьте*И это:


Программировать проще, чем писать стихи.

Сообщение отредактировал СветлыйВторник, 12.11.2019, 22:30

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Как в excel удалить все примечания в excel
  • Как в excel удалить все одним цветом
  • Как в excel удалить все одинаковые строки в excel
  • Как в excel удалить все кроме отфильтрованного
  • Как в excel удалить в ячейке все символы после определенного символа