|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.10.2010, 21:11 | #1 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 31
|
Выборка конкретного цифрового значения из текста
Здравствуйте, уважаемые знатоки !
Помогите, пожалуйста, в решении следующей задачи (файл во вложении). Есть строчки, допустим порядка 300, каждая из которых имеет цифровое значение состоящее из 8 цифр. При этом эта цифра, всегда находится в тексте. Задача состоит в том, чтобы все цифровые значения состоящие из 8-и цифр, находящиеся на одном листе можно было выделить (извлечь) и перенести в другой файл (лист) Excel. В итоге, на листе останется только текст и остальные цифровые значения (не восьмизначные). Есть ли какая-то формула, для поиска таких восьмизначных цифр и копирования этих значений ?
С уважением,
Tissot |
07.10.2010, 21:44 | #2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Если в качестве разделителей всегда используются запятые или точки с запятой, можно с помощью команды Split разбить строку на подстроки и сверять их длину с 8, а затем проверять, все ли в строке является цифрой
|
07.10.2010, 22:30 | #3 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 31
|
Честно говоря, я не совсем понял, что Вы имели ввиду, а может быть Вы не поняли. Нужно сделать так, чтобы по всему листу цифра (код) обязательно состоящая из 8-ми цифр, каким-то образом выделилась, (а таких восьмизначных цифр в тексте будет, например 300).
Так вот, необходимо найти именно эти цифры и их можно было все одновременно скопировать, таким образом произойдет автоматическое отсеивание от других элементов листа (текста и т.д.). Допустим, при этом в файле вообще нет разделителей вроде , ; . и т.д. а просто сплошной текст и цифры в одной ячейке.
С уважением,
Tissot Последний раз редактировалось tissot; 07.10.2010 в 22:42. |
07.10.2010, 23:02 | #4 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Я-то понял, но если разделителей нет, то такой случай как а12345678б не нужно учитывать? По-моему, разделители должны быть хотя бы в виде пробелов, отделяющих это число от других слов. То есть, вам нужно, чтобы число выделялось даже в том случае, если справа и слева непосредственно есть другие знаки (не пробел)?
|
07.10.2010, 23:15 | #5 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Во вложении пользовательская функция NOMER
Анализ,обработка данных Недорого
|
08.10.2010, 03:31 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
doober, спасибо за функцию (я до сих пор не разобрался с RegExp)
Немного переделал её для себя - чтобы можно было искать любое число цифр: Код:
(добавлено - после изучения RegExp по этой статье) Как выяснилось, в плане алгоритма так будет правильнее: (ищем блок именно из 8 цифр - блоки из 9 и более цифр не попадают в результат) Код:
Код:
Пример в файле:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 08.10.2010 в 04:27. |
08.10.2010, 06:42 | #7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
doober, EducatedFool
+1 (каждому). Спасибо за полезную информацию.
Чем шире угол зрения, тем он тупее.
|
08.10.2010, 11:49 | #8 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 31
|
Господа, Вы, конечно, профи. Огромное спасибо 5+.
Задача решена и этот результат, думаю, поможет многим любителям и экспертам. P/s. Я не профи в макросах, но в контексте этого решения, небольшой вопрос. В какой строчке макроса необходимо внести изменение, чтобы проверка происходила в отношении десятизначной цифры.
С уважением,
Tissot |
08.10.2010, 12:26 | #9 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Код:
В макросе - аналогично: Код:
|
|
09.10.2010, 01:06 | #10 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 31
|
Всё понял ! Всё работает ! Надеюсь, что многим помогут эти ценные советы.
С уважением,
Tissot |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение значения конкретного поля в списке | Allan Stark | Microsoft Office Access | 2 | 26.10.2009 13:56 |
Выборка значения, по признаку, из строки | SLP | Microsoft Office Excel | 4 | 12.02.2009 16:33 |
Выборка текста | frayerok | Общие вопросы Delphi | 12 | 21.09.2008 21:44 |
Окрашивание текста в зависимости от значения | art1cool | Microsoft Office Excel | 2 | 19.08.2008 12:29 |