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 есть это и сотни других готовых решений!

Данная команда позволяет быстро находить в тексте ячейки Кириллицу или Латиницу, выделять или удалять ее. Также позволяет менять Кириллицу (Латиницу) на Латиницу (Кириллицу):

Кириллица - Латиница

Чтобы воспользоваться данной командой выделите ячейки с текстом, перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Ячейки» и выберите команду «Кириллица — Латиница»:

kirillitsa-latinitsa

Откроется диалоговое окно. Выберите один из девяти вариантов выполнения программы и нажмите кнопку «ОК»:

kirillitsa-latinitsa

Программа выполнит необходимое действие:

  • Выделить Латиницу -> программа выделит красным цветом все буквы Латиницы;
  • Выделить Кириллицу -> программа выделит красным цветом все буквы Кириллицы;
  • Удалить Латиницу -> программа удалит все буквы Латиницы;
  • Удалить Кириллицу -> программа удалит все буквы Кириллицы;
  • Заменить Кириллицу на Латиницу (мама -> mama) -> программа заменит все буквы Кириллицы на буквы Латиницы (буква х будет заменена на h);
  • Заменить Кириллицу на Латиницу (х -> x) -> программа заменит все буквы Кириллицы, похожие на буквы Латиницы на буквы Латиницы (буква х будет заменена на x);
  • Заменить Латиницу на Кириллицу (x -> х) -> программа заменит все буквы Латиницы, похожие на буквы Кириллицы на буквы Кириллицы (буква x будет заменена на х);
  • Заменить Кириллицу на Латиницу (рщьу -> home) -> программа заменит все буквы Кириллицы на соответствующие этим же клавишам клавиатуры буквы Латиницы;
  • Заменить Латиницу на Кириллицу (vfvf -> мама) -> программа заменит все буквы Латиницы на соответствующие этим же клавишам на клавиатуре буквы Кириллицы.

Для отмены операции нажмите кнопку отмены:

Важно:

  • Варианты: «Выделить Кириллицу» и «Выделить Латиницу» — не имеют функции отмены.
  • Если в выделенных ячейках цвет текста красный — вы не увидите результата работы вариантов: «Выделить Кириллицу» и «Выделить Латиницу».

Добавить комментарий

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

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

 

Ответить

1 / 1 / 0

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

Сообщений: 20

1

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

21.03.2016, 16:23. Показов 15165. Ответов 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

 

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

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

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

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

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Тема многократно обсуждалась. Поиск работает — вот одна из тем: <BR>

http://www.planetaexcel.ru/forum.php?thread_id=27107

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#3

18.09.2011 13:25:51

{quote}{login=firstik}{date=18.09.2011 01:01}{thema=Как из ячейки удалить все русские символы?}{post}Всем доброго дня!  

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

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

  Заранее благодарю!  
Владимир.{/post}{/quote}  

  без регулярных выражений можно как то так  

  Function hhh(Stxt$)  
For i = Len(Stxt) To 1 Step -1  
a = Mid(Stxt, i, 1)  
If a Like «[А-я]» Then Stxt = Replace(Stxt, a, «»)
Next  
hhh = Stxt  
End Function

Спасибо

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#4

18.09.2011 13:30:43

последнюю строку лучше так  
hhh = Trim(Stxt)  
что бы убрать лишние пробелы

Спасибо

 

to R Dmitry  
т.е. это макрос?  
я его в модуль VBA добавил, не появляется че то.  
наверное чет не то делаю

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

 

{quote}{login=The_Prist}{date=18.09.2011 01:41}{thema=}{post}У Вас в слове «Macлo» литера «а» на английском…{/post}{/quote}  
это сейчас не суть важно, прежде чем удалять все русские символы, я другим макросом проверю соответствие ru/en.

 

{quote}{login=The_Prist}{date=18.09.2011 01:41}{thema=}{post}У Вас в слове «Macлo» литера «а» на английском…{/post}{/quote}  

  Я только начинаю познавать excel, выше R Dmitry написал код, это макрос его в модуль пихать?)))  

  нашел еще топик где вы предлагаете код :  
Sub ReplaceSymbols()  
Dim objRegExp As Object, sOlsString As String, sNewString As String  
sOlsString = «Фрукт/ Apple»»»» 123=»  
Set objRegExp = CreateObject(«VBScript.RegExp»)  
objRegExp.Global = True: objRegExp.IgnoreCase = True  
objRegExp.Pattern = «[«»»»,=,,/, а-я,ё]»
sNewString = objRegExp.Replace(sOlsString, «»)  
End Sub  

  в моем случае он «прокатит»?

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#9

18.09.2011 14:09:20

{quote}{login=nerv}{date=18.09.2011 01:42}{thema=}{post}»[А-яЁё]» : ){/post}{/quote}
да точно про Ёё…моё я забыл :)  
off.. завтра пойду на моторшоу смотреть, что это за чудо (Ёмобиль) инженерной мысли :)

Спасибо

 

Prist, R Dmitry спасибо вам огромное!!!  
Здоровья и удачи вам!  
Респект!

 

Function hhh(Stxt$)  
For i = Len(Stxt) To 1 Step -1  
a = Mid(Stxt, i, 1)  
If a Like «[А-я]» Then Stxt = Replace(Stxt, a, «»)
Next  
hhh = Stxt  
End Function  

  могу ли я в эту функцию добавить условие: вместе с русскими буквами удалять определенные наборы символов (п/с, син. и т.п.)  
Это должно выглядеть так: If a Like «[А-я»п/с»»син.»]» Then Stxt = Replace(Stxt, a, «»)
Правильно?

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

Кстати, тут такой, как мне кажется, интересный момент: слово «Маша». Ф-ция Replace удалит букву «а» на первом проходе, но все равно счетчик будет считать до 4-х. Т.е. по идее 1 холостой проход. А если это предложение? Или текст здоровущий? : )  

  Function hhh(Stxt$)  
For i = Len(Stxt) To 1 Step -1  
a = Mid(Stxt, i, 1)  
If a Like «[А-яЁё]» Then Stxt = Replace(Stxt, a, «»)
Next  
hhh = Stxt  
End Function  

  уж не знаю, что быстрее, но вот еще один вариант:  

  Option Compare Binary  

              Private Function CleanString(ByVal Str$) As String  
Dim i%, x As String * 1  
Do While i < Len(Str)  
   i = i + 1: x = Mid(Str, i, 1)  
   If x Like «[А-яЁё]» Then
       Str = Replace(Str, x, «»): i = i — 1  
   End If  
Loop  
CleanString = Trim(Str)  
End Function  

  Sub j()  
v = CleanString(«Маша»)  
End Sub

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

>>могу ли я в эту функцию добавить  

  В эту вряд ли. Могут предложить вот такой вариант (приблизительно)  

  Public Function io$(x$)  
Dim v, x  
For Each v in Array(«Ваше выражение», «Ещё одно»)  
x=replace(x,v,»»)  
next  
io=x  
End Sub  

  и объединить все эт дело в одну ф-цию или макрос

 

{quote}{login=The_Prist}{date=18.09.2011 01:41}{thema=}{post}У Вас в слове «Macлo» литера «а» на английском…{/post}{/quote}Если бы только «а» ;) Там ВСЕ буквы английские кроме «л»!  

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

  Sub firstik()  

  Const WORDS = «п/с син» ‘список слов для удаления, через пробел  

  Dim x  
For Each x In Split(WORDS) ‘замена слов  
   Selection.Replace x, «», xlPart, , False  
Next  

  For x = 192 To 223 ‘замена русских букв кроме Ё  
   Selection.Replace Chr$(x), «»  
Next  

  Selection.Value = Application.Trim(Selection) ‘удаление лишних пробелов  
End Sub

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

{quote}{login=firstik}{date=18.09.2011 01:01}{thema=Как из ячейки удалить все русские символы?}{post}Всем доброго дня!  

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

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

  Заранее благодарю!  
Владимир.{/post}{/quote}  

  Недавно для себя писал такую формулу массива (кстати, именно для запчастей):  

  =ПСТР(B4;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(КОДСИМВ(ПСТР(B4&»A»;СТРОКА($1:$99);1)&1);{0;65;123})=2;СТРОКА($1:$99));1);100)  

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

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

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

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

    Метод для блондинок: заменить все русские буквы на букву А (например): с помощью ctrl H по очереди заменять по одной букве русского алфавита) а потом удалить все буквы А — также заменой на пусто.

 

tarasso

Пользователь

Сообщений: 123
Регистрация: 29.12.2012

#17

30.10.2012 13:24:49

Здравствуйте, господа! Предлагаю вот такую идею:  
Sub NORUS_1()  
Dim arr$(), rov&, col&  
Dim stroki As Range, str As Range, a As Range, x As Range  
rov = activecell.Row: col = activecell.Column:  
‘ stroki- список строк  
Set stroki = Range(Cells(rov, col), Cells(Rows.Count, col).End(xlUp))  
‘ a- список символов, которые подлежат замене  
Set a = Range(Cells(rov, col + 1), Cells(Rows.Count, col + 1).End(xlUp))  
For Each str In stroki  
For Each x In a  
arr = Split(str, x)  
str = Join(arr, «»)  
Next x  
Next str  
End Sub  

  Например, у меня есть список уже выведенных символов в своей базе- русские, греческие, латинские, специальные знаки. Можно просто их скопировать в нужный столбец, у меня это (row, col+1). Очень хорошо справляется с повторами символов.

Понравилась статья? Поделить с друзьями:
  • Excel удаление дубликатов в ячейке
  • Excel удалить имя диапазонов
  • Excel удаление данных строк
  • Excel удалить именованный диапазон в excel
  • Excel удаление выпадающих списков