Tabela e përmbajtjes
Kjo pjesë tjetër e operacioneve tona me tekst në fletëllogaritëse i kushtohet nxjerrjes. Gjeni mënyra për të nxjerrë të dhëna të ndryshme - tekst, karaktere, numra, URL, adresa emaili, datë & amp; koha, etj. — nga pozicione të ndryshme në disa qeliza të Fletëve të Google menjëherë.
Formulat e Fletëve të Google për të nxjerrë tekstin dhe numrat nga vargjet
Formulat në Google Fletët janë gjithçka. Ndërsa disa kombinime shtojnë tekst & numra dhe hiqni karaktere të ndryshme, disa prej tyre nxjerrin gjithashtu tekst, numra, karaktere të ndara, etj.
Nxjerrja e të dhënave sipas pozicionit: i pari/i fundit/i mesëm N karaktere
Funksionet më të lehta për t'u trajtuar kur jeni gati të hiqni të dhënat nga qelizat e Fletëve të Google janë LEFT, RIGHT dhe MID. Ata marrin çdo të dhënë sipas pozicionit.
Nxjerrja e të dhënave nga fillimi i qelizave në Fletët e Google
Mund të nxirrni lehtësisht N karakteret e para duke përdorur funksionin LEFT:
LEFT(string, [numri_i_karaktereve])- string është teksti nga i cili dëshironi të nxirrni të dhëna.
- numri_i_karaktereve është numri i karaktereve që duhen hequr duke filluar nga e majta.
Këtu është shembulli më i thjeshtë: le të heqim kodet e shteteve nga numrat e telefonit:
Siç e shihni, shteti kodet marrin 6 simbole në fillim të qelizave, kështu që formula që ju nevojitet është:
=LEFT(A2,6)
Këshillë. ArrayFormula do të bëjë të mundur marrjen e 6 karaktereve ngai gjithë diapazoni njëherësh:
=ArrayFormula(LEFT(A2:A7,6))
Nxjerrja e të dhënave nga fundi i qelizave në Fletët e Google
Për të nxjerrë N karakteret e fundit nga qelizat, përdorni funksionin RIGHT në vend të kësaj:
RIGHT(string,[numri_i_karaktereve])- string është ende teksti (ose një referencë qelize) për nxjerrjen e të dhënave.
- numri_i_personazheve është gjithashtu numri i karaktereve që duhen marrë nga e djathta.
Le t'i marrim emrat e vendeve nga të njëjtët numra telefoni:
Ata marrin vetëm 2 karaktere dhe kjo është pikërisht ajo që përmend në formulën:
=RIGHT(A2,2)
Këshillë. ArrayFormula do t'ju ndihmojë gjithashtu të nxirrni të dhëna nga fundi i të gjitha qelizave të Fletëve të Google menjëherë:
=ArrayFormula(RIGHT(A2:A7,2))
Nxjerrja e të dhënave nga mesi i qelizave në Fletët e Google
Nëse ka funksione për nxjerrjen e të dhënave nga fillimi dhe fundi i qelizave, duhet të ketë një funksion për nxjerrjen e të dhënave edhe nga mesi. Dhe po — ka një.
Quhet MID:
MID(string, starting_at, extract_length)- string — teksti ku dëshironi të hiqni pjesa e mesme nga.
- starting_at — pozicioni i karakterit nga i cili dëshironi të filloni të merrni të dhënat.
- extract_length — numri të karaktereve që duhet të nxirrni.
Me shembullin e të njëjtëve numra telefoni, le t'i gjejmë vetë numrat e telefonit pa kodet e tyre të shtetit dhe shtetinshkurtesa:
Meqenëse kodet e shteteve mbarojnë me karakterin e 6-të dhe e 7-ta është viza, unë do të tërheq numrat duke filluar nga shifra e 8-të. Dhe unë do të marr 8 shifra gjithsej:
=MID(A2,8,8)
Këshillë. Ndryshimi i një qelize në të gjithë gamën dhe mbështjellja e saj në ArrayFormula do t'ju japë rezultatin për secilën qelizë menjëherë:
=ArrayFormula(MID(A2:A7,8,8))
Nxjerrja e tekstit/numrave nga vargjet
Ndonjëherë nxjerrja e tekstit sipas pozicionit (siç tregohet më lart) nuk është një opsion. Vargjet e kërkuara mund të qëndrojnë në çdo pjesë të qelizave tuaja dhe përbëhen nga një numër i ndryshëm karakteresh që ju detyrojnë të krijoni formula të ndryshme për secilën qelizë.
Por Google Sheets nuk do të ishin Google Sheets nëse nuk do të kishte funksione të tjera që do të ndihmonin në nxjerrjen e tekstit nga vargjet.
Le të shqyrtojmë disa mënyra të mundshme që ofrojnë fletëllogaritësit.
Nxjerrja e të dhënave përpara një teksti të caktuar — LEFT+SEARCH
Sa herë që dëshironi të nxjerrni të dhëna që i paraprijnë një teksti të caktuar, përdorni LEFT + SEARCH:
- LEFT përdoret për të kthyer një numër të caktuar karakteresh nga fillimi i qelizave (nga e majta e tyre)
- SEARCH kërkon karaktere/vargje të caktuara dhe merr pozicionin e tyre.
Kombinoni këto — dhe LEFT do të kthejë numrin e karaktereve të sugjeruara nga SEARCH.
Ja një shembull: si i nxirrni kodet tekstuale përpara çdo 'ea'?
Kjo është formula që do t'ju ndihmojë në të ngjashmerastet:
=LEFT(A2,SEARCH("ea",A2)-1)
Ja çfarë ndodh në formulën:
- SEARCH("ea",A2 ) kërkon 'ea' në A2 dhe kthen pozicionin ku fillon ajo 'ea' për secilën qelizë — 10.
- Pra, pozicioni i 10-të është vendi ku ndodhet 'e'. Por meqenëse dua gjithçka të drejtë para 'ea', më duhet të zbres 1 nga ai pozicion. Përndryshe, 'e' do të kthehet gjithashtu. Kështu që unë marr 9 përfundimisht.
- LEFT shikon A2 dhe merr 9 karakteret e para.
Nxjerrja e të dhënave pas tekstit
Atje janë gjithashtu mjete për të marrë gjithçka pas një vargu të caktuar teksti. Por këtë herë, E DREJTA nuk do të ndihmojë. Në vend të kësaj, REGEXREPLACE merr radhën.
Këshillë. REGEXREPLACE përdor shprehje të rregullta. Nëse nuk jeni gati të merreni me to, ekziston një zgjidhje shumë më e lehtë e përshkruar më poshtë. REGEXREPLACE(tekst, shprehje_i rregullt, zëvendësim)
- teksti është një varg ose një qelizë ku dëshironi të bëni ndryshime
- shprehja_e_rregullt është kombinimi i karakteret që përfaqësojnë një pjesë të tekstit që po kërkoni
- zëvendësimi është çdo gjë që dëshironi të merrni në vend të atij teksti
Pra, si e përdorni për të nxjerrë të dhëna pas një teksti të caktuar - 'ea' në shembullin tim?
E lehtë — duke përdorur këtë formulë:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
Më lejoni të shpjegoj se si funksionon saktësisht kjo formulë:
- A2 është një qelizë që po nxjerr të dhënat nga.
- "(.*)ea(.*)" është e rregullta imeshprehje (ose mund ta quash maskë). Kërkoj 'ea' dhe i vendos të gjithë personazhet e tjerë në kllapa. Ka 2 grupe karakteresh — çdo gjë përpara 'ea' është grupi i parë (.*) dhe çdo gjë pas 'ea' është i dyti (.*). E gjithë maska vendoset në thonjëza të dyfishta.
- "$2" është ajo që dua të marr — grupi i dytë (pra numri i tij 2) nga argumenti i mëparshëm.
Këshillë. Të gjitha karakteret e përdorura në shprehjet e rregullta janë mbledhur në këtë faqe të veçantë.
Nxjerrja e numrave nga qelizat e "Fletëve të Google"
Po sikur të doni të nxirrni vetëm numra kur pozicioni i tyre dhe çfarëdo që shkon përpara & pasi nuk ka rëndësi?
Maskat (të njohura si shprehje të rregullta) do të ndihmojnë gjithashtu. Në fakt, unë do të marr të njëjtin funksion REGEXREPLACE dhe do të ndryshoj shprehjen e rregullt:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 është një qelizë nga ku dua t'i marr ata numra.
- "[^[:digit:]]" është një shprehje e rregullt që merr gjithçka përveç shifrave. Ky simbol ^caret është ai që bën një përjashtim për shifrat.
- "" zëvendëson gjithçka përveç karaktereve numerike me "asgjë". Ose, me fjalë të tjera, e heq atë tërësisht, duke lënë vetëm numra në qeliza. Ose, nxjerr numra :)
Nxjerrja e tekstit duke injoruar numrat dhe karakteret e tjera
Në një mënyrë të ngjashme, mund të hiqni vetëm të dhëna alfabetike nga qelizat e Fletëve të Google. Tkurrja për shprehjen e rregullt qëdo të thotë tekst quhet në përputhje me rrethanat — alfa:
=REGEXREPLACE(A2,"[^[:alpha:]]", "")
Kjo formulë merr gjithçka përveç shkronjave (A-Z, a-z) dhe fjalë për fjalë e zëvendëson atë me "asgjë" . Ose, për ta thënë në një mënyrë tjetër, nxjerr vetëm shkronjat.
Mënyra pa formula për të nxjerrë të dhëna nga qelizat e Fletëve të Google
Nëse po kërkoni një mënyrë të thjeshtë pa formula nxirrni lloje të ndryshme të dhënash, keni ardhur në vendin e duhur. Shtesa jonë Power Tools ka vetëm veglat për këtë punë.
Nxjerrja e llojeve të ndryshme të të dhënave duke përdorur shtesat e Power Tools
Mjeti i parë që do të doja të dinit quhet Ekstrakt . Ai bën pikërisht atë që keni kërkuar në këtë artikull — nxjerr lloje të ndryshme të dhënash nga qelizat e Fletëve të Google.
Cilësimet miqësore për përdoruesit
Të gjitha rastet që kam mbuluar më sipër nuk janë thjesht i zgjidhshëm me shtesën. Mjeti është i përshtatshëm për përdoruesit kështu që gjithçka që duhet të bëni është të zgjidhni gamën që dëshironi të përpunoni dhe të shënoni kutitë e kërkuara. Nuk ka formula, pa shprehje të rregullta.
E mbani mend pikën e dytë të këtij artikulli me REGEXREPLACE dhe shprehje të rregullta? Ja sa e thjeshtë është për shtesën:
Opsione shtesë
Siç mund ta shihni, ka disa opsione shtesë (vetëm kutitë e zgjedhjes) që mund të ndizni/fikni shpejt për të marrë rezultatin më të saktë:
- Merrni vetëm vargjet e rastit të kërkuar të tekstit.
- Tërhiqni të gjitha dukuritë nga secilaqelizë dhe vendosini ato në një qelizë ose kolona të veçanta.
- Futni një kolonë të re me rezultatin në të djathtë të të dhënave burimore.
- Pastroni tekstin e nxjerrë nga të dhënat burimore.
Nxjerrja e llojeve të ndryshme të të dhënave
Jo vetëm Power Tools nxjerr të dhëna para/pas/midis vargjeve të caktuara teksti dhe karaktereve të para/të fundit N; por nxjerr edhe sa vijon:
- Numrat së bashku me dhjetoret e tyre duke i mbajtur të paprekura ndarësit dhjetore/mijëshe:
Nxjerrja e çdo vargu të dhënash nga kudo
Ka gjithashtu një opsion për të vendosur modelin tuaj të saktë dhe për ta përdorur atë për nxjerrjen. Nxjerrja me maskë dhe karakteret e saj të karakterit të egër — * dhe ? — bëje mashtrimin:
- Për shembull, mund të nxjerrësh jashtë çdo gjë midis kllapave duke përdorur maskën e mëposhtme: (*)
- Ose merrni ato SKU që kanë vetëm 5 numra në ID: SKU?????
- Ose, siç tregoj në pamjen e ekranit më poshtë, tërhiqni gjithçka pas çdo 'ea' në secilën qelizë: ea*
Nxjerrja e datës dhe e kohës nga vulat kohore
Si bonus, ekziston një mjet më i vogël që do të nxjerrë datën dhe kohën nga vulat kohore — quhet Split Date & Koha.
Megjithëse është krijuar për të ndarë fillimisht vulat kohore, është e përkryertë aftë për të marrë një nga njësitë e dëshiruara individualisht:
Thjesht zgjidhni një nga kutitë e kontrollit në varësi të asaj që dëshironi të nxirrni - datën ose orën - nga vulat kohore në Fletët e Google dhe shtypni Ndahet . Njësia e kërkuar do të kopjohet në një kolonë të re (ose do të zëvendësojë të dhënat origjinale nëse zgjidhni edhe kutinë e fundit të kontrollit):
Ky mjet është gjithashtu pjesë e shtesa Power Tools, kështu që sapo ta instaloni për të marrë ndonjë të dhënë nga qelizat e Google Sheets, do t'ju mbulojë plotësisht. Nëse jo, ju lutemi lini një koment dhe ne do t'ju ndihmojmë :)