Usuń białe znaki i inne znaki lub ciągi tekstowe w Google Sheets z wielu komórek jednocześnie

  • Udostępnij To
Michael Brown

Poznaj formuły i sposoby bez formuł, aby przyciąć białe przestrzenie, usunąć symbole specjalne (nawet pierwsze/ostatnie znaki N) i te same ciągi tekstowe przed/po określonych znakach z wielu komórek jednocześnie.

Usunięcie tego samego fragmentu tekstu z kilku komórek jednocześnie może być równie ważne i podchwytliwe, jak jego dodanie. Nawet jeśli znasz niektóre sposoby, to w dzisiejszym wpisie na blogu na pewno znajdziesz nowe. Dzielę się mnóstwem funkcji i ich gotowych formuł i jak zawsze najłatwiejsze - bez formuł - zapisuję na koniec ;)

    Formuły dla Arkuszy Google do usuwania tekstu z komórek

    Zacznę od standardowych funkcji dla Google Sheets, które usuną twoje ciągi tekstowe i znaki z komórek. Nie ma uniwersalnej funkcji do tego, więc podam różne formuły i ich kombinacje dla różnych przypadków.

    Google Sheets: usuń białe znaki

    Białe spacje mogą łatwo wślizgnąć się do komórek po imporcie lub jeśli wielu użytkowników edytuje arkusz w tym samym czasie. W rzeczywistości dodatkowe spacje są tak powszechne, że Google Sheets ma specjalne narzędzie Trim, aby usunąć wszystkie białe spacje.

    Wystarczy zaznaczyć wszystkie komórki Google Sheets, w których chcemy usunąć białe znaki i wybrać Data> Trim whitespace w menu arkusza kalkulacyjnego:

    Po kliknięciu tej opcji wszystkie wiodące i końcowe spacje w zaznaczeniu zostaną całkowicie usunięte, natomiast wszystkie dodatkowe spacje pomiędzy danymi zostaną zredukowane do jednego:

    Usuń inne znaki specjalne z ciągów tekstowych w Arkuszach Google

    Alas, Google Sheets nie oferuje narzędzia do "przycinania" innych znaków, ale spacji. Musisz poradzić sobie z formułami tutaj.

    Wskazówka. Albo zamiast tego użyj naszego narzędzia - Power Tools uwolni Twój zakres od dowolnych znaków, które określisz w kliknięciu, w tym od białych znaków.

    Tutaj zaadresowałem hashtagami przed numerami mieszkań i numerami telefonów z myślnikami i nawiasami pomiędzy nimi:

    Użyję formuł, aby usunąć te znaki specjalne.

    Pomoże mi w tym funkcja SUBSTITUTE, która normalnie służy do zastępowania jednego znaku drugim, ale można to obrócić na swoją korzyść i zastąpić niechciane znaki... no właśnie, niczym :) Innymi słowy, usunąć.

    Zobaczmy, jakiego argumentu wymaga funkcja:

    SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])
    • text_to_search jest albo tekstem do przetworzenia, albo komórką zawierającą ten tekst. Wymagane.
    • poszukiwanie_dla to ta postać, którą chcesz znaleźć i usunąć. Wymagane.
    • zastępować_z - znak, który wstawisz zamiast niechcianego symbolu. Wymagane.
    • zdarzenie_numer - jeśli istnieje kilka wystąpień szukanego znaku, tutaj możesz określić, które z nich zastąpić. Jest to całkowicie opcjonalne i jeśli pominiesz ten argument, wszystkie wystąpienia zostaną zastąpione czymś nowym ( wymienić_na ).

    Więc zagrajmy. Muszę znaleźć hashtag ( # ) w A1 i zastąpić go słowem "nic", które w arkuszach kalkulacyjnych oznaczane jest podwójnym cudzysłowem ( "" ).Mając to wszystko na uwadze, mogę zbudować następujący wzór:

    =SUBSTITUTE(A1, "#",")

    Wskazówka. hashtag jest również w podwójnych cudzysłowach, ponieważ w ten sposób należy wymieniać ciągi tekstowe w formułach Google Sheets.

    Następnie skopiuj tę formułę w dół kolumny, jeśli Google Sheets nie oferuje, aby zrobić to automatycznie, a otrzymasz swoje adresy bez hashtagów:

    Ale co z tymi kreskami i nawiasami? Czy powinieneś tworzyć dodatkowe formuły? Wcale nie! Jeśli zagnieździsz wiele funkcji SUBSTITUTE w jednej formule Google Sheets, usuniesz wszystkie te znaki z każdej komórki:

    =SUBSTYTUT(SUBSTYTUT(SUBSTYTUT(SUBSTYTUT(A1, "#","),"(","),"),"),"-",")

    Ta formuła usuwa znaki jeden po drugim, a każdy SUBSTYTUT, zaczynając od środka, staje się zakresem, na który należy patrzeć dla następnego SUBSTYTUTU:

    Wskazówka.Co więcej, możesz zawinąć to w ArrayFormula i pokryć całą kolumnę za jednym razem.W tym przypadku zmień odniesienie do komórki ( A1 ) do swoich danych w kolumnie ( A1:A7 ), jak również:

    =ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#","),"(","),"),"),"-",")))

    Usuń określony tekst z komórek w Google Sheets

    Choć do usuwania tekstu z komórek w Google Sheets można użyć wspomnianej wcześniej funkcji SUBSTITUTE, chciałbym pokazać także inną funkcję - REGEXREPLACE.

    Jego nazwa jest akronimem od 'regularne wyrażenie zastąpić'. I zamierzam użyć wyrażeń regularnych do wyszukiwania ciągów do usunięcia i zastąpienia ich ' nic" ( "" ).

    Wskazówka. Jeśli nie jesteś zainteresowany używaniem wyrażeń regularnych, opisuję znacznie łatwiejszy sposób na końcu tego wpisu na blogu.

    Jeśli szukasz sposobów na znalezienie i usunięcie duplikatów w Google Sheets, odwiedź ten wpis. REGEXREPLACE(text, regular_expression, replacement)

    Jak widać, są trzy argumenty do funkcji:

    • tekst - to miejsce, w którym szukasz łańcucha tekstowego do usunięcia. Może to być sam tekst w podwójnych cudzysłowach lub odwołanie do komórki/ zakresu z tekstem.
    • wyrażenie regularne - twój wzorzec wyszukiwania, który składa się z różnych kombinacji znaków. Będziesz szukał wszystkich łańcuchów, które pasują do tego wzorca. Ten argument jest miejscem, gdzie dzieje się cała zabawa, jeśli mogę tak powiedzieć.
    • wymiana - nowy, żądany ciąg tekstowy.

    Załóżmy, że moje komórki z danymi zawierają również nazwę kraju (. US ), jeśli różne miejsca w komórkach:

    Jak REGEXREPLACE pomoże mi go usunąć?

    =REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")

    Oto jak dokładnie działa ta formuła:

    • skanuje zawartość komórki A1
    • dla dopasowań do tej maski: "(.*)US(.*)"

      Maska ta mówi funkcji, aby szukała US bez względu na to, jaka liczba innych znaków może poprzedzać (.*) lub podążać za (.*) nazwa kraju.

      A całą maskę umieszczamy w cudzysłowie zgodnie z postulatami funkcji :)

    • ostatni argument -. "$1 $2" - jest tym, co chcę uzyskać zamiast tego. $1 oraz $2 każdy reprezentuje jedną z tych dwóch grup postaci - (.*) - Powinieneś wymienić te grupy w trzecim argumencie w ten sposób, aby formuła mogła zwrócić wszystko, co może stać przed i po US

      W odniesieniu do US sam, po prostu nie wymieniam go w 3 argumencie - to znaczy, że chcę zwrócić wszystko z A1 bez the US .

    Wskazówka. istnieje specjalna strona, do której możesz się odwołać, aby zbudować różne wyrażenia regularne i szukać tekstu w różnych pozycjach komórek.

    Wskazówka. co do tych pozostałych przecinków, to opisana wyżej funkcja SUBSTITUTE pomoże się ich pozbyć ;) można nawet obudować REGEXREPLACE funkcją SUBSTITUTE i rozwiązać wszystko jedną formułą:

    =SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",",")

    Usuń tekst przed/po określonych znakach we wszystkich wybranych komórkach

    Przykład 1. Funkcja REGEXREPLACE dla Google Sheets

    Jeśli chodzi o pozbycie się wszystkiego przed i po pewnych znakach, REGEXREPLACE również pomaga. Pamiętaj, że funkcja wymaga 3 argumentów:

    REGEXREPLACE(text, regular_expression, replacement)

    I jak wspomniałem wyżej, gdy wprowadziłem funkcję, to drugie powinieneś użyć poprawnie, aby funkcja wiedziała, co znaleźć i usunąć.

    Jak więc usunąć adresy i zachować w komórkach tylko numery telefonów?

    Oto formuła, z której będę korzystał:

    =REGEXREPLACE(A1,".*\n.*(\+.*)","$1")

    • Oto wyrażenie regularne, którego używam w tym przypadku: ".*\n.*(\+.*)"

      W pierwszej części -. .*\n.* - Używam odwrotny ukośnik+n aby powiedzieć, że moja komórka ma więcej niż jeden rząd. Więc chcę, aby funkcja usunęła wszystko przed i po tej przerwie w linii (łącznie z nią).

      Druga część, która jest w nawiasie (\+.*) mówi, że chcę zachować znak plusa i wszystko, co po nim następuje w stanie nienaruszonym. Biorę tę część w nawias, aby ją zgrupować i zachować w pamięci na później.

      Wskazówka: odwrotny ukośnik jest używany przed plusem, aby przekształcić go w szukany znak. Bez niego plus byłby tylko częścią wyrażenia, która oznacza jakieś inne znaki (jak na przykład gwiazdka).

    • Jeśli chodzi o ostatni argument - $1 - sprawia on, że funkcja zwraca tylko tę grupę z drugiego argumentu: znak plusa i wszystko, co po nim następuje (\+.*) .

    W podobny sposób można usunąć wszystkie numery telefonów, ale zachować adresy:

    =REGEXREPLACE(A1,"(.*\n).*","$1")

    Tylko tym razem mówisz funkcji, aby zgrupowała (i zwróciła) wszystko przed przerwą w linii i wyczyściła resztę:

    Przykład 2. PRAWO+LEN+FIND

    Istnieje jeszcze kilka funkcji Google Sheets, które pozwalają usunąć tekst przed określonym znakiem. Są to RIGHT, LEN i FIND.

    Uwaga. Te funkcje pomogą tylko wtedy, gdy rekordy do zachowania są tej samej długości, jak numery telefonów w moim przypadku. Jeśli nie są, po prostu użyj REGEXREPLACE zamiast lub, jeszcze lepiej, łatwiejszego narzędzia opisanego na końcu.

    Użycie tego tria w określonej kolejności pomoże mi uzyskać ten sam wynik i usunąć cały tekst przed znakiem - znakiem plus:

    =RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1)))

    Pozwól, że wyjaśnię, jak działa ta formuła:

    • FIND("+",A1)-1 lokalizuje numer pozycji znaku plus w A1 ( 24 ) i odejmuje 1, aby suma nie zawierała samego plusa: 23 .
    • LEN(A1)-(FIND("+",A1)-1) sprawdza całkowitą liczbę znaków w A1 ( 40 ) i odejmuje od niej 23 (liczone przez FIND): 17 .
    • A następnie PRAWDA zwraca 17 znaków od końca (prawej strony) A1.

    Niestety ten sposób nie pomoże zbytnio w usunięciu tekstu po przerwaniu linii w moim przypadku (wyczyść numery telefonów i zachowaj adresy), ponieważ adresy są różnej długości.

    No i dobrze, bo narzędzie na końcu i tak wykonuje tę pracę lepiej ;)

    Usuń pierwsze/ostatnie znaki N z ciągów w Arkuszach Google

    Zawsze, gdy trzeba usunąć określoną liczbę różnych znaków z początku lub końca komórki, pomocne będą również REGEXREPLACE i RIGHT/LEFT+LEN.

    Uwaga. Ponieważ wprowadziłem już te funkcje powyżej, skrócę ten punkt i podam kilka gotowych wzorów. Albo nie krępuj się wskoczyć do najprostszego rozwiązania opisanego na samym końcu.

    Jak więc mogę wymazać kody z tych numerów telefonów? Lub, innymi słowy, usunąć pierwsze 9 znaków z komórek:

    • Użyj REGEXREPLACE. Utwórz wyrażenie regularne, które znajdzie i usunie wszystko do 9. znaku (w tym ten 9. znak):

      =REGEXREPLACE(A1,"(.{9})(.*)","$2")

      .

      Wskazówka. Aby usunąć ostatnie N znaków, wystarczy zamienić grupy w wyrażeniu regularnym:

      =REGEXREPLACE(A1,"(.*)(.{9})","$1")

    • RIGHT/LEFT+LEN liczą również ilość znaków do usunięcia i zwrócenia pozostałej części odpowiednio z końca lub początku komórki:

      =RIGHT(A1,LEN(A1)-9)

      Wskazówka. aby usunąć z komórek ostatnie 9 znaków, zamień PRAWO na LEWO:

      =LEFT(A1,LEN(A1)-9)

    • Ostatnią, ale nie najmniej ważną funkcją jest REPLACE. Mówisz jej, aby wzięła 9 znaków zaczynając od lewej i zastąpiła je niczym ( "" ):

      =REPLACE(A1,1,9,"")

      Uwaga. Ponieważ REPLACE wymaga pozycji początkowej do przetworzenia tekstu, nie zrobi tego, jeśli trzeba usunąć N znaków z końca komórki.

    Bezformułowy sposób na usunięcie określonego tekstu w Arkuszach Google - dodatek Power Tools

    Funkcje i wszystko jest dobre, gdy masz czas do zabicia. Ale czy wiesz, że istnieje specjalne narzędzie, które obejmuje wszystkie wyżej wymienione sposoby i wszystko, co musisz zrobić, to wybrać wymagany przycisk radiowy? :) Żadnych formuł, żadnych dodatkowych kolumn - nie mógłbyś życzyć sobie lepszego pomocnika ;D

    Nie musisz wierzyć mi na słowo, po prostu zainstaluj Power Tools i zobacz to sam:

    1. Pierwsza grupa pozwala na. usuń wiele podciągów lub pojedynczych znaków z dowolnej pozycji we wszystkich wybranych komórkach jednocześnie:

  • Następny usuwa nie tylko spacje, ale także podziały linii, encje HTML & tagi oraz inne delimitery i znaki niedrukujące Wystarczy zaznaczyć wszystkie potrzebne pola wyboru i nacisnąć Usuń :
  • I wreszcie, istnieją ustawienia do usuwania tekstu w Google Sheets przez określoną pozycję, pierwsze/ostatnie N znaków lub przed/po znakach :
  • Kolejne narzędzie z Power Tools usunie jednostki czasu i daty z timestampów, nazywa się Split Date & Time:

    Co ma wspólnego narzędzie do dzielenia z usuwaniem jednostek czasu i daty? Otóż, aby usunąć czas z timestampów, należy wybrać Data ponieważ jest to część, którą chcesz zachować, a także odhaczyć Zastąpić dane źródłowe , tak jak na powyższym zrzucie ekranu.

    Narzędzie to wyodrębni jednostkę daty i zastąpi nią cały znacznik czasu. Lub, innymi słowy, ten dodatek do Google Sheets usunie jednostkę czasu ze znacznika czasu:

    Możesz mieć wszystkie te i ponad 30 innych oszczędzających czas arkuszy kalkulacyjnych instalując dodatek ze Sklepu Google. Pierwsze 30 dni jest całkowicie darmowe i w pełni funkcjonalne, więc masz czas, aby zdecydować, czy warto zainwestować.

    Jeśli masz jakieś pytania związane z jakąkolwiek częścią tego wpisu na blogu, to do zobaczenia w sekcji komentarzy poniżej!

    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.