Страницы: 1
RSS
найти строки с буквой на конце и удалить букву
 
Добрый день, очень прошу помочь.  
 
Есть таблица:  
 
Т871ХК37У  
Е938ОА199  
М089ВР37  
М978ВТ37А  
Н426ВО150  
М694ВС37Х  
Е315ТО32  
и т.д.  
 
Необходимо найти строки, которые заканчиваются на букву. И удалить эту последнюю букву каждой строки.  
 
Таблица содержит по 10000 - 20000 строк, вручную удалять - не вариант.
 
Добрый, формулой?  
Подойдёт?  
=ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&ЕСЛИ(ЕЧИСЛО(--ПРАВСИМВ(A1;1));ПРАВСИМВ(A1;1);"")
 
по сути то же самое :)  
=ЕСЛИ(ЕЧИСЛО(--ПРАВСИМВ(A1;1));A1;ЛЕВСИМВ(A1;ДЛСТР(A1)-1))
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Этой формулой удаляется каждая последняя цифра и буква.    
Мне же нужно удалить только букву (9 символ), а цифру (9 символ), если она есть, оставить.
 
Еще вариант  
 
Sub rtyrty()  
Dim rng As Range, r As Range  
Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)  
With CreateObject("VBScript.RegExp")  
   .Pattern = "[À-ß]$"
   For Each r In rng  
       If .Test® Then r = Left(r, Len® - 1)  
   Next r  
End With  
End Sub
 
Опять раскладка :)  
Вот строчка  
.Pattern = "[А-Я]$"
 
{quote}{login=Ghua}{date=20.04.2011 02:09}{thema=}{post}Этой формулой удаляется каждая последняя цифра и буква.    
Мне же нужно удалить только букву (9 символ), а цифру (9 символ), если она есть, оставить.{/post}{/quote}  
вы это проверили, да?  
 
обе формулы работают в соответствии с вашими пожеланиями - если последний символ цифра, оставляют его, если буква - отрезают.  
если у вас сменились пожелания или вы не смогли их правильно сформулировать сразу - то так и надо говорить :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=Ghua}{date=20.04.2011 02:09}{thema=}{post}Этой формулой удаляется каждая последняя цифра и буква.    
Мне же нужно удалить только букву (9 символ), а цифру (9 символ), если она есть, оставить.{/post}{/quote}  
Этой формулой удаляется только каждая последняя буква, если она есть, цифра остаётся  
А в Вашем примере разве везде по 9 символов? :)
 
=ЕСЛИ(КОДСИМВ(ПРАВСИМВ(C6;1))>57;ПСТР(C6;1;ДЛСТР(C6)-1);C6)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=nilem}{date=20.04.2011 02:11}{thema=}{post}Опять раскладка :)  
Вот строчка  
.Pattern = "[А-Я]$"{/post}{/quote}Здравствуйте, Николай. Если у Вас ХР, то это поможет(распаковать, выполнить, перегрузиться).
Я сам - дурнее всякого примера! ...
 
всем спасибо за ответы. Нашла другой способ.  
Формулы не пошли.
 
Я в шоке. Формулы проверил - работают. Вам занятые люди уделили время - очень бестактно благодарите их.
 
Если ты не умеешь читать, то вот, ещё раз дублирую специально для тебя.  
"всем спасибо за ответы."  
 
Вымещай злость на ком-нибудь другом, пожалуйста.
 
Ghua, а хамить зачем? На форуме очень этого не любят.
Я сам - дурнее всякого примера! ...
 
{quote}{login=Ghua}{date=20.04.2011 02:40}{thema=}{post}Нашла другой способ.{/post}{/quote}Ну так напишите что за способ.
 
формулами:  
MID (A2,9,1)  
FIXED (B2,2)  
LEFT (A2,8)  
 
Больше работы получается, но результат безошибочный.
 
{quote}{login=KukLP}{date=20.04.2011 02:19}{thema=Re: }{post}Здравствуйте, Николай. Если у Вас ХР, то это поможет(распаковать, выполнить, перегрузиться).{/post}{/quote}  
Здравствуйте, Сергей. У меня 7-ка (хотел написать "к сожалению" - отнюдь - очень даже замечательная ОС, советую). А с раскладкой уже задавал вопрос - ZVI ответил, что вариантов пока нет. Так что ждем-с.  
Но, в любом случае, спасибо (за заботу :)).
 
=ПСТР(A1;1;ДЛСТР(A1)-1+СЧЁТ(--ПРАВСИМВ(A1;1)))
 
За державу обидно :)  
Ну как так? Предложено четыре варианта формулы, все рабочие, выполняют "хотелки" автора:  
<Необходимо найти строки, которые заканчиваются на букву. И удалить эту последнюю букву каждой строки>  
<Мне же нужно удалить только букву (9 символ), а цифру (9 символ), если она есть, оставить>  
 
То, что нашла Ghua, совершенно не подходят под эти пожелания:  
MID (A2,9,1) - просто девятый символ текстовой строки;  
FIXED (B2,2) - число (в текстовом формате) с двумя знаками после запятой;  
LEFT (A2,8) - обрежет цифру в Е938ОА199.  
 
Вывод: или Ghua не озвучила конечную цель и обрезание буквы только вершина айсберга, или девушка идеальная блондинка :)  
 
Мой вариант:  
=ПСТР(A1;1;ЕСЛИ(ЕЧИСЛО(-ПРАВСИМВ(A1));9;8))
Страницы: 1
Читают тему
Наверх