Tomasz W.

Tomasz W. Administrator
Systemów
Informatycznych

Temat: Adres ciurkiem - jak oddzielić ?

Witam,
pewnie temat już się przewijał ale nie mogłem znaleźć,
może ktoś z was ma dobry patent na to.

w jednej komórce umieszczono pełne adresy w takim układzie:

12-123 Karwosieki Małe ul. Osiedlowa 16 m.5
32-321 Warszawa, ul. Warszawska 0/0
43-321 Budy 12

jest ponad 300 wierszy a wszytko ma wylądować na kopertach w korespondecji seryjnej.

Jak sprytnie rozdzielić ten adres na składowe, kod , miasto i reszta ?

Kod jako że jest pierwszy już się udało .... ale jak wyłuskać miasto ?

Pozdrawiam
Jacek Cetnarski

Jacek Cetnarski Data Analyst

Temat: Adres ciurkiem - jak oddzielić ?

Nie da sie dopuki skladowe adresu nie sa przedzielone znakiem "szczegolnym" np przecinkiem. Wtedy to mozesz np zastosowac podzial tekstu na kolumny w zakladace Dane
Wojciech Masłoń

Wojciech Masłoń Technology Expert

Temat: Adres ciurkiem - jak oddzielić ?

Moim zdaniem się da ... ja robiłem coś takiego dla takich adresów dla ok. 280k rekordów ... i musiałem coś wymyśleć ;). Szukasz znaków albo wyrażeń ;). Podpowiem tylko tyle - że szybciej dla 300 zrobisz ręcznie, oddzielając po przecinku (sposobem kolegi wyżej) lub sztucznie wstawiając przecinek przed "ul" gdzie go nie ma (funkcja szukaj tekst, czy jakoś tak) i powtarzasz dzielenie. Reszta ręcznie i powinno Ci to zająć 5-10 min. góra.

Pozdrawiam,
Wojciech Masłoń

konto usunięte

Temat: Adres ciurkiem - jak oddzielić ?

Dla adresow ktore zawieraja slowo "ul." mozesz zastosowac ponizsze formuly. Dla pozostalych pokaze #value a te mozesz juz poprawic recznie.
Przyklad:
A1 = 12-123 Karwosieki Małe ul. Osiedlowa 16 m.5
B1 =LEFT(A1,6)
C1 =MID(A1,8,FIND("ul.",A1,1)-9)
D1 =RIGHT(A1,LEN(A1)-FIND("ul.",A1,1)+1)

Przecinki z miasta mozna usunac uzywajac narzedzia replace.
Tomasz Gryzio

Tomasz Gryzio Dyrektor
zarządzający/Trener/
Konsultant - It
School

Temat: Adres ciurkiem - jak oddzielić ?

Witam,
Zakładam, że adresy znajdują się w zakresie Arkusz2!A1:A36 (do testów przyjąłem kolumnę adres z http://pl.wikipedia.org/wiki/Pa%C5%84stwowe_wy%C5%BCsz... ).

Rozwiązanie nr 1:

Zakładam, że w zakresie Arkusz1!$A$1:$A$908 znajduje się lista wszystkich miast polskich ( http://pl.wikipedia.org/wiki/Miasta_w_Polsce_(statystyki) )

np.:
Aleksandrów Kujawski
Aleksandrów Łódzki
Alwernia
Andrychów
....

W komórkę Arkusz2!B1 wbijam tablicowo

=INDEKS(Arkusz1!$A$1:$A$908;PODAJ.POZYCJĘ(MIN(DŁ(PODSTAW(A1;Arkusz1!$A$1:$A$908;"")));DŁ(PODSTAW(A1;Arkusz1!$A$1:$A$908;""));0))

Przeciągam formułę w dół.

Formuła podstawia w danym adresie (21-500 Biała Podlaska ul. Sidorska 95/97) pod fragment tekstu będącykażdym możliwym miastem (Aleksandrów Kujawski Aleksandrów Łódzki Alwernia Andrychów...) ciąg pusty, oraz liczy liczbę znaków adresu po podstawieniu/skróceniu.
Z powyższego wynika, że adres (21-500 Biała Podlaska ul. Sidorska 95/97) dla miasta (Biała Podlaska), pod które zostanie podstawiony pusty ciąg adres (21-500 ul. Sidorska 95/97) zostanie "skrócony" najbardziej - wystarczy tylko złapać informację, które to miasto dla danego adresu skróciło go najbardziej.

Oczywiście formuła jest uzależniona od kompletności bazy z Arkusza1 - może będzie trzeba sięgnąć po: http://ksng.gugik.gov.pl/pliki/urzedowy_wykaz_nazw_mie... .

Plik: http://itschool.pl/goldenline/Miasta.xlsx

Rozwiązanie 2

Mając jak na tacy podane kody pocztowe, nie pozostaje nic innego jak zastosować wyszukaj.pionowo w zakresie z listą kodów pocztowych i miast do których są do nich przypisane: http://piotr.eldora.pl/bazy-danych-kody-pocztowe-imion....

Pozdrawiam!Ten post został edytowany przez Autora dnia 01.03.14 o godzinie 20:37



Wyślij zaproszenie do