Turinys
Sužinokite formulių ir be formulių naudojamų būdų, kaip vienu metu iš kelių langelių pašalinti baltąsias erdves, specialius simbolius (net pirmuosius/paskutinius N simbolius) ir tas pačias teksto eilutes prieš ir po tam tikrų simbolių.
Pašalinti tą pačią teksto dalį iš kelių langelių vienu metu gali būti taip pat svarbu ir sudėtinga, kaip ir pridėti. Net jei žinote kai kuriuos būdus, šiandienos tinklaraščio įraše tikrai rasite naujų. Dalinuosi daugybe funkcijų ir jų paruoštomis formulėmis, o patį lengviausią - be formulių - kaip visada pasilikau pabaigai ;)
"Google Sheets" formulės tekstui iš ląstelių pašalinti
Pradėsiu nuo standartinių "Google Sheets" funkcijų, kurios pašalins jūsų teksto eilutes ir simbolius iš langelių. Universalios funkcijos tam nėra, todėl įvairiais atvejais pateiksiu skirtingas formules ir jų derinius.
"Google" lentelės: baltųjų tarpų pašalinimas
Baltosios vietos gali lengvai patekti į langelius po importo arba jei keli naudotojai vienu metu redaguoja lapą. Tiesą sakant, papildomi tarpai yra tokie dažni, kad "Google Sheets" turi specialų "Trim" įrankį, skirtą visoms baltosioms vietoms pašalinti.
Tiesiog pasirinkite visas "Google Sheets" ląsteles, kuriose norite pašalinti baltąsias eilutes, ir pasirinkite Duomenys> Apkirpti baltąsias eilutes skaičiuoklės meniu:
Paspaudus šią parinktį, visi pradiniai ir galiniai pasirinkimo tarpai bus visiškai pašalinti, o visi papildomi tarpai tarp duomenų bus sumažinti iki vieno:
Kitų specialiųjų simbolių pašalinimas iš teksto eilučių "Google Sheets
Deja, "Google Sheets" nesiūlo įrankio, kuriuo būtų galima "apkarpyti" kitus simbolius, išskyrus tarpelius. Šiuo atveju tenka dirbti su formulėmis.
Patarimas. Arba vietoj to naudokite mūsų įrankį - "Power Tools" išlaisvins diapazoną nuo bet kokių paspaudimu nurodytų simbolių, įskaitant baltąsias eilutes.
Čia prieš buto numerius ir telefono numerius su brūkšneliais ir skliausteliais kreipiausi su hashtagais:
Šiems specialiesiems ženklams pašalinti naudosiu formules.
Tam man padės funkcija SUBSTITUTE. Paprastai ji naudojama norint pakeisti vieną simbolį kitu, tačiau galite tai paversti savo naudai ir nepageidaujamus simbolius pakeisti... na, niekuo :) Kitaip tariant, pašalinti.
Pažiūrėkime, kokio argumento reikalauja funkcija:
SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])- text_to_search yra tekstas, kurį reikia apdoroti, arba ląstelė, kurioje yra šis tekstas. Reikalinga.
- search_for yra tas simbolis, kurį norite surasti ir ištrinti. Reikalaujama.
- pakeisti_su - simbolį, kurį įterpsite vietoj nepageidaujamo simbolio. Reikalaujama.
- įvykio_skaičius - jei yra keli ieškomo simbolio atvejai, čia galite nurodyti, kurį iš jų pakeisti. Tai visiškai neprivaloma, o jei šio argumento nepateiksite, visi atvejai bus pakeisti nauju ( pakeisti_už ).
Taigi žaisime. Turiu rasti hashtagą ( # ) į A1 ir pakeiskite jį žodžiu "niekas", kuris skaičiuoklėse žymimas dvigubomis kabutėmis ( "" ). Atsižvelgdamas į visa tai, galiu sudaryti šią formulę:
=SUBSTITUTE(A1, "#","")
Patarimas. Žyma hashtag taip pat pateikiama dvigubose kabutėse, nes taip reikia nurodyti teksto eilutes "Google Sheets" formulėse.
Tada nukopijuokite šią formulę į stulpelį, jei "Google Sheets" nesiūlo to padaryti automatiškai, ir gausite adresus be hashtagų:
O kaip su tais brūkšneliais ir skliausteliais? Ar turėtumėte kurti papildomas formules? Visai ne! Jei vienoje "Google Sheets" formulėje įterpsite kelias SUBSTITUTE funkcijas, iš kiekvienos ląstelės pašalinsite visus šiuos simbolius:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "#",""),"(",""),")",""),"-",""),"-","")
Pagal šią formulę simboliai pašalinami po vieną, o kiekvienas SUBSTITUTE, pradedant nuo vidurio, tampa diapazonu, kuriame bus ieškoma kito SUBSTITUTE:
Patarimas. Be to, galite tai aprėpti į ArrayFormula ir iš karto padengti visą stulpelį. Tokiu atveju pakeiskite ląstelės nuorodą ( A1 ) prie savo duomenų stulpelyje ( A1:A7 ):
=ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#",""),"(",""),""),""),""),"-",""))
Konkretaus teksto pašalinimas iš "Google Sheets" ląstelių
Nors teksto pašalinimui iš langelių galite naudoti minėtą "Google Sheets" funkciją SUBSTITUTE, norėčiau parodyti ir kitą funkciją - REGEXREPLACE.
Jos pavadinimas yra akronimas iš "reguliariosios išraiškos pakeisti". Naudosiu reguliarias išraiškas ieškodamas eilutes, kurias reikia pašalinti, ir pakeisiu jas eilutėmis ' nieko" ( "" ).
Patarimas. Jei nenorite naudoti reguliariųjų išraiškų, šio tinklaraščio įrašo pabaigoje aprašysiu daug paprastesnį būdą.
Patarimas. Jei ieškote būdų, kaip "Google" lentelėse rasti ir pašalinti dublikatus, apsilankykite šiame tinklaraščio įraše. REGEXREPLACE(tekstas, reguliarioji_išraiška, pakeitimas)
Kaip matote, funkcija turi tris argumentus:
- tekstas - čia ieškoma teksto eilutės, kurią reikia pašalinti. Tai gali būti pats tekstas dvigubose kabutėse arba nuoroda į ląstelę / sritį su tekstu.
- regular_expression - jūsų paieškos šablonas, kurį sudaro įvairūs simbolių deriniai. Ieškosite visų šį šabloną atitinkančių eilučių. Jei galima taip pasakyti, šiame argumente vyksta visa įdomybė.
- keitimas - naują norimą teksto eilutę.
Tarkime, kad mano ląstelėse su duomenimis taip pat yra šalies pavadinimas ( JAV ), jei ląstelės yra skirtingose vietose:
Kaip REGEXREPLACE padės jį pašalinti?
=REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")
Štai kaip tiksliai veikia ši formulė:
- jis nuskaito ląstelės turinį A1
- ieškoti atitikmenų šiai kaukei: "(.*)US(.*)"
Ši kaukė nurodo funkcijai ieškoti JAV neatsižvelgiant į tai, kiek kitų ženklų gali būti prieš (.*) arba sekite (.*) šalies pavadinimą.
O visa kaukė pagal funkcijos reikalavimus dedama į dvigubas kabutes :)
- paskutinis argumentas - "$1 $2" - tai, ką noriu gauti vietoj to. $1 ir $2 kiekvienas iš jų atstovauja vienai iš šių 2 simbolių grupių - (.*) - iš ankstesnio argumento. Šitaip turėtumėte paminėti šias grupes trečiajame argumente, kad formulė galėtų grąžinti viską, kas gali būti prieš ir po JAV
Dėl JAV tiesiog nepaminėjau jo 3-iajame argumente, t. y. noriu grąžinti viską iš A1 be . JAV .
Patarimas. Yra specialus puslapis, kuriame galite pateikti nuorodą į įvairias reguliarias išraiškas ir ieškoti teksto skirtingose ląstelių pozicijose.
Patarimas. Kalbant apie likusius kablelius, pirmiau aprašyta SUBSTITUTE funkcija padės jų atsikratyti ;) Galite net uždėti REGEXREPLACE su SUBSTITUTE ir viską išspręsti viena formule:
=SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",",","")
Pašalinti tekstą prieš ir po tam tikrų simbolių visose pasirinktose ląstelėse
1 pavyzdys. "Google Sheets" funkcija REGEXREPLACE
Kai reikia atsikratyti visko, kas yra prieš tam tikrus simbolius ir po jų, taip pat padeda REGEXREPLACE. Atminkite, kad funkcijai reikia 3 argumentų:
REGEXREPLACE(tekstas, regular_expression, pakeitimas)Ir, kaip minėjau pirmiau pristatydamas šią funkciją, būtent antrąją reikia naudoti teisingai, kad funkcija žinotų, ką rasti ir pašalinti.
Kaip pašalinti adresus ir ląstelėse palikti tik telefono numerius?
Štai formulė, kurią naudosiu:
=REGEXREPLACE(A1,".*\n.*(\+.*)","$1")
- Šiuo atveju naudoju reguliariąją išraišką: ".*\n.*(\+.*)"
Pirmoje dalyje - .*\n.* - Aš naudoju backslash+n pasakyti, kad mano ląstelėje yra daugiau nei viena eilutė. Todėl noriu, kad funkcija pašalintų viską, kas yra prieš ir po eilutės pertraukos (įskaitant ją).
Antroji skliausteliuose esanti dalis (\+.*) sako, kad noriu išsaugoti pliuso ženklą ir viską, kas eina po jo, nepažeistą. Šią dalį dedu į skliaustelius, kad ją sugrupuočiau ir nepamirščiau vėliau.
Patarimas. Atvirkštinis brūkšnys naudojamas prieš pliusą, kad jis taptų ieškomu ženklu. Be jo pliusas būtų tik išraiškos dalis, reiškianti kai kuriuos kitus ženklus (kaip, pavyzdžiui, žvaigždutė).
- Dėl paskutinio argumento - $1 - funkcija grąžina tik tą antrojo argumento grupę: pliuso ženklą ir viską, kas yra po jo. (\+.*) .
Panašiai galite ištrinti visus telefono numerius, tačiau išsaugoti adresus:
=REGEXREPLACE(A1,"(.*\n).*","$1")
Tik šį kartą nurodysite funkcijai sugrupuoti (ir grąžinti) viską, kas yra prieš eilutės pertrauką, o likusią dalį ištrinti:
2 pavyzdys. RIGHT+LEN+FIND
Yra dar kelios "Google Sheets" funkcijos, leidžiančios pašalinti tekstą prieš tam tikrą simbolį. Tai RIGHT, LEN ir FIND.
Pastaba. Šios funkcijos padės tik tuo atveju, jei saugotini įrašai yra vienodo ilgio, pavyzdžiui, mano atveju - telefono numeriai. Jei taip nėra, vietoj jų tiesiog naudokite REGEXREPLACE arba, dar geriau, pabaigoje aprašytą paprastesnę priemonę.
Naudojant šią trijulę tam tikra tvarka, gausiu tą patį rezultatą ir pašalinsiu visą tekstą prieš simbolį - pliuso ženklą:
=RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1)))
Paaiškinsiu, kaip veikia ši formulė:
- FIND("+",A1)-1 nustato pliuso ženklo pozicijos numerį A1 ( 24 ) ir atimamas 1, kad į bendrą sumą nebūtų įtrauktas pats pliusas: 23 .
- LEN(A1)-(FIND("+",A1)-1) tikrina bendrą A1 simbolių skaičių ( 40 ) ir iš jo atimama 23 (skaičiuojant FIND): 17 .
- O tada RIGHT grąžina 17 simbolių nuo A1 galo (dešinėje).
Deja, mano atveju šis būdas nepadės pašalinti teksto po eilutės pertraukos (išvalyti telefono numerius ir išsaugoti adresus), nes adresai yra skirtingo ilgio.
Na, nieko baisaus. Pabaigoje esantis įrankis šį darbą vis tiek atlieka geriau ;)
Pirmųjų/paskutinių N simbolių pašalinimas iš "Google" eilučių "Google Sheets
Kai reikia iš ląstelės pradžios arba pabaigos pašalinti tam tikrą skaičių skirtingų simbolių, taip pat padės REGEXREPLACE ir RIGHT/LEFT+LEN.
Pastaba. Kadangi šias funkcijas jau pristačiau aukščiau, šį punktą sutrumpinsiu ir pateiksiu keletą paruoštų formulių. Arba drąsiai pereikite prie pačioje pabaigoje aprašyto paprasčiausio sprendimo.
Kaip ištrinti šių telefono numerių kodus? Arba, kitaip tariant, pašalinti pirmuosius 9 simbolius iš ląstelių:
- Naudokite REGEXREPLACE. Sukurkite reguliariąją išraišką, kuri suras ir ištrins viską iki 9-ojo simbolio (įskaitant tą 9-ąjį simbolį):
=REGEXREPLACE(A1,"(.{9})(.*)","$2")
.
Patarimas. Norėdami pašalinti paskutinius N simbolių, tiesiog sukeiskite reguliariosios išraiškos grupes vietomis:
=REGEXREPLACE(A1,"(.*)(.{9})","$1")
- RIGHT/LEFT+LEN taip pat skaičiuoja, kiek simbolių reikia ištrinti ir grąžinti likusią dalį atitinkamai iš ląstelės pabaigos arba pradžios:
= DEŠINĖ(A1,LEN(A1)-9)
Patarimas. Jei norite iš langelių pašalinti paskutinius 9 simbolius, vietoj RIGHT (dešinė) įrašykite LEFT (kairė):
=LEFT(A1,LEN(A1)-9)
- Paskutinė, bet ne mažiau svarbi funkcija yra REPLACE. Jai nurodysite, kad ji paimtų 9 simbolius iš kairės ir pakeistų juos niekuo ( "" ):
=PAKEISTI(A1,1,9,"")
Pastaba. Kadangi REPLACE reikalauja pradinės teksto apdorojimo pozicijos, ji nepadės, jei reikia ištrinti N simbolių iš ląstelės pabaigos.
Konkretaus teksto pašalinimas iš "Google" lentelių be formulių - "Power Tools" priedas
Funkcijos ir visa kita yra gerai, kai tik turite laiko. Bet ar žinote, kad yra specialus įrankis, kuris apima visus minėtus būdus, o jums tereikia pasirinkti reikiamą radijo mygtuką? :) Jokių formulių, jokių papildomų stulpelių - geresnio pagalbininko negalėtumėte norėti ;D
Neprivalote tikėti mano žodžiais, tiesiog įsidiekite "Power Tools" ir įsitikinkite tuo patys:
- Pirmoji grupė leidžia pašalinti kelias posričių eilutes arba atskirus simbolius. iš bet kurios pozicijos visose pasirinktose ląstelėse vienu metu:
Kitas įrankis iš "Power Tools" pašalins laiko ir datos vienetus iš laiko žymų. Jis vadinamas "Split Date & Time":
Ką bendro turi skaidymo įrankis su laiko ir datos vienetų pašalinimu? Na, norėdami pašalinti laiką iš laiko žymų, pasirinkite Data nes tai yra dalis, kurią norite išsaugoti ir pažymėti Pakeisti šaltinio duomenis , kaip ir pirmiau pateiktoje ekrano nuotraukoje.
Įrankis išskirs datos vienetą ir juo pakeis visą laiko žymą. Kitaip tariant, šis "Google Sheets" priedas iš laiko žymos pašalins laiko vienetą:
Įsidiegę priedą iš "Google" parduotuvės, galėsite naudotis visais šiais ir daugiau nei 30 kitų skaičiuoklių laiko taupymo priemonių. Pirmosios 30 dienų yra visiškai nemokamos ir visiškai veikiančios, todėl turite laiko nuspręsti, ar verta investuoti.
Jei turite klausimų, susijusių su bet kuria šio tinklaraščio įrašo dalimi, pasimatysime žemiau esančiame komentarų skyriuje!