Proporcjonalna czcionka Temat: Re: Jak odseparowac rozne fragmenty tekstu?, uzycie znaku cudzyslow?
Autor: strach Data: 09 Lut 2008
Odwołania: 1
"dmocha" <user@user.pl> wrote in message news:fohu39$7oh$1@nemesis.news.tpi.pl...
> Czesto korzystam z plików excela i csv w których mam kilka kolumn z > różnymi danymi. > Czy jest sposób (formuła) żeby z ciągu tekstowego zawartego w jednej > komórce wybrać konkretne ciągi znaków i umiejscowić je w osobnych > komórkach w tym samym wierszu (obok). > Np. mam tekst w komórce a1: > C1710102 - nazwa oddział 50 w Suchej Woli (93-200 Sucha Wola, > Kowalskiego 1) > Chciałbym z niego wybrać osobno 4 pozycje: > C1710102 > oddział 50 > 93-200 Sucha Wola > Kowalskiego 1
Wykorzystaj funkcję zwracającą pozycję danego znaku w tekście: 1. Symbol uzyskasz wycinając z tekstu wszystko przed pierwszym myślnikiem, minus jeden znak bo to spacja 2. Oddział uzyskasz wycinając z tekstu wszystko za drugą spacją po pierwszym myślniku, aż do drugiej spacji następującej od tego miejsca (czyli dwa słowa) 3. Kod pocztowy i miejscowość - tekst od nawiasu do przecinka 4. Ulica i nr - tekst od przecinka do końca minus 1 znak bo to nawias zamykający Zakładam, że tekst masz w komórce A2. Wpisz formuły: do B2: =ZNAJDŹ("-";$A2) do C2: =ZNAJDŹ(" ";$A2;B2+2)+1 do D2: =ZNAJDŹ(" ";$A2;C2)+1 do E2: =ZNAJDŹ(" ";$A2;D2)+1 do F2: =ZNAJDŹ("(";$A2;E2)+1 do G2: =ZNAJDŹ(",";$A2;F2) do H2: =LEWY($A2;B2-1) do I2: =FRAGMENT.TEKSTU($A2;C2;E2-C2-1) do J2: =FRAGMENT.TEKSTU($A2;F2;G2-F2) do K2: =FRAGMENT.TEKSTU($A2;G2+2;DŁ($A2)-G2-2) Ukryj kolumny pomocnicze B do G. To rozwiązanie jest mocno wrażliwe na układ tekstu, np. jeśli nazwa oddziału będzie więcej niż dwuwyrazowa, będą skopiowane tylko dwa słowa, a jeśli po nazwie miejscowości w nawiasie nie będzie przecinka przed ulicą (lub nie będzie któregoś nawiasu), formuły zwrócą błędy. Musisz wyszukać uniwersalne (spełnione zawsze) reguły i odpowiednio dopasować sobie formuły, albo spróbować wymusić na dostawcy źródła danych spójny format.
> Druga sprawa (częściowo związana z powyższym), łącząc komórki funkcją: > =ZŁĄCZ.TEKSTY(D4;" tekst ";E4;" szt - ";B4) > chciałbym użyć np. zamiast słowa tekst, jednego znaku cudzysłów czyli: > =ZŁĄCZ.TEKSTY(D4;" " ";E4;" szt - ";B4) > Program nie pozwala na taki zapis. W jaki sposób muszę oznaczyć taki > znak?
Wpisz dwa cudzysłowy zamiast jednego:
> =ZŁĄCZ.TEKSTY(D4;" "" ";E4;" szt - ";B4)
strach