|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.07.2009, 09:05 | #1 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
Количество знаков
Добрый день!
Помогите пожалуйста с решением проблемы, а именно имеется столбец с телефонами, в котором встречаются как сотовые номера (написанные через тире [8-9**-***-**-**] или же пробел [8 9** *** ** **], встречаются так же и такие варианты [9*********], [8(9**)*******] и тд.) так и домашние (с кодом и без). Цель получить столбец содержаший только сотовые номера. Учитывая разношёртность написания номеров, решение мне представляется только в виде макроса, который выведит те яцейки кол-во знаков в которых больше, например 8. Или же, если это возможно, сначала исключить (макросом) все знаки не являющиеся цифрами, ну а потом применить фильтр по кол-ву знаков в ячейке. (В таком случаи точность будет намного выше). |
02.07.2009, 09:47 | #2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Можно, например, с помощью функции:
Код:
Чем шире угол зрения, тем он тупее.
|
02.07.2009, 11:11 | #3 | |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
Цитата:
Что не так: Код:
Последний раз редактировалось Flangini; 02.07.2009 в 11:13. Причина: Дописать |
|
02.07.2009, 11:25 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
я вот такое написал правее ячейки с номером и получил последние 7 цифр:
Код:
1. вставляете код функции в модуль 2. набираете в ячейке равно "=" 3. жмете fx (значок чуть левее строки ввода формул) 4. строке "категория" выбираете определенные пользователем 5. в списке функций выбираете Ntel 6. в качестве параметра указываете ячейку с данными, жмете Enter. (Понятно, там по синтаксису скобки открыть-закрыть) 7. копируете ячейку вниз по списку телефонов
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
02.07.2009, 11:51 | #5 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
Спасибо большое!
а функцию написанную SAS888, можно использовать только так? то что я пытался сделать - бред сумашедшего? |
02.07.2009, 12:26 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
функция SAS888, как и то что я написал используются аналогично. Пишем ее в одну ячейку, а потом размножаем но всему списку.
Только моя удалит из начальной строки пробелы " ", тире "-", открывающуюсю "(" и закрывающуюсю ")" скобки, а SAS888 во-первых, запись компактнее, во-вторых, удаляет из начальной строки все, кроме цифр. Правда, с оператором Ntel = IIf(Len(Ntel) > 8, Ntel, "") я не согласен, я не стал бы возвращать пусто если в номере меньше 8 цифр...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
02.07.2009, 12:39 | #7 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Посмотрите пример во вложении.
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
02.07.2009, 13:50 | #8 | |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
Цитата:
Скажите, что означает Len(Cell) в цикле For. Эта строка мне тоже не понятна: s = Mid(Cell, i, 1) И это объясните пожалуйста: Ntel = Ntel & s |
|
02.07.2009, 14:51 | #9 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Len(Cell) - Количество символов в значениии ячейки Cell
s = Mid(Cell, i, 1) - Присваиваем переменной s значение из Cell, начиная с i-го символа в количестве 1. Т.е. перебираем все символы в ячейке Cell по 1. Ntel = Ntel & s - Переменной Ntel присваиваем значение переменной Ntel, сцепленное со значением переменной s.
Чем шире угол зрения, тем он тупее.
|
02.07.2009, 15:22 | #10 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
Спасибо! Теперь на йоту стал умней
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пощитать количество знаков в RichEdit | Vladya | Помощь студентам | 3 | 05.03.2009 17:08 |
количество цифр и количество символов до первой гласной буквы | 111111 | Общие вопросы C/C++ | 2 | 22.12.2008 12:15 |
(+,-,*,/)Расстановка знаков | МаксимNEWProgramm | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 17.04.2008 17:04 |
Подсчет знаков | Dizman | Помощь студентам | 4 | 31.01.2008 22:27 |