Excel – Jak wyciągnąć fragment tekstu o różnej długości

Jeżeli chcemy rozdzielić tekst składający się z kilku elementów o nieregularnej długości, ale rozdzielany taką samą częścią wspólną, możemy wykorzystać jedną z niżej przedstawionych metod:

  1. Tekst jako kolumny
  2. Połączenie funkcji ZNAJDŹ, FRAGMENT.TEKSTU oraz DŁ.

Przykład.

Spróbujmy rozdzielić poniższy tekst:

Tekst zawsze składa się z 5 elementów rozdzielanych „_”, ale elementy te są już o różnej, nieregularnej długości.

Metoda 1. Tekst jako kolumny

  1. Zaznaczamy tekst (kolumnę), który chcemy rozdzielić,
  2. Przechodzimy do zakładki DANE i wybieramy opcje „Tekst jako kolumny”.

3. Wybieramy opcje „Rozdzielany”, gdyż tekst ma nieregularną długość.

4. Definiujemy znacznik, którym rozdzielany jest nasz tekst. W tym wypadku wybieramy opcje Inne gdzie wpisujemy „_” .

5. W trzecim kroku kreatora wybieramy format dla poszczególnych kolumn lub klikamy zakończ, jeżeli nie potrzeba dokonywać żadnych zmian.

6. Tekst został rozdzielony

Metoda 2 Połączenie funkcji ZNAJDŹ, FRAGMENT.TEKSTU oraz DŁ.

Aby rozbić tekst POLSKA_WARSZAWA_4984_695444_203 na elementy składowe najpierw należy zlokalizować na których miejscach znajdują się poszczególne rozdzielające elementy czyli„_”. Do tego idealnie posłuży funkcja Znajdź.

Pierwszy „_” znajdziemy wpisując w komórkę B2 =ZNAJDŹ(„_”;$A2;1).

Drugi „_” znajdziemy w ten sam sposób, jednak jako ostatni argument funkcji Znajdź wpiszemy wartość B2+1, aby rozpoczął poszukiwanie „_” dopiero od następnego znaku, po którym znaleźliśmy pierwszy „_”. Funkcja będzie wyglądać w następujący sposób C2=ZNAJDŹ(„_”;$A2;B2+1). Kolejne „_” będziemy znajdować analogicznie, ale wykorzystując jako ostatni argument miejsce wcześniejszego „_” + 1

Trzeci „_”=ZNAJDŹ(„_”;$A2;C2+1)

Czwarty „_” =ZNAJDŹ(„_”;$A2;D2+1)

Na koniec przyda nam się jeszcze łączna ilość znaków a do tego posłuży funkcja DŁ(A2).

Mając już wszystkie lokalizacje rozdzielników możemy przystąpić do wyciągania składowych. I tak pierwszy człon w komórce G2 wyciągniemy za pomocą funkcji =FRAGMENT.TEKSTU(A2;1;B2-1), czyli wskazujemy, że interesuje nas tekst w komórce A2. Tekst rozpoczyna się od 1 znaku i ma długość 7-1 czyli pozycja pierwszego „_” odjąć 1 ponieważ pierwszy człon kończy się fragment wcześniej.

Kolejne elementy wyciągamy analogicznie, gdzie jako początek tekstu wskazujemy miejsce poprzedzającego „_” + 1, a ilość znaków to będzie różnica pomiędzy poprzedzającym i następującym „_” odjąć 1.

2 wyraz =FRAGMENT.TEKSTU(A2;B2+1;C2-B2-1)

3 wyraz =FRAGMENT.TEKSTU(A2;C2+1;D2-C2-1)

4 wyraz =FRAGMENT.TEKSTU(A2;D2+1;E2-D2-1)

5 wyraz =FRAGMENT.TEKSTU(A2;E2+1;F2-E2) – Ostatni wyraz jest już trochę inny ponieważ tutaj już nie mamy znaku rozdzielającego a ostatni znak jest też ostatnim znakiem ostatniej części, więc nie musimy już odejmować 1.

Mając gotową funkcję dla pierwszego wiersza należy ją przeciągnąć również na pozostałe.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *