Moje doświadczenia z Excelem, Accesem i programowaniem w VBA
Blog > Komentarze do wpisu

Porządkowanie danych w tabeli

Pierwsza część notki pokazująca mechanizm pobierania danych ze strony internetowej jest tu:
Pobieranie danych do tabeli
Mamy już tabelę, choć mało przydatną do dalszej analizy. Są wiersze oddzielające poszczególne listy kandydatów, przy poszczególnych kandydatach w jednej kolumnie są dane typu zawód, miejsce zamieszkania i przynależność do partii politycznej. Trudno będzie zrobić z tego np. porządną tabelą przestawną. Musimy najpierw trochę przestawić dane.

tabela Excela  

Warto tu zauważyć, że dane w kolumnie są wpisane zgodnie ze schematem: zawód, meijsce zamieszkania,przynależnosc do partii - oddzielone przecinkami. Wystarczy więc w takim łańcuchu odnaleźć miejsce przecinków, a następnie pobrać fragment tekstu.
W celu lepszego zilustrowania - na chwilę wstawię dodatkowe kolumny pomocnicze, związane z parametrami tekstu.

tabela Excela

DługośĆ tekstu komórki z kolumny D - wyznaczamy funkcją tekstową  Dł() .
Miejce pierwszego i drugiego przecinka - funkcją Szukaj.Tekst
W praktyce dla wiersza drugiego (pierwszy to nagłówek) - zapisy wygladają tak:
I2==DŁ(D2)
J2=SZUKAJ.TEKST(",";D2;1)
K2=SZUKAJ.TEKST(",";D2;J2+1)

Dla komórki K2 liczenie zaczynamy od pierwszego znaku za miejscem pierwszego przecinka.
Oczywiście komórki w kojenych wierszach - wyglądają analogoicznie. 

Wypełnienie kolumn  E, F i G jest teraz banalnie proste.
Zawód - to początek tekstu o długości o 1 mniejszej niż miejsce pierwszego przecinka. Korzystamy z funkcji Lewy()
np. E2=LEWY(D2;J2-1)
Miejsce zamieszkania - to fragment tekstu, liczony od miejsca za pierwszym przecinkiem, o długości równej róznicy miejsc obydwu przecinków. Korzystamy z funkcji Fragment.Tesktu()
np. F2=FRAGMENT.TEKSTU(D2;J2+1;K2-J2-1)
Przynależnośc partyjna - to koniec tekstu od drugiego przecinka,  o długości rónej różnicy długości całego tekstu, pomniejszonej o miejsce drugiego przecinka. Korzystawmy tu z funkcji Prawy()
np. G2=PRAWY(D2;I2-K2)

Na końcu pozostaje tylko zastosować kopiuj i wklej specjalnie jako tekst oraz usunąć to, co niepotrzebne. Wbrew pozorom - wcale nie jest to skomplikowane i nadaje sie do zastosowania przy pobieraniu danych z róznych stron w internecie.  

wtorek, 06 września 2011, marzatela













Polecane wpisy

TrackBack
TrackBack URL wpisu:
Komentarze
Gość: daga, *.dynamic.chello.pl
2011/12/16 21:52:22
chyba jaest jakis blad bowychodzi niepoprawnie jesli chodzi o miasto i patie
-
2011/12/18 09:15:49
@Daga
Na tym przykładzie chciałam pokazać mechanizm działania, jak sobie radzić w tego typu wyciąganiu danych. Zgodnie z tą zasadą - trzeba dopasować to do konkretnych rozwiązań. U mnie działalo.
Jaki efekt pojawił się u Ciebie? Czasem jedna spacja moze sporo namieszać.


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:

Wydawnictwo Strefa Kursów



ministat liczniki.org



Napisz do mnie!