Страницы: 1
RSS
Убрать только буквы
 
Имеется база клиентов, телефон и комментарий в одной ячейке. Количество строк более 10 000; встречающихся комментариев много; возможно 2 и 3 телефонных номера, как сотовые, так и городские; комментарий может стоять в любом месте. Необходимо выделить только номера, т.е. убрать БУКВЫ. Помогите автоматизированно убрать только буквы, оставив пробелы, запятые, точки и тире.    
Excel 2003
 
=ПСТР(A1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(1*ПСТР(A1;СТРОКА($1:$9);1));0);СЧЁТ(1*ПСТР(A1;СТРОКА($1:$9);1)))  
Формула массива: вводится Ctrl+Shift+Enter
 
Baklanoff спасибо  
можно прикрепить файл, не получается у меня
 
Извините, а можно спросить, что значит 1*ПСТР(), ну т.е. почему умножается на 1?
 
=ПСТР(C6;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(1*ПСТР(C6;СТРОКА($1:$99);1));0);СЧЁТ(1*ПСТР(C6;СТРОКА($1:$99);1)))  
так правильно
 
Функция Val (VBA) возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа.  
 
Val (строка)  
 
 
Val("10 Main Street") return 10  
Val("34 10 Main Street") return 3410  
Val("  34 10 Main Street") return 3410  
Val("  34 - 10 Main Street") return 34  
Val("075") return 75
 
формула массива не работает у меня на третью строку "147852963 мама 456258  
" - выводит 147852963 мама
 
UDF в модуль книги  
=OnlyCyfra(C6)  
 
Option Explicit  
 
Function OnlyCyfra(myCell As Range)  
Dim i As Long  
For i = 1 To Len(myCell)  
If IsNumeric(Mid(myCell, i, 1)) Or Mid(myCell, i, 1) = "," _  
Or Mid(myCell, i, 1) = "." Or Mid(myCell, i, 1) = " " Then  
OnlyCyfra = OnlyCyfra + Mid(myCell, i, 1)  
End If  
Next  
End Function
 
Kuzmich СПАСИБО
 
konstantin_  
Функция Val (VBA) возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа.  
 
необходимо для столбца максимум, для отдельной ячейки в идеале.  
ввела ваш вариант, при отработке функции Val открывается окно редактора VBA... видимо я что-то не правильно делаю, подскажите что)
 
У меня еще вопрос: данную фунцию OnlyCyfra необходимо прописать для каждого пользователя? или она будет доступна для всех в определенном файле?  
с подобными данными работает человек 6-8, необходимо каждому дать возможность работы каждому
 
Фунцию OnlyCyfra перенесите в модуль книги.  
В ячейке, например Е6, введите =OnlyCyfra(C6)  
и протащите вниз, получите результат как у вас  
в столбце D
 
вариант: макрос, работающий с ячейками выделенного диапазона.  
 
Sub убрать_лишнее()  
 Set re = CreateObject("vbscript.regexp")  
 re.Global = True  
 re.Pattern = "[^\d\., ]+"
 Selection.NumberFormat = "@"  
 For Each c In Selection  
   c.Value = Application.Trim(re.Replace(c.Text, ""))  
 Next  
End Sub
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
=ТЕКСТ(СУММ(ПСТР(0&C8;НАИБОЛЬШИЙ(ЕЧИСЛО(-ПСТР(C8;СТРОКА($1:$99);1))*СТРОКА($1:$99);СТРОКА($1:$15))+1;1)*10^СТРОКА($1:$15)/10);ПОВТОР(0;МИН(СЧЁТ(1/(ПСТР(C8;СТРОКА($1:$99);1)+1));15)))  
 
------------  
16868
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1
Читают тему
Наверх