Форумы Серверы Суспільство
Игры Серверы VBIOS General Soft & Hard Увлечения А поговорить... Культура Полезная информация Межигір'я Чат

  1 из 2 Все12
Пользователь Сообщение: вопрос знатокам екселя        (Тема#63049)
ME4EHbIU 
Only GOD can judge me
ME4EHbIU
Возраст: 39
: Киев
С нами с 05.01.06
Посты: 11686
16.05.12 10:10 Ukraine #1335137
есть база
в первой колонке написана инфа (в разных строках по-разному) в формате: индекс, область, город, улица, дом, офис\квартира

задача:
разнести данные по отдельным колонкам.
тоесть в этом же файле....
колонка 2 называеца индекс (соответственно все индексы в неё)
колонка 3 называеца область (области сюда)

и т.д.

реально ? ибо база большая, ручками лень
Nameless 
Maximus - Lite Edition
Nameless
: 404
С нами с 02.11.05
Посты: 21233
16.05.12 11:19 [Re: ME4EHbIU] Ukraine #1335168
задача поставлена настолько в общем, что ответить точно нереально. Но вообще - скорее да. Макросы и регулярные выражения в помощь )
Nameless 
Maximus - Lite Edition
Nameless
: 404
С нами с 02.11.05
Посты: 21233
16.05.12 11:20 [Re: Nameless] Ukraine #1335169
более точно можно ответить, если глянуть на сэмпл из файла.
ME4EHbIU 
Only GOD can judge me
ME4EHbIU
Возраст: 39
: Киев
С нами с 05.01.06
Посты: 11686
16.05.12 11:26 [Re: Nameless] Ukraine #1335173
вот пример...
я дело в том, шо в написании макросов не шарю совсем....

Прикрепления: _________.xls (32 KB) 104 Просмотр(ы)

ME4EHbIU 
Only GOD can judge me
ME4EHbIU
Возраст: 39
: Киев
С нами с 05.01.06
Посты: 11686
16.05.12 11:28 [Re: ME4EHbIU] Ukraine #1335175
Нейм, есишо с меня пиво
сцобака 
11001100101000
сцобака
С нами с 27.07.07
Посты: 6012
16.05.12 11:36 [Re: ME4EHbIU] Ukraine #1335180
пилишь цикл, в него запихиваешь split по запятой и cell(x,y).value в помощь - и всё
Nameless 
Maximus - Lite Edition
Nameless
: 404
С нами с 02.11.05
Посты: 21233
16.05.12 11:39 [Re: сцобака] Ukraine #1335184
не, не все. Ему надо по колонкам разложить, а там в строках порядок разный. Да и состав.

Отредактировано Nameless 16.05.12 11:43. Причина редактирования: Причина не указана.
ME4EHbIU 
Only GOD can judge me
ME4EHbIU
Возраст: 39
: Киев
С нами с 05.01.06
Посты: 11686
16.05.12 11:43 [Re: Nameless] Ukraine #1335191
отож....если такое могешь замутить - в личку кину полный файл.....в долгу не останусь
сцобака 
11001100101000
сцобака
С нами с 27.07.07
Посты: 6012
16.05.12 13:53 [Re: Nameless] Ukraine #1335292
  • Nameless :
не, не все. Ему надо по колонкам разложить, а там в строках порядок разный. Да и состав.

По колонкам разложить не проблема, у него проблема, что структура строк не одинаковая. Где-то нету индекса, где-то только город, а где-то область и село и т.д. - тут ещё помимо разбивания надо анализ и идентификацию типа данных делать
Nameless 
Maximus - Lite Edition
Nameless
: 404
С нами с 02.11.05
Посты: 21233
16.05.12 15:14 [Re: сцобака] Ukraine #1335373
я кагбэ об этом и написал ) "по колонкам разложить" = "по нужным колонкам разложить"
сцобака 
11001100101000
сцобака
С нами с 27.07.07
Посты: 6012
16.05.12 15:44 [Re: Nameless] Ukraine #1335391
Вот набросок на быструю руку, но т.к. исходные данные кривые и не шаблонные, тот тут нужно больше времени, чтобы построить и описать алгоритм сортировки и расфасовки данных по правильны полочкам.

Прикрепления: vba.zip (16.76 KB) 54 Просмотр(ы)

Nameless 
Maximus - Lite Edition
Nameless
: 404
С нами с 02.11.05
Посты: 21233
16.05.12 15:53 [Re: сцобака] Ukraine #1335401
нуу если такое качество устраивает.
ME4EHbIU 
Only GOD can judge me
ME4EHbIU
Возраст: 39
: Киев
С нами с 05.01.06
Посты: 11686
16.05.12 15:57 [Re: Nameless] Ukraine #1335407
мерси

та фих с ним....руками лопатить буду и пару людей подключу....

пасиба откликнувшимся...тему прикройте
Apache 
подполковник
Apache
Возраст: 33
: Lublin, Polska
С нами с 10.03.09
Посты: 3776
16.05.12 16:13 [Re: ME4EHbIU] Ukraine #1335415
а если просто написать парсер?
перевести файл в .csv и отпарсить, а потом обратно в .xls
ME4EHbIU 
Only GOD can judge me
ME4EHbIU
Возраст: 39
: Киев
С нами с 05.01.06
Посты: 11686
16.05.12 16:16 [Re: Apache] Ukraine #1335418
мне шоп понять шо такое парсер нада википедию перелопатить
сцобака 
11001100101000
сцобака
С нами с 27.07.07
Посты: 6012
16.05.12 16:23 [Re: Apache] Ukraine #1335422
  • Apache :
а если просто написать парсер?
перевести файл в .csv и отпарсить, а потом обратно в .xls

дело в том, что там одни строки разделены пробелами, другие запятыми, а третьи и пробелы и запятые, в одном месте номер дома начинается с "буд", в другом просто цифра, в третьем ещё какая помесь, при этом части данных может не быть, или смещены в другой конец строки. По крайней мере это то что я увидел в примере выложенном.

Исходные данные слишком перемешанные. Написать подходящий парсер конечно можно, но займёт много времени.
Nameless 
Maximus - Lite Edition
Nameless
: 404
С нами с 02.11.05
Посты: 21233
16.05.12 16:29 [Re: сцобака] Ukraine #1335429
вот-вот. Можно, просто быстро не получится и надо будет еще гонять на большом файле и смотреть на результат, тюнить.
Apache 
подполковник
Apache
Возраст: 33
: Lublin, Polska
С нами с 10.03.09
Посты: 3776
16.05.12 16:30 [Re: ME4EHbIU] Ukraine #1335432
если коротко:
берем программно читаем строку (для этого как раз и делаем .csv как самый простой формат таблиц)
"01001, м. Київ, вул. Хрещатик, буд. 19-А" разбиваем ее по запятым
получаем:
01001
м. Київ
вул. Хрещатик
буд. 19-А
анализируем
если "слово" имеет 6 символов и они число то это индекс
далее если слово содержит "м." или просто Київ это город (маски можно расширит)
далее если имеем "вул." это улица
если "буд." это дом
потом записываем строку как нам нужно

могу сейчас попробовать написать если получится скину
Nameless 
Maximus - Lite Edition
Nameless
: 404
С нами с 02.11.05
Посты: 21233
16.05.12 16:45 [Re: Apache] Ukraine #1335443
ох, тыж блин ну пробуй-пробуй, если есть время и желание ) там дофига вариантов ) когда все переберешь, как раз задачу Меченого и сделаешь, а он тебе пива выставит )
единственная сложность в этой задаче - это как раз все варианты и перебрать )

Отредактировано Nameless 16.05.12 16:46. Причина редактирования: Причина не указана.
Apache 
подполковник
Apache
Возраст: 33
: Lublin, Polska
С нами с 10.03.09
Посты: 3776
16.05.12 16:53 [Re: Nameless] Ukraine #1335456
тут дело не в пиве, а в спортивном интересе
  1 из 2 Все12
Icon Legend Права Настройки темы
Распечатать тему


1379 Просмотры
Реклама
121 сейчас в онлайне
4 пользователей (JazzTwist) и 0 скрытых, а также 117 гостей сейчас онлайн.
VBIOS Version 3.0 FINAL | ©1999-2023
Execution time: 0.174 seconds.   Total Queries: 83   Zlib сжатие вкл.
All times are (GMT+3). Current time is 05:45
Top