Tartalomjegyzék
Ismerje meg a képleteket és a képletmentes módokat a fehérjelek levágására, a speciális szimbólumok (akár az első/utolsó N karakterek) és az azonos szöveges karakterláncok bizonyos karakterek előtti/utáni eltávolítására egyszerre több cellából.
Egyszerre több cellából ugyanazt a szövegrészt eltávolítani ugyanolyan fontos és trükkös lehet, mint a hozzáadás. Még ha ismered is a módszerek egy részét, a mai blogbejegyzésben biztosan találsz újakat. Rengeteg függvényt és kész képletet osztok meg, és mint mindig, a legegyszerűbbet - a képletmenteset - a végére tartogatom ;)
Formulák a Google Sheets számára a szöveg eltávolításához a cellákból
A Google Sheets standard függvényeivel kezdem, amelyek eltávolítják a szöveges karakterláncokat és karaktereket a cellákból. Erre nincs univerzális függvény, ezért különböző képleteket és azok kombinációit fogom megadni a különböző esetekre.
Google Sheets: szóközök eltávolítása
Az üres szóközök könnyen becsúszhatnak a cellákba az importálás után, vagy ha több felhasználó szerkeszti a lapot egyszerre. Valójában az extra szóközök annyira gyakoriak, hogy a Google Sheets rendelkezik egy speciális Trim eszközzel, amellyel eltávolítható minden üres szóköz.
Csak jelölje ki az összes olyan Google Sheets-cellát, ahonnan el akarja távolítani a szóközöket, és válassza a Data> Vágja le a szóközöket a táblázatkezelő menüben:
Ha rákattint az opcióra, a kijelölésből az összes elő- és utólagos szóköz teljesen eltűnik, míg az adatok között lévő összes extra szóköz egy szóközre csökken:
Egyéb speciális karakterek eltávolítása a Google Sheets szöveges karakterláncokból
Sajnos a Google Sheets nem kínál eszközt más karakterek "levágására", kivéve a szóközöket. Itt a képletekkel kell foglalkoznia.
Tipp. Vagy használja helyette a mi eszközünket - a Power Tools egy kattintással felszabadítja a tartományt az Ön által megadott karakterektől, beleértve a szóközöket is.
Itt a lakásszámok és telefonszámok előtt hashtagekkel címeztem a lakásszámokat és a telefonszámokat kötőjelekkel és zárójelekkel a kettő között:
Képleteket fogok használni a speciális karakterek eltávolítására.
Ebben segít a SUBSTITUTE függvény. Általában arra használják, hogy egy karaktert egy másikkal helyettesítsenek, de ezt az előnyödre fordíthatod, és a nem kívánt karaktereket lecserélheted... nos, semmire :) Más szóval, eltávolíthatod.
Nézzük meg, milyen argumentumot igényel a függvény:
SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])- text_to_search vagy a feldolgozandó szöveg, vagy egy olyan cella, amely tartalmazza ezt a szöveget. Kötelező.
- search_for az a karakter, amelyet meg akarsz találni és törölni. Kötelező.
- replace_with - a nem kívánt szimbólum helyett beillesztendő karakter. Kötelező.
- occurrence_number - ha a keresett karakter több példánya is létezik, itt megadhatja, hogy melyiket cserélje ki. Ez teljesen opcionális, és ha elhagyja ezt az argumentumot, az összes példányt valami újjal fogja helyettesíteni ( replace_for ).
Szóval játszunk. Meg kell találnom egy hashtaget ( # ) a A1 és cserélje ki a 'nothing' szóra, amelyet a táblázatokban idézőjelekkel ( "" ). Mindezt szem előtt tartva a következő képletet tudom felállítani:
=SUBSTITUTE(A1, "#","")
Tipp: A hashtag szintén idézőjelben van, mivel a Google Sheets képletekben így kell megemlíteni a szöveges karakterláncokat.
Ezután másolja le ezt a képletet az oszlopba, ha a Google Sheets nem kínálja ezt automatikusan, és megkapja a címeket a hashtagek nélkül:
De mi a helyzet a kötőjelekkel és a zárójelekkel? További képleteket kell létrehoznia? Egyáltalán nem! Ha több SUBSTITUTE függvényt fészkel be egy Google Sheets-képletbe, akkor ezeket a karaktereket minden egyes cellából eltávolítja:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "#",""),"(",""),")",""),"-",""),"-","")
Ez a képlet egyesével távolítja el a karaktereket, és minden egyes SUBSTITUTE, a közepétől kezdve, a következő SUBSTITUTE-hoz keresendő tartomány lesz:
Tipp. Mi több, ezt be lehet csomagolni ArrayFormulába, és egyszerre lefedheti az egész oszlopot. Ebben az esetben változtassa meg a cellahivatkozást ( A1 ) az adataihoz az oszlopban ( A1:A7 ) is:
=ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#",""),""(",""),"")",""),"-","")))
Bizonyos szöveg eltávolítása a Google Sheets celláiból
Bár a Google Sheets esetében a fent említett SUBSTITUTE funkciót használhatja a szöveg cellákból való eltávolítására, szeretnék egy másik funkciót is bemutatni - a REGEXREPLACE funkciót.
A neve a 'regular expression replace' rövidítése. És a reguláris kifejezésekkel fogom megkeresni az eltávolítandó karakterláncokat, és a következővel fogom helyettesíteni őket ' semmi" ( "" ).
Tipp: Ha nem érdekel a reguláris kifejezések használata, a blogbejegyzés végén leírok egy sokkal egyszerűbb módszert.
Tipp: Ha a Google Sheetsben található duplikációk keresésének és eltávolításának módjait keresi, látogasson el inkább erre a blogbejegyzésre. REGEXREPLACE(text, regular_expression, replacement)
Mint látható, a függvénynek három argumentuma van:
- szöveg - az a hely, ahol az eltávolítandó szöveges karakterláncot keresi. Ez lehet maga a szöveg idézőjelben, vagy egy cellára/tartományra való hivatkozás.
- regular_expression - a keresési minta, amely különböző karakterkombinációkból áll. Minden olyan karakterláncot keres, amely megfelel ennek a mintának. Ebben az argumentumban történik az egész móka, ha szabad így mondanom.
- csere - egy új kívánt szöveges karakterlánc.
Tegyük fel, hogy az adatokat tartalmazó celláim az ország nevét is tartalmazzák ( US ), ha a cellák különböző helyein:
Hogyan segít a REGEXREPLACE az eltávolításban?
=REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")
A képlet pontosan így működik:
- átnézi a cella tartalmát A1
- a maszkhoz való egyezéseket: "(.*)US(.*)"
Ez a maszk azt mondja a függvénynek, hogy keresse meg a US függetlenül attól, hogy mennyi más karakter előzi meg a (.*) vagy kövesse (.*) az ország neve.
És az egész maszk a funkció követelményei szerint idézőjelbe kerül :)
- az utolsó érv - "$1 $2" - az, amit helyette akarok kapni. $1 és $2 mindkettő a karakterek e 2 csoportjának egyikét képviseli - (.*) - Az előző argumentumból. Ezeket a csoportokat a harmadik argumentumban így kell megemlíteni, hogy a képlet visszaadhasson mindent, ami esetleg az előtt és után a US
Ami a US magát, egyszerűen nem említem meg a 3. argumentumban - vagyis mindent vissza akarok adni a A1 nélkül a US .
Tipp: Van egy speciális oldal, amelyre hivatkozva különböző reguláris kifejezéseket állíthat össze, és a cellák különböző pozícióiban keresheti a szöveget.
Tipp: Ami a fennmaradó vesszőket illeti, a fent leírt SUBSTITUTE függvény segít megszabadulni tőlük ;) A REGEXREPLACE-t akár be is zárhatod a SUBSTITUTE-tal, és mindent megoldhatsz egyetlen formulával:
=SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",",","")
Szöveg eltávolítása bizonyos karakterek előtt/után az összes kijelölt cellából
Példa 1. REGEXREPLACE függvény a Google Sheets számára
Ha meg akarunk szabadulni mindentől bizonyos karakterek előtt és után, a REGEXREPLACE is segít. Ne feledjük, hogy a függvénynek 3 argumentumra van szüksége:
REGEXREPLACE(text, regular_expression, replacement)És ahogy fentebb említettem, amikor bemutattam a függvényt, a másodikat helyesen kell használni, hogy a függvény tudja, mit kell keresni és eltávolítani.
Hogyan távolítsam el a címeket, és csak a telefonszámokat tartsam meg a cellákban?
Az alábbi képletet fogom használni:
=REGEXREPLACE(A1,".*\n.*(\+.*)","$1")
- Itt van a reguláris kifejezés, amit ebben az esetben használok: ".*\n.*(\+.*)"
Az első részben - .*\n.* - Én a backslash+n hogy a cellámban egynél több sor van. Tehát azt akarom, hogy a függvény távolítson el mindent a sortörés előtt és után (beleértve azt is).
A zárójelben lévő második rész (\+.*) azt mondja, hogy a plusz jelet és mindent, ami utána következik, érintetlenül akarom hagyni. Ezt a részt zárójelbe teszem, hogy csoportosítsam és későbbre szem előtt tartsam.
Tipp: A backslash-t a plusz előtt használjuk, hogy a keresett karakterré alakítsuk. Enélkül a plusz csak egy része lenne a kifejezésnek, amely más karaktereket jelölne (mint például a csillag).
- Ami az utolsó argumentumot - $1 - illeti, a függvény csak a második argumentumból származó csoportot adja vissza: a plusz jelet és mindent, ami utána következik. (\+.*) .
Hasonló módon törölheti az összes telefonszámot, de megtarthatja a címeket:
=REGEXREPLACE(A1,"(.*\n).*","$1")
Csakhogy ezúttal azt mondod a függvénynek, hogy csoportosítson (és adjon vissza) mindent, ami a sortörés előtt van, a többit pedig törölje:
Példa 2. RIGHT+LEN+FIND
Van még néhány olyan Google Sheets funkció, amellyel eltávolíthatja a szöveget egy bizonyos karakter előtt. Ezek a RIGHT, LEN és FIND.
Megjegyzés: Ezek a funkciók csak akkor segítenek, ha a megtartandó rekordok azonos hosszúságúak, mint például az én esetemben a telefonszámok. Ha nem azok, akkor használd helyettük a REGEXREPLACE-t, vagy még jobb, ha a végén leírt egyszerűbb eszközt.
Ha ezt a triót egy bizonyos sorrendben használom, akkor ugyanazt az eredményt kapom, és eltávolítom a teljes szöveget egy karakter - egy plusz jel - előtt:
=RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1))))
Hadd magyarázzam el, hogyan működik ez a képlet:
- FIND("+",A1)-1 a pluszjel pozíciószámát keresi az A1-ben ( 24 ), és kivonja az 1-et, így az összeg nem tartalmazza magát a pluszt: 23 .
- LEN(A1)-(FIND("+",A1)-1) ellenőrzi az A1-ben lévő karakterek számát ( 40 ) és kivonja belőle a 23-at (FIND által számolva): 17 .
- Ezután a RIGHT 17 karaktert ad vissza az A1 végétől (jobbra).
Sajnos ez a módszer nem sokat segít abban, hogy az én esetemben a sortörés utáni szöveget eltávolítsam (a telefonszámok törlése és a címek megtartása), mivel a címek különböző hosszúságúak.
Nos, ez rendben van, a végén lévő eszköz úgyis jobban elvégzi ezt a munkát ;)
Az első/utolsó N karakter eltávolítása a Google Sheets karakterláncokból
Amikor egy cella elejéről vagy végéről bizonyos számú különböző karaktert kell eltávolítania, a REGEXREPLACE és a RIGHT/LEFT+LEN szintén segít.
Megjegyzés: Mivel fentebb már bemutattam ezeket a függvényeket, ezért ezt a pontot rövidre fogom, és megadok néhány kész képletet. Vagy nyugodtan ugorj a legvégén leírt legegyszerűbb megoldáshoz.
Tehát, hogyan tudom törölni a kódokat ezekből a telefonszámokból? Vagy más szóval, hogyan tudom eltávolítani az első 9 karaktert a cellákból:
- Használja a REGEXREPLACE-t. Hozzon létre egy olyan reguláris kifejezést, amely mindent megtalál és töröl a 9. karakterig (beleértve a 9. karaktert is):
=REGEXREPLACE(A1,"(.{9})(.*)","$2")
.
Tipp: Az utolsó N karakter eltávolításához egyszerűen cserélje fel a csoportokat a reguláris kifejezésben:
=REGEXREPLACE(A1,"(.*)(.{9})","$1")
- A RIGHT/LEFT+LEN szintén megszámolja a karakterek számát, hogy törölje és visszaadja a megmaradt részt a cella végéről vagy elejéről:
=RIGHT(A1,LEN(A1)-9)
Tipp: Ha el szeretné távolítani az utolsó 9 karaktert a cellákból, akkor a RIGHT (Jobbra) helyett LEFT (Balra) karaktert használjon:
=LEFT(A1,LEN(A1)-9)
- Végül, de nem utolsó sorban a REPLACE funkció. Megmondja neki, hogy vegye a balról kezdődő 9 karaktert, és helyettesítse őket semmivel ( "" ):
=REPLACE(A1,1,9,"")
Megjegyzés: Mivel a REPLACE a szöveg feldolgozásához kezdőpozíciót igényel, nem használható, ha egy cella végéből N karaktert kell törölni.
Formulamentes módja a Google Sheets adott szöveg eltávolításának - Power Tools bővítmény
Funkciók és minden jó, amikor csak van időd. De tudtad, hogy van egy speciális eszköz, amely az összes fent említett módot felöleli, és csak annyi a dolgod, hogy kiválasztod a kívánt rádiógombot :) Se képletek, se extra oszlopok - jobb segítőtársat nem is kívánhatnál ;D
Nem kell elhinnie, amit mondok, telepítse a Power Tools-t, és győződjön meg róla a saját szemével:
- Az első csoport lehetővé teszi, hogy több részlánc vagy egyedi karakter eltávolítása az összes kijelölt cellában egyidejűleg bármelyik pozícióból:
A Power Tools egy másik eszköze eltávolítja az idő- és dátumegységeket az időbélyegekből. A neve Split Date &; Time:
Mi köze van a felosztó eszköznek az idő- és dátumegységek eltávolításához? Nos, ha az időt szeretnénk eltávolítani az időbélyegekből, válasszuk ki a Dátum mivel ez egy olyan rész, amit meg akarsz tartani, és ki akarod pipálni... Forrásadatok cseréje , mint a fenti képernyőképen.
Az eszköz kivonja a dátumegységet, és a teljes időbélyeget kicseréli vele. Vagy más szóval, ez a Google Sheets bővítmény eltávolítja az időegységet az időbélyegből:
Mindezeket és több mint 30 másik időmegtakarítást is elérheti a táblázatkezelőhöz, ha telepíti a kiegészítőt a Google Store-ból. Az első 30 nap teljesen ingyenes és teljesen működőképes, így van ideje eldönteni, hogy megéri-e bármilyen befektetést.
Ha bármilyen kérdésed van a blogbejegyzés bármelyik részével kapcsolatban, találkozunk a lenti hozzászólások között!