Odstránenie bielych znakov a iných znakov alebo textových reťazcov v hárkoch Google z viacerých buniek naraz

  • Zdieľajte To
Michael Brown

Naučte sa vzorce a spôsoby bez vzorcov na orezávanie bielych znakov, odstraňovanie špeciálnych symbolov (dokonca aj prvých/posledných znakov N) a rovnakých textových reťazcov pred/za určitými znakmi z viacerých buniek naraz.

Odstránenie tej istej časti textu z viacerých buniek naraz môže byť rovnako dôležité a zložité ako jeho pridanie. Aj keď niektoré spôsoby poznáte, v dnešnom príspevku určite nájdete nové. Podelím sa s vami o množstvo funkcií a ich hotových vzorcov a ako vždy, to najjednoduchšie - bez vzorcov - si nechávam na záver ;)

    Vzorce pre tabuľky Google na odstránenie textu z buniek

    Začnem štandardnými funkciami pre tabuľky Google, ktoré odstránia vaše textové reťazce a znaky z buniek. Neexistuje na to žiadna univerzálna funkcia, preto uvediem rôzne vzorce a ich kombinácie pre rôzne prípady.

    Tabuľky Google: odstránenie bielych znakov

    Biele medzery sa môžu ľahko dostať do buniek po importe alebo ak hárok upravuje viac používateľov súčasne. V skutočnosti sú medzery navyše také časté, že aplikácia Tabuľky Google má špeciálny nástroj Trim na odstránenie všetkých bielych medzier.

    Stačí vybrať všetky bunky hárkov Google, z ktorých chcete odstrániť biele znaky, a vybrať Data> Orezávanie bielych znakov v ponuke tabuľky:

    Po kliknutí na túto možnosť sa úplne odstránia všetky úvodné a koncové medzery vo výbere, zatiaľ čo všetky ďalšie medzery medzi údajmi sa zmenšia na jednu:

    Odstránenie ďalších špeciálnych znakov z textových reťazcov v hárkoch Google

    Bohužiaľ, tabuľky Google neponúkajú nástroj na "orezanie" iných znakov ako medzier. Musíte sa tu zaoberať vzorcami.

    Tip. Alebo namiesto toho použite náš nástroj - Power Tools uvoľní váš rozsah od všetkých znakov, ktoré zadáte kliknutím, vrátane bielych znakov.

    Tu som sa obrátil s hashtagmi pred číslami bytov a telefónnymi číslami s pomlčkami a zátvorkami medzi nimi:

    Na odstránenie týchto špeciálnych znakov použijem vzorce.

    Pomôže mi s tým funkcia SUBSTITUTE. Bežne sa používa na nahradenie jedného znaku iným, ale vy to môžete obrátiť vo svoj prospech a nahradiť nechcené znaky... no, ničím :) Inými slovami, odstrániť.

    Pozrime sa, aký argument funkcia vyžaduje:

    SUBSTITUTE(text_do_search, search_for, replace_with, [číslo_výskytu])
    • text_to_search je buď text, ktorý sa má spracovať, alebo bunka, ktorá tento text obsahuje. Požadované.
    • search_for je ten znak, ktorý chcete nájsť a vymazať. Požadované.
    • replace_with - znak, ktorý vložíte namiesto neželaného symbolu. Požadované.
    • occurrence_number - ak existuje viacero výskytov hľadaného znaku, môžete tu určiť, ktorý z nich sa má nahradiť. Je to úplne nepovinné a ak tento argument vynecháte, všetky výskyty budú nahradené niečím novým ( replace_for ).

    Tak sa poďme hrať. Musím nájsť hashtag ( # ) v A1 a nahradiť ho slovom "nič", ktoré je v tabuľkách označené dvojitými úvodzovkami ( "" ). S ohľadom na to všetko môžem zostaviť nasledujúci vzorec:

    =SUBSTITUTE(A1, "#","")

    Tip. Hashtag je tiež v dvojitých úvodzovkách, pretože takto by ste mali uvádzať textové reťazce vo vzorcoch v tabuľkách Google.

    Potom skopírujte tento vzorec do stĺpca, ak to Tabuľky Google neponúkajú automaticky, a získate adresy bez hashtagov:

    Ale čo tie pomlčky a zátvorky? Mali by ste vytvárať ďalšie vzorce? Vôbec nie! Ak do jedného vzorca v tabuľke Google Sheets vložíte viacero funkcií SUBSTITUTE, odstránite všetky tieto znaky z každej bunky:

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

    Tento vzorec odstraňuje znaky jeden po druhom a každý SUBSTITUTE, počnúc od stredu, sa stáva rozsahom, na ktorý sa pozrie ďalší SUBSTITUTE:

    Tip. Navyše to môžete zabaliť do ArrayFormula a pokryť celý stĺpec naraz. V tomto prípade zmeňte odkaz na bunku ( A1 ) k údajom v stĺpci ( A1:A7 ):

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

    Odstránenie konkrétneho textu z buniek v hárkoch Google

    Hoci na odstránenie textu z buniek môžete použiť vyššie uvedenú funkciu SUBSTITUTE pre tabuľky Google, rád by som ukázal aj ďalšiu funkciu - REGEXREPLACE.

    Jeho názov je skratkou z "regulárneho výrazu nahradiť". A ja budem pomocou regulárnych výrazov vyhľadávať reťazce, ktoré chcem odstrániť a nahradiť ich ' nič' ( "" ).

    Tip: Ak nemáte záujem používať regulárne výrazy, na konci tohto príspevku popisujem oveľa jednoduchší spôsob.

    Tip: Ak hľadáte spôsoby, ako nájsť a odstrániť duplikáty v hárkoch Google, navštívte radšej tento príspevok na blogu. REGEXREPLACE(text, regular_expression, replacement)

    Ako vidíte, funkcia má tri argumenty:

    • text - je miesto, kde hľadáte textový reťazec, ktorý chcete odstrániť. Môže to byť samotný text v dvojitých úvodzovkách alebo odkaz na bunku/oblasť s textom.
    • regular_expression - váš vyhľadávací vzor, ktorý sa skladá z rôznych kombinácií znakov. Budete hľadať všetky reťazce, ktoré sa zhodujú s týmto vzorom. Ak to môžem povedať, práve v tomto argumente sa odohráva celá zábava.
    • náhradný - nový požadovaný textový reťazec.

    Predpokladajme, že moje bunky s údajmi obsahujú aj názov krajiny ( US ), ak sú na rôznych miestach v bunkách:

    Ako mi REGEXREPLACE pomôže odstrániť ho?

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

    Tu je presný postup, ako tento vzorec funguje:

    • prehľadá obsah bunky A1
    • pre zhody s touto maskou: "(.*)US(.*)"

      Táto maska hovorí funkcii, aby hľadala US bez ohľadu na počet ďalších znakov, ktoré môžu nasledovať (.*) alebo sledujte (.*) názov krajiny.

      A celá maska je podľa požiadaviek funkcie umiestnená do dvojitých úvodzoviek :)

    • posledný argument - "$1 $2" - je to, čo chcem získať namiesto toho. $1 a $2 každá z nich predstavuje jednu z týchto 2 skupín znakov - (.*) - z predchádzajúceho argumentu. Týmto spôsobom by ste mali tieto skupiny uviesť v treťom argumente, aby vzorec mohol vrátiť všetko, čo prípadne stojí pred a za US

      Pokiaľ ide o US samotný, jednoducho ho neuvádzam v 3. argumente - to znamená, že chcem vrátiť všetko z A1 bez . US .

    Tip: Existuje špeciálna stránka, na ktorú sa môžete odvolať a na ktorej môžete zostaviť rôzne regulárne výrazy a hľadať text v rôznych pozíciách buniek.

    Tip: Pokiaľ ide o tie zvyšné čiarky, pomôže vám zbaviť sa ich vyššie popísaná funkcia SUBSTITUTE ;) Dokonca môžete k funkcii SUBSTITUTE pripojiť aj REGEXREPLACE a všetko vyriešiť jedným vzorcom:

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

    Odstránenie textu pred/za určitými znakmi vo všetkých vybraných bunkách

    Príklad 1. Funkcia REGEXREPLACE pre tabuľky Google

    Ak sa chcete zbaviť všetkého pred a za určitými znakmi, pomôže vám aj funkcia REGEXREPLACE. Nezabudnite, že funkcia vyžaduje 3 argumenty:

    REGEXREPLACE(text, regulárny_výraz, náhrada)

    A ako som už spomenul vyššie pri predstavovaní funkcie, práve druhý z nich by ste mali použiť správne, aby funkcia vedela, čo má nájsť a odstrániť.

    Ako teda môžem odstrániť adresy a ponechať v bunkách len telefónne čísla?

    Tu je vzorec, ktorý použijem:

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

    • Tu je regulárny výraz, ktorý v tomto prípade používam: ".*\n.*(\+.*)"

      V prvej časti - .*\n.* - Používam spätné lomítko+n aby som zistil, že moja bunka má viac ako jeden riadok. Preto chcem, aby funkcia odstránila všetko pred a za týmto zlomom riadku (vrátane neho).

      Druhá časť, ktorá je v zátvorkách (\+.*) hovorí, že chcem zachovať znamienko plus a všetko, čo za ním nasleduje, v nezmenenej podobe. Túto časť beriem do zátvoriek, aby som ju zoskupil a mal na pamäti na neskôr.

      Tip: Spätné lomítko sa používa pred znakom plus, aby sa z neho stal hľadaný znak. Bez neho by bolo plus len súčasťou výrazu, ktorý by označoval niektoré iné znaky (ako napríklad hviezdička).

    • Pokiaľ ide o posledný argument - $1 - funkcia vráti iba skupinu z druhého argumentu: znamienko plus a všetko, čo nasleduje (\+.*) .

    Podobným spôsobom môžete odstrániť všetky telefónne čísla, ale zachovať adresy:

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

    Len tentoraz funkcii poviete, aby zoskupila (a vrátila) všetko, čo je pred zlomom riadku, a zvyšok vymazala:

    Príklad 2. RIGHT+LEN+FIND

    Existuje niekoľko ďalších funkcií v tabuľkách Google, ktoré umožňujú odstrániť text pred určitým znakom. Sú to funkcie RIGHT, LEN a FIND.

    Poznámka: Tieto funkcie pomôžu len vtedy, ak sú záznamy, ktoré sa majú zachovať, rovnako dlhé, ako napríklad telefónne čísla v mojom prípade. Ak nie sú, stačí namiesto nich použiť REGEXREPLACE alebo ešte lepšie jednoduchší nástroj opísaný na konci.

    Použitie tejto trojice v určitom poradí mi pomôže dosiahnuť rovnaký výsledok a odstrániť celý text pred znakom - znamienkom plus:

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

    Dovoľte mi vysvetliť, ako tento vzorec funguje:

    • FIND("+",A1)-1 vyhľadá číslo pozície znamienka plus v A1 ( 24 ) a odčíta 1, takže celkový súčet nezahŕňa samotné plus: 23 .
    • LEN(A1)-(FIND("+",A1)-1) kontroluje celkový počet znakov v A1 ( 40 ) a odpočíta od neho 23 (počítané podľa FIND): 17 .
    • A potom RIGHT vráti 17 znakov od konca (vpravo) A1.

    Bohužiaľ, tento spôsob v mojom prípade príliš nepomôže odstrániť text za zlomom riadku (vymazať telefónne čísla a zachovať adresy), pretože adresy sú rôzne dlhé.

    No, to je v poriadku. Nástroj na konci robí túto prácu lepšie ;)

    Odstránenie prvých/posledných N znakov z reťazcov v hárkoch Google

    Keď potrebujete odstrániť určitý počet rôznych znakov zo začiatku alebo konca bunky, pomôžu vám aj funkcie REGEXREPLACE a RIGHT/LEFT+LEN.

    Poznámka. Keďže som tieto funkcie už predstavil vyššie, tento bod skrátim a uvediem niekoľko hotových vzorcov. Alebo pokojne preskočte na najjednoduchšie riešenie opísané na samom konci.

    Ako teda môžem vymazať kódy z týchto telefónnych čísel? Alebo inými slovami, odstrániť prvých 9 znakov z buniek:

    • Použite REGEXREPLACE. Vytvorte regulárny výraz, ktorý nájde a odstráni všetko až po 9. znak (vrátane tohto 9. znaku):

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

      .

      Tip. Ak chcete odstrániť posledných N znakov, stačí vymeniť skupiny v regulárnom výraze:

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

    • RIGHT/LEFT+LEN tiež počíta počet znakov na vymazanie a vracia zvyšnú časť z konca, resp. začiatku bunky:

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

      Tip. Ak chcete z buniek odstrániť posledných 9 znakov, nahraďte položku RIGHT (vpravo) položkou LEFT (vľavo):

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

    • V neposlednom rade je tu funkcia REPLACE. Funkcii poviete, aby zobrala 9 znakov začínajúcich zľava a nahradila ich ničím ( "" ):

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

      Poznámka: Keďže funkcia REPLACE vyžaduje počiatočnú pozíciu na spracovanie textu, nebude fungovať, ak potrebujete odstrániť N znakov z konca bunky.

    Odstránenie konkrétneho textu v hárkoch Google bez použitia vzorca - doplnok Power Tools

    Funkcie a všetko je dobré vždy, keď máte čas na zabitie. Ale viete, že existuje špeciálny nástroj, ktorý obsiahne všetky vyššie uvedené spôsoby a jediné, čo máte urobiť, je vybrať požadované tlačidlo? :) Žiadne vzorce, žiadne stĺpce navyše - lepšieho pomocníka si nemôžete priať ;D

    Nemusíte mi veriť na slovo, nainštalujte si Power Tools a presvedčte sa sami:

    1. Prvá skupina umožňuje odstrániť viacero podreťazcov alebo jednotlivých znakov z ľubovoľnej pozície vo všetkých vybraných bunkách naraz:

  • Ďalší odstraňuje nielen medzery, ale aj zalomenia riadkov, značky HTML & a iné oddeľovače a netlačové znaky Stačí zaškrtnúť všetky potrebné políčka a stlačiť Odstránenie stránky :
  • A nakoniec, existujú nastavenia na odstránenie textu v hárkoch Google podľa určitej pozície, prvých/posledných N znakov alebo pred/za znakmi :
  • Ďalší nástroj z programu Power Tools odstráni z časových značiek jednotky času a dátumu. Nazýva sa Split Date & Time:

    Čo má nástroj na delenie spoločné s odstraňovaním jednotiek času a dátumu? Ak chcete odstrániť čas z časových značiek, vyberte Dátum pretože je to časť, ktorú si chcete ponechať a tiež odškrtnúť Nahradiť zdrojové údaje , rovnako ako na obrázku vyššie.

    Nástroj extrahuje jednotku dátumu a nahradí ňou celú časovú pečiatku. Alebo inými slovami, tento doplnok pre tabuľky Google odstráni časovú jednotku z časovej pečiatky:

    Všetky tieto funkcie a viac ako 30 ďalších nástrojov na úsporu času pre tabuľky môžete získať nainštalovaním doplnku z obchodu Google Store. Prvých 30 dní je úplne bezplatných a plne funkčných, takže máte čas rozhodnúť sa, či sa vám oplatí investovať.

    Ak máte akékoľvek otázky týkajúce sa ktorejkoľvek časti tohto príspevku, uvidíme sa v sekcii komentárov nižšie!

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.