Excel: Usuń pierwsze lub ostatnie znaki (od lewej lub prawej)

  • Udostępnij To
Michael Brown

Podczas pracy z nieuporządkowanymi danymi tekstowymi w arkuszach, często trzeba je parsować, aby pobrać odpowiednie informacje. Ten artykuł nauczy Cię kilku prostych sposobów na usunięcie dowolnej liczby znaków z lewej lub prawej strony ciągu tekstowego.

    Jak usunąć znaki z lewej strony w programie Excel

    Usuwanie pierwszych znaków z ciągu jest jednym z najczęstszych zadań w Excelu i można je wykonać za pomocą 3 różnych formuł.

    Usuń pierwszy znak w programie Excel

    Aby usunąć pierwszy znak z łańcucha, można użyć funkcji REPLACE lub kombinacji funkcji RIGHT i LEN.

    REPLACE( ciąg , 1, 1, "")

    Tutaj po prostu bierzemy 1 znak z pierwszej pozycji i zastępujemy go pustym ciągiem ("").

    PRAWDA( ciąg , LEN( ciąg ) - 1)

    W tej formule używamy funkcji LEN do obliczenia całkowitej długości ciągu i odejmujemy od niej 1 znak. Różnicę podajemy do PRAWEJ, więc wyciąga tyle znaków z końca ciągu.

    Na przykład, aby usunąć pierwszy znak z komórki A2, formuły przebiegają następująco:

    =REPLACE(A2, 1, 1, "")

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

    Usuń znaki z lewej strony

    Aby usunąć znaki wiodące z lewej strony ciągu, również używasz funkcji REPLACE lub RIGHT i LEN, ale określasz za każdym razem, ile znaków chcesz usunąć:

    REPLACE( ciąg , 1, num_chars , "")

    Lub

    PRAWDA( ciąg , LEN( ciąg ) - num_chars )

    Na przykład, aby usunąć 2 pierwsze znaki z ciągu w A2, wzory są:

    =REPLACE(A2, 1, 2, "")

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

    Aby usunąć pierwszy 3 znaki , wzory przyjmują taką postać:

    =REPLACE(A2, 1, 3, "")

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

    Poniższy zrzut ekranu pokazuje formułę REPLACE w akcji. Z RIGHT LEN wyniki byłyby dokładnie takie same.

    Funkcja własna do usuwania pierwszych n znaków

    Jeśli nie przeszkadza Ci używanie VBA w arkuszach, możesz stworzyć własną, zdefiniowaną przez użytkownika funkcję usuwającą znaki z początku łańcucha, o nazwie RemoveFirstChars Kod funkcji jest tak prosty jak poniżej:

    Function RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) End Function

    Po wstawieniu kodu do swojego skoroszytu (szczegółowa instrukcja znajduje się tutaj), możesz usunąć pierwsze n znaków z danej komórki za pomocą tej kompaktowej i intuicyjnej formuły:

    RemoveFirstChars(string, num_chars)

    Na przykład, aby usunąć pierwszy znak z ciągu w A2, wzór w B2 to:

    =RemoveFirstChars(A2, 1)

    Rozebrać się pierwsze dwa znaki z A3, wzór w B3 to:

    =RemoveFirstChars(A4, 2)

    Aby usunąć pierwsza trójka znaki z A4, wzór w B4 to:

    =RemoveFirstChars(A4, 3)

    Więcej o Używanie funkcji niestandardowych w programie Excel.

    Jak usunąć znaki z prawej strony

    Aby usunąć znaki z prawej strony ciągu, możesz również użyć natywnych funkcji lub utworzyć własne.

    Usuń ostatni znak w programie Excel

    Aby usunąć ostatni znak w komórce, ogólna formuła to:

    LEWA( ciąg , LEN( ciąg ) - 1)

    W tej formule odejmujesz 1 od całkowitej długości łańcucha i przekazujesz różnicę do funkcji LEWO, aby wyodrębniła tyle znaków z początku łańcucha.

    Na przykład, aby usunąć ostatni znak z komórki A2, formuła w B2 to:

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

    Usuń znaki z prawej strony

    Aby pozbawić daną liczbę znaków z końca komórki, ogólna formuła to:

    LEWA( ciąg , LEN( ciąg ) - num_chars )

    Logika jest taka sama jak w powyższym wzorze, a poniżej kilka przykładów.

    Aby usunąć ostatnie 3 znaki , użyj 3 dla num_chars :

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

    Aby usunąć ostatnie 5 znaków , dostawa 5 dla num_chars :

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

    Funkcja niestandardowa do usuwania ostatnich n znaków w programie Excel

    Jeśli chciałbyś mieć własną funkcję do usuwania dowolnej liczby znaków z prawej strony, dodaj ten kod VBA do swojego skoroszytu:

    Function RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) End Function

    Funkcja nosi nazwę RemoveLastChars a jego składnia nie wymaga prawie żadnych wyjaśnień:

    RemoveLastChars(string, num_chars)

    Aby przeprowadzić test terenowy, pozbądźmy się ostatnia postać w A2:

    =RemoveLastChars(A2, 1)

    Dodatkowo usuniemy ostatnie 2 znaki z prawej strony ciągu w A3:

    =RemoveLastChars(A3, 2)

    Aby usunąć ostatnie 3 znaki z komórki A4, formuła to:

    =RemoveLastChars(A4, 3)

    Jak widać na poniższym zrzucie ekranu, nasza niestandardowa funkcja działa genialnie!

    Jak usunąć znaki z prawej i lewej strony jednocześnie

    W sytuacji, gdy trzeba wymazać znaki po obu stronach ciągu, można albo uruchomić obie powyższe formuły sekwencyjnie, albo zoptymalizować pracę za pomocą funkcji MID.

    MID( ciąg , lewa _ znaki + 1, LEN( ciąg ) - ( lewa _ znaki + prawo _ znaki )

    Gdzie:

    • znaki_lewe - liczba znaków do usunięcia z lewej strony.
    • znaki_prawe - liczba znaków do usunięcia z prawej strony.

    Załóżmy, że chcesz wyodrębnić nazwę użytkownika z ciągu znaków takiego jak mailto:[email protected] W tym celu należy usunąć część tekstu z początku ( mailto: - 7 znaków) i od końca ( @gmail.com - 11 znaków).

    Podawaj powyższe liczby do wzoru:

    =MID(A2, 7+1, LEN(A2) - (7+10))

    ...a wynik nie każe ci czekać:

    Aby zrozumieć, co właściwie się tu dzieje, przypomnijmy sobie składnię funkcji MID, która służy do wyciągania podłańcucha o określonym rozmiarze ze środka oryginalnego ciągu:

    MID(tekst, start_num, num_chars)

    Na stronie tekst argument nie budzi żadnych wątpliwości - jest to ciąg źródłowy (w naszym przypadku A2).

    Aby uzyskać pozycję pierwszego znaku do wyodrębnienia ( start_num ), dodajesz 1 do liczby znaków, które mają być odjęte od lewej (7+1).

    Aby określić, ile znaków należy zwrócić ( num_chars ), obliczasz sumę usuniętych znaków (7 + 11) i odejmujesz ją od długości całego ciągu: LEN(A2) - (7+10)).

    Uzyskaj wynik w postaci liczby

    Niezależnie od tego, której z powyższych formuł użyjesz, wyjściem jest zawsze tekst, nawet jeśli zwracana wartość zawiera tylko liczby. Aby zwrócić wartość wynik jako liczba , albo zawiń formułę podstawową w funkcję VALUE, albo wykonaj jakąś operację matematyczną, która nie wpływa na wynik, np. pomnóż przez 1 lub dodaj 0. Ta technika jest szczególnie przydatna, gdy chcesz dalej obliczać wyniki.

    Załóżmy, że usunąłeś pierwszy znak z komórek A2:A6 i chcesz zsumować otrzymane wartości. Zadziwiające jest to, że banalna formuła SUM zwraca zero. Dlaczego tak jest? Oczywiście dlatego, że sumujesz ciągi znaków, a nie liczby. Wykonaj jedną z poniższych operacji i problem jest rozwiązany!

    =VALUE(REPLACE(A2, 1, 1, ""))

    =RIGHT(A2, LEN(A2) - 1) * 1

    =RemoveFirstChars(A2, 1) + 0

    Usuń pierwszy lub ostatni znak za pomocą funkcji Flash Fill

    W Excelu 2013 i nowszych wersjach istnieje jeszcze jeden prosty sposób na usunięcie pierwszych i ostatnich znaków w Excelu - funkcja Flash Fill.

    1. W komórce sąsiadującej z pierwszą komórką z oryginalnymi danymi wpisz pożądany wynik pomijając pierwszy lub ostatni znak z oryginalnego ciągu i naciśnij Enter .
    2. Zacznij wpisywać oczekiwaną wartość w następnej komórce. Jeśli Excel wyczuje wzór we wprowadzanych danych, zastosuje ten sam wzór w pozostałych komórkach i wyświetli podgląd Twoich danych bez pierwszego / ostatniego znaku.
    3. Wystarczy nacisnąć klawisz Enter, aby zaakceptować podgląd.

    Usuń znaki według pozycji za pomocą Ultimate Suite

    Tradycyjnie użytkownicy naszego Ultimate Suite poradzą sobie z tym zadaniem za pomocą kilku kliknięć, bez konieczności pamiętania garści różnych formuł.

    Aby usunąć pierwsze lub ostatnie n znaków z ciągu, to jest to, co musisz zrobić:

    1. Na Dane Ablebits zakładka, w Tekst grupa, kliknij Usuń > Usuń według pozycji .

  • W okienku dodatku wybierz zakres docelowy, określ ile znaków ma zostać usuniętych, a następnie naciśnij przycisk Usuń .
  • Na przykład, aby usunąć pierwszy znak, konfigurujemy następującą opcję:

    Oto jak usunąć podciąg z lewej lub prawej strony w Excelu. Dziękuję za przeczytanie i czekam na Ciebie na naszym blogu za tydzień!

    Dostępne pliki do pobrania

    Usuń pierwsze lub ostatnie znaki - przykłady (plik .xlsm)

    Ultimate Suite - wersja próbna (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.