Excel: Dzielenie łańcucha według ogranicznika lub wzoru, oddzielanie tekstu i liczb

  • Udostępnij To
Michael Brown

Samouczek wyjaśnia jak dzielić komórki w Excelu za pomocą formuł i funkcji Podziel tekst. Dowiesz się jak oddzielać tekst przecinkiem, spacją lub innym ogranicznikiem oraz jak dzielić ciągi na tekst i liczby .

Dzielenie tekstu z jednej komórki na kilka komórek to zadanie, z którym raz na jakiś czas mają do czynienia wszyscy użytkownicy Excela. W jednym z naszych wcześniejszych artykułów omawialiśmy, jak dzielić komórki w Excelu za pomocą funkcji Tekst do kolumny funkcja i Wypełnienie błyskowe Dzisiaj przyjrzymy się dogłębnie, jak można dzielić ciągi za pomocą formuł i Tekst dzielony narzędzie.

    Jak podzielić tekst w Excelu za pomocą formuł

    Aby podzielić ciąg w Excelu, zazwyczaj używasz funkcji LEWO, PRAWO lub MID w połączeniu z funkcją FIND lub SEARCH. Na pierwszy rzut oka niektóre formuły mogą wyglądać na skomplikowane, ale logika jest w rzeczywistości dość prosta, a poniższe przykłady dadzą ci kilka wskazówek.

    Podziel łańcuch przez przecinek, średnik, ukośnik, myślnik lub inny ogranicznik.

    Podczas dzielenia komórek w Excelu kluczem jest zlokalizowanie pozycji delimitera w ciągu tekstowym. W zależności od zadania można to zrobić za pomocą funkcji SEARCH lub FIND. Po uzyskaniu pozycji delimitera należy użyć funkcji RIGHT, LEFT lub MID, aby wyodrębnić odpowiednią część ciągu tekstowego. Aby lepiej zrozumieć, rozważmy następujące elementyprzykład.

    Załóżmy, że masz listę SKU o wartości Pozycja - Kolor - Rozmiar wzór, i chcesz podzielić kolumnę na 3 oddzielne kolumny:

    1. Aby wyodrębnić nazwa przedmiotu (wszystkie znaki przed 1. myślnikiem), wstawiamy w B2 następującą formułę, a następnie kopiujemy ją w dół kolumny:

      =LEFT(A2, SZUKAJ("-",A2,1)-1)

      W tym wzorze funkcja SEARCH określa pozycję 1. myślnika ("-") w ciągu, a funkcja LEFT wydobywa wszystkie znaki na lewo od niego (od pozycji myślnika odejmujesz 1, bo nie chcesz wydobywać samego myślnika).

    2. Aby wyodrębnić kolor (wszystkie znaki między 1. i 2. myślnikiem), wprowadź w C2 następującą formułę, a następnie skopiuj ją w dół do innych komórek:

      =MID(A2, SZUKAJ("-",A2) + 1, SZUKAJ("-",A2,SZUKAJ("-",A2)+1) - SZUKAJ("-",A2) - 1)

      W tej formule używamy funkcji MID Excela do wyodrębnienia tekstu z A2.

      Pozycja początkowa i liczba znaków do wydobycia są obliczane za pomocą 4 różnych funkcji SEARCH:

      • Numer początkowy to pozycja pierwszego myślnika +1:

        SZUKAJ("-",A2) + 1

      • Liczba znaków do wyodrębnienia : różnica między położeniem 2. myślnika i 1. myślnika, minus 1:

        SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1

    3. Aby wyodrębnić rozmiar (wszystkie znaki po trzecim myślniku), wprowadź w D2 następującą formułę:

      =RIGHT(A2,LEN(A2) - SEARCH("-", A2, SEARCH("-", A2) + 1))

      W tym wzorze funkcja LEN zwraca całkowitą długość ciągu, od której odejmujesz pozycję 2. myślnika. Różnica to liczba znaków po 2. myślniku, a funkcja PRAWDA je wyciąga.

    W podobny sposób można podzielić kolumnę po dowolnym innym znaku, wystarczy zastąpić "-" wymaganym delimiterem, np. przestrzeń (" "), przecinek (","), ukośnik ("/"), okrężnica (";"), średnik (";"), i tak dalej.

    Wskazówka. W powyższych formułach, +1 i -1 odpowiadają liczbie znaków w delimiterze. W tym przykładzie jest to myślnik (1 znak). Jeśli Twój delimiter składa się z 2 znaków, np. przecinka i spacji, to do funkcji SZUKAJ podaj tylko przecinek (",") i użyj +2 i -2 zamiast +1 i -1.

    Jak podzielić ciąg przez przerwę w linii w programie Excel

    Aby podzielić tekst według spacji, należy użyć formuł podobnych do tych zademonstrowanych w poprzednim przykładzie. Jedyna różnica polega na tym, że do dostarczenia znaku przerwy między wierszami potrzebna będzie funkcja CHAR, ponieważ nie można go wpisać bezpośrednio w formule.

    Zakładając, że komórki, które chcesz podzielić, wyglądają podobnie do tego:

    Weźmy formuły z poprzedniego przykładu i zamieńmy myślnik ("-") na CHAR(10), gdzie 10 jest kodem ASCII dla Line feed.

    A tak wygląda efekt końcowy:

    Jak podzielić tekst i liczby w programie Excel

    Na początek nie ma uniwersalnego rozwiązania, które działałoby dla wszystkich ciągów alfanumerycznych. To, której formuły użyć, zależy od konkretnego wzoru ciągu. Poniżej znajdziesz formuły dla dwóch typowych scenariuszy.

    Podziel łańcuch na wzór 'tekst + liczba'

    Załóżmy, że masz kolumnę ciągów z tekstem i liczbami połączonymi, gdzie liczba zawsze następuje po tekście. Chcesz złamać oryginalne ciągi, aby tekst i liczby pojawiły się w oddzielnych komórkach, tak jak to:

    Efekt ten można osiągnąć na dwa różne sposoby.

    Metoda 1: Policz cyfry i wyodrębnij tyle znaków

    Najprostszym sposobem na podzielenie ciągu tekstowego, w którym liczba pojawia się po tekście, jest to:

    Do wypisać numery , wyszukujesz ciąg dla każdej możliwej liczby od 0 do 9, otrzymujesz liczby całkowite i zwracasz tyle znaków od końca ciągu.

    Mając oryginalny ciąg w A2, formuła przebiega następująco:

    =RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))

    Do wyciągnąć tekst , obliczasz ile znaków tekstowych zawiera łańcuch, odejmując liczbę wyodrębnionych cyfr (C2) od całkowitej długości oryginalnego łańcucha w A2. Następnie używasz funkcji LEWO, aby zwrócić tyle znaków z początku łańcucha.

    =LEFT(A2,LEN(A2)-LEN(C2))

    Gdzie A2 to oryginalny ciąg, a C2 to wyodrębniony numer, jak pokazano na zrzucie ekranu:

    Metoda 2: Znajdź pozycję pierwszej cyfry w ciągu

    Alternatywnym rozwiązaniem byłoby użycie następującego wzoru do określenia pozycji pierwszej cyfry w ciągu:

    =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))

    Po znalezieniu pozycji pierwszej cyfry można dzielić tekst i liczby za pomocą bardzo prostych formuł LEFT i RIGHT.

    Aby wyodrębnić tekst :

    =LEWA(A2, B2-1)

    Aby wyodrębnić numer :

    =RIGHT(A2, LEN(A2)-B2+1)

    Gdzie A2 to oryginalny ciąg, a B2 to pozycja pierwszej liczby.

    Aby pozbyć się kolumny pomocniczej trzymającej pozycję pierwszej cyfry, można osadzić formułę MIN w funkcjach LEFT i RIGHT:

    Wzór na ekstrakcję tekst :

    =LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)

    Wzór do ekstrakcji numery :

    =RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)

    Podziel łańcuch na wzór 'liczba + tekst'

    Jeśli dzielisz komórki, w których po numerze pojawia się tekst, możesz wyciągać numery o następującym wzorze:

    =LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}, ""))))

    Formuła jest podobna do tej omówionej w poprzednim przykładzie, z tą różnicą, że do uzyskania liczby z lewej strony ciągu używasz funkcji LEFT zamiast RIGHT.

    Jak już będziesz miał te liczby, wyciąg tekst poprzez odjęcie liczby cyfr od całkowitej długości oryginalnego ciągu:

    =RIGHT(A2,LEN(A2)-LEN(B2))

    Gdzie A2 to oryginalny ciąg, a B2 to wyodrębniony numer, jak pokazano na poniższym zrzucie ekranu:

    Wskazówka. Aby uzyskać numer z dowolna pozycja w łańcuchu tekstowym , użyj tego wzoru lub narzędzia Extract.

    W ten sposób można podzielić ciągi w Excelu, używając różnych kombinacji różnych funkcji. Jak widzisz, formuły są dalekie od oczywistych, więc możesz chcieć pobrać przykładowy skoroszyt Excel Split Cells, aby zbadać je bliżej.

    Jeśli rozgryzanie arkana pokrętnych formuł Excela nie jest Twoim ulubionym zajęciem, może spodoba Ci się wizualna metoda dzielenia komórek w Excelu, którą zademonstrujemy w kolejnej części tego poradnika.

    Jak podzielić komórki w Excelu za pomocą narzędzia Podziel tekst

    Alternatywnym sposobem podziału kolumny w programie Excel jest użycie funkcji Podziel tekst dołączonej do naszego pakietu Ultimate Suite for Excel, która zapewnia następujące opcje:

      Aby wszystko było jasne, przyjrzyjmy się bliżej każdej opcji, po kolei.

      Podziel komórki według znaków

      Wybierz tę opcję zawsze, gdy chcesz podzielić zawartość komórki na każde wystąpienie określonego znaku .

      Dla tego przykładu, weźmy ciągi z Pozycja - Kolor - Rozmiar wzór, który wykorzystaliśmy w pierwszej części tego tutorialu. Jak zapewne pamiętasz, rozdzieliliśmy je na 3 różne kolumny za pomocą 3 różnych formuł. A oto jak możesz osiągnąć ten sam rezultat w 2 szybkich krokach:

      1. Zakładając, że masz zainstalowany pakiet Ultimate Suite, zaznacz komórki do podziału i kliknij przycisk Tekst dzielony ikona na Dane Ablebits tab.

      2. Na stronie Tekst dzielony Po prawej stronie okna programu Excel otworzy się okienko, w którym wykonujesz następujące czynności:
        • Rozwiń Podział według znaków i wybierz jeden z predefiniowanych ograniczników lub wpisz dowolny inny znak w grupie Niestandardowe pudełko.
        • Wybierz, czy komórki mają być podzielone na kolumny czy wiersze.
        • Przejrzyj wynik pod Podgląd i kliknij przycisk Podziel się przycisk.

      Wskazówka. Jeśli w komórce może znajdować się kilka kolejnych ograniczników (na przykład więcej niż jeden znak spacji), należy wybrać opcję Traktuj kolejne delimitery jako jeden pudełko.

      Zadanie, które wymagało 3 formuł i 5 różnych funkcji, teraz zajmuje tylko kilka sekund i kliknięcie przycisku.

      Podziel komórki według ciągu znaków

      Ta opcja pozwala na dzielenie łańcuchów przy użyciu dowolna kombinacja znaków Technicznie rzecz biorąc, dzielisz łańcuch na części używając jednego lub kilku różnych podłańcuchów jako granic każdej części.

      Na przykład, aby podzielić zdanie przez spójniki " oraz " i " lub ", rozwiń Podział na ciągi grupę, i wprowadź łańcuchy ograniczające, po jednym w każdym wierszu:

      W rezultacie fraza źródłowa jest rozdzielana przy każdym wystąpieniu każdego delimitera:

      Wskazówka. Znaki "lub" oraz "i" mogą być często częścią słów takich jak "pomarańcza" lub "Andaluzja", więc należy pamiętać o wpisaniu przestrzeń przed i po oraz oraz lub aby zapobiec dzieleniu słów.

      A tu kolejny, realny przykład. Załóżmy, że zaimportowałeś z zewnętrznego źródła kolumnę dat, które wyglądają następująco:

      5.1.2016 12:20

      5.2.2016 14:50

      Ten format nie jest konwencjonalny dla Excela, dlatego żadna z funkcji Data nie rozpoznałaby żadnego z elementów daty ani godziny. Aby rozdzielić dzień, miesiąc, rok, godziny i minuty na osobne komórki, wpisz następujące znaki w polu Podział na ciągi pudełko:

      • Kropka (.) do oddzielenia dnia, miesiąca i roku
      • Dwukropek (:) do oddzielenia godzin i minut
      • Miejsce na oddzielenie daty i godziny

      Uderz w Podziel się przycisk, a natychmiast otrzymasz wynik:

      Podziel komórki według maski (wzoru)

      Wydzielenie komórki przez maskę oznacza podział ciągu znaków na podstawie wzoru .

      Opcja ta jest bardzo przydatna, gdy trzeba podzielić listę jednorodnych łańcuchów na pewne elementy, czyli podłańcuchy. Komplikacja polega na tym, że tekst źródłowy nie może być dzielony przy każdym wystąpieniu danego delimitera, tylko przy określonym wystąpieniu (określonych wystąpieniach). Poniższy przykład ułatwi zrozumienie sprawy.

      Przypuszczając, że masz listę ciągów wyodrębnionych z jakiegoś pliku dziennika:

      Chcesz mieć datę i czas, jeśli w ogóle, kod błędu i szczegóły wyjątku w 3 oddzielnych kolumnach. Nie możesz użyć spacji jako separatora, ponieważ istnieją spacje między datą i godziną, które powinny pojawić się w jednej kolumnie, a także istnieją spacje w tekście wyjątku, które również powinny pojawić się w jednej kolumnie.

      Rozwiązaniem jest podzielenie ciągu przez następującą maskę: *ERROR:* *Wyjątek:*

      Gdzie gwiazdka (*) oznacza dowolną liczbę znaków.

      Kolczyki (:) są zawarte w delimitatorach, ponieważ nie chcemy, aby pojawiły się w komórkach wynikowych.

      A teraz, rozwiń Podział według maski sekcja na Tekst dzielony wpisz maskę w okienku Wprowadź delimitery i kliknij Podziel się :

      Wynik będzie wyglądał podobnie do tego:

      Uwaga. Dzielenie łańcucha na maski jest rozróżnianie wielkości liter Należy więc pamiętać, aby wpisywać znaki w masce dokładnie tak, jak występują one w łańcuchach źródłowych.

      Dużą zaletą tej metody jest elastyczność. Na przykład, jeśli wszystkie oryginalne ciągi mają wartości daty i czasu, i chcesz, aby pojawiły się w różnych kolumnach, użyj tej maski:

      * *ERROR:* Wyjątek:*

      Przetłumaczona na zwykły angielski, maska instruuje dodatek, aby podzielić oryginalne ciągi na 4 części:

      • Wszystkie znaki przed pierwszą spacją znalezione w ciągu (data)
      • Znaki pomiędzy pierwszą spacją a słowem ERROR: (czas)
      • Tekst pomiędzy ERROR: oraz Wyjątek: (kod błędu)
      • Wszystko, co następuje po Wyjątek: (tekst wyjątku)

      Mam nadzieję, że podobał Ci się ten szybki i prosty sposób na dzielenie ciągów w Excelu. Jeśli jesteś ciekawy, czy chcesz spróbować, wersja ewaluacyjna jest dostępna do pobrania poniżej. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu!

      Dostępne pliki do pobrania

      Formuły podziału komórek w Excelu (plik .xlsx)

      Ultimate Suite 14-dniowa w pełni funkcjonalna wersja (plik .exe)

      Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.