Satura rādītājs
Nākamais mūsu darbību ar tekstu izklājlapās fragments ir veltīts izvilkšanai. Uzziniet, kā iegūt dažādus datus - tekstu, rakstzīmes, skaitļus, URL, e-pasta adreses, datumu & amp; laiku utt. - no dažādām pozīcijām vairākās Google Sheets šūnās vienlaikus.
Google Sheets formulas teksta un skaitļu iegūšanai no virknēm
Formulas Google tabulās ir viss. Lai gan dažas kombinācijas pievieno tekstu & amp; ciparus un noņem dažādas rakstzīmes, dažas no tām arī iegūst tekstu, ciparus, atsevišķas rakstzīmes utt.
Datu ieguve pēc pozīcijas: pirmais/pēdējais/vidējais N zīmju
Visvienkāršākās funkcijas, ar kurām ir visvieglāk strādāt, kad gatavojaties izņemt datus no Google Sheets šūnām, ir LEFT, RIGHT un MID. Tās iegūst jebkurus datus pēc pozīcijas.
Datu iegūšana no Google Sheets šūnu sākuma
Izmantojot funkciju LEFT, varat viegli izvilkt pirmās N rakstzīmes:
LEFT(virkne,[rakstzīmju skaits])- virkne ir teksts, no kura vēlaties iegūt datus.
- number_of_characters ir rakstzīmju skaits, kas jāizņem, sākot no kreisās puses.
Lūk, visvienkāršākais piemērs: izņemsim valstu kodus no tālruņa numuriem:
Kā redzat, valstu kodiem šūnu sākumā ir nepieciešami 6 simboli, tāpēc vajadzīgā formula ir šāda:
=LEFT(A2,6)
Padoms. ArrayFormula ļaus iegūt 6 rakstzīmes no visa diapazona uzreiz:
=Formula(LEFT(A2:A7,6))
Datu iegūšana no Google Sheets šūnu beigām
Lai no šūnām izņemtu pēdējās N zīmes, tā vietā izmantojiet funkciju RIGHT:
RIGHT(virkne,[rakstzīmju skaits])- virkne joprojām ir teksts (vai šūnas atsauce), no kura iegūt datus.
- number_of_characters ir arī rakstzīmju skaits, kas jāņem no labās puses.
Iegūsim šo valstu nosaukumus no tiem pašiem tālruņu numuriem:
Tie aizņem tikai 2 rakstzīmes, un tieši tas ir tas, ko es pieminēju formulā:
=PRAVA(A2,2)
Padoms. ArrayFormula palīdzēs arī iegūt datus no visu Google Sheets šūnu beigām vienlaicīgi:
=arrayFormula(RIGHT(A2:A7,2))
Datu iegūšana no Google lapu šūnu vidus
Ja ir funkcijas, kas ļauj iegūt datus no šūnu sākuma un beigām, tad ir jābūt funkcijai, kas ļauj iegūt datus arī no vidusdaļas. Un jā - tāda ir.
To sauc par MID:
MID(string, starting_at, extract_length)- virkne - tekstu, no kura vēlaties izņemt vidusdaļu.
- starting_at - rakstzīmes pozīciju, no kuras vēlaties sākt datu iegūšanu.
- extract_length - rakstzīmju skaits, kas jāizvelk.
Izmantojot to pašu tālruņa numuru piemēru, atradīsim pašus tālruņa numurus bez to valstu kodiem un valstu saīsinājumiem:
Tā kā valstu kodi beidzas ar 6. rakstzīmi un 7. rakstzīme ir domuzīme, es vilkšu ciparus, sākot no 8. cipara. Un kopā es iegūšu 8 ciparus:
=MID(A2,8,8)
Padoms. Mainot vienu šūnu uz visu diapazonu un ietinot to ArrayFormula, iegūsiet rezultātu katrai šūnai uzreiz:
=Formula(MID(A2:A7,8,8))
Teksta/skaitļu izvilkšana no virknēm
Dažreiz teksta ieguve pēc pozīcijas (kā parādīts iepriekš) nav iespējama. Nepieciešamās virknes var atrasties jebkurā šūnas daļā un sastāvēt no dažāda zīmju skaita, tāpēc katrai šūnai ir jāizveido atšķirīgas formulas.
Taču Google darblapas nebūtu Google darblapas, ja tām nebūtu citu funkciju, kas palīdzētu iegūt tekstu no virknēm.
Apskatīsim dažus iespējamos veidus, ko piedāvā izklājlapas.
Datu ieguve pirms noteikta teksta - LEFT+SEARCH
Ja vēlaties iegūt datus, kas ir pirms noteikta teksta, izmantojiet LEFT + SEARCH:
- LEFT tiek izmantots, lai atgrieztu noteiktu rakstzīmju skaitu no šūnu sākuma (no to kreisās puses).
- MEKLĒT meklē noteiktas rakstzīmes/virknes un iegūst to pozīciju.
Apvienojiet šos - un LEFT atgriezīs SEARCH piedāvāto rakstzīmju skaitu.
Lūk, piemērs: kā iegūt teksta kodus pirms katra "ea"?
Šī ir formula, kas palīdzēs jums līdzīgos gadījumos:
=LEFT(A2,SEARCH("ea",A2)-1)
Lūk, kas notiek formulā:
- MEKLĒT("ea",A2) meklē 'ea' A2 un atgriež pozīciju, kurā sākas 'ea' katrā šūnā - 10.
- Tātad 10. pozīcijā atrodas 'e'. Bet, tā kā es gribu, lai viss būtu tieši pirms 'ea', man no šīs pozīcijas jāatņem 1. Pretējā gadījumā tiks atgriezts arī 'e'. Tādējādi es galu galā saņemu 9.
- LEFT skatās A2 un iegūst pirmās 9 rakstzīmes.
Datu iegūšana pēc teksta
Ir arī līdzekļi, lai iegūtu visu, kas atrodas pēc noteiktas teksta virknes. Taču šoreiz RIGHT nepalīdzēs. Tā vietā savu kārtu ņem REGEXREPLACE.
Padoms. REGEXREPLACE izmanto regulārās izteiksmes. Ja neesat gatavs ar tām strādāt, tālāk ir aprakstīts daudz vienkāršāks risinājums. REGEXREPLACE(text, regular_expression, replacement)
- teksts ir virkne vai šūna, kurā vēlaties veikt izmaiņas.
- regular_expression ir rakstzīmju kombinācija, kas apzīmē meklēto teksta daļu.
- aizvietošana ir jebkas, ko vēlaties saņemt tā vietā. teksts
Kā to izmantot, lai iegūtu datus pēc noteikta teksta - manā piemērā "ea"?
Viegli - izmantojot šo formulu:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
Ļaujiet man paskaidrot, kā tieši darbojas šī formula:
- A2 ir šūna, no kuras es iegūstu datus.
- "(.*)ea(.*)" ir mana regulārā izteiksme (vai arī to var saukt par masku). Es meklēju 'ea' un visas pārējās rakstzīmes ievietoju iekavās. Ir 2 rakstzīmju grupas - viss pirms 'ea' ir pirmā grupa (.*), bet viss pēc 'ea' ir otrā grupa (.*). Visa maska tiek ievietota dubultiekavītēs.
- "$2" ir tas, ko es gribu iegūt - otrā grupa (tāpēc tās numurs ir 2) no iepriekšējā argumenta.
Padoms. Šajā īpašajā lapā ir apkopotas visas regulārās izteiksmes izmantotās rakstzīmes.
Skaitļu iegūšana no Google Sheets šūnām
Ko darīt, ja vēlaties iegūt tikai skaitļus, kad to pozīcija un viss, kas ir pirms & amp; pēc tam nav nozīmes?
Palīdzēs arī maskas (pazīstamas arī kā regulārās izteiksmes). Patiesībā es izmantošu to pašu REGEXREPLACE funkciju un mainīšu regulāro izteiksmi:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 ir šūna, no kuras vēlos iegūt šos skaitļus.
- "[^[:cipars:]]" ir regulārā izteiksme, kas pieņem visu, izņemot ciparus. Šis simbols ^caret ir ciparu izņēmums.
- "" aizstāj visu, izņemot ciparu rakstzīmes, ar "nekas". Vai, citiem vārdiem sakot, pilnībā to noņem, atstājot šūnās tikai ciparus. Vai arī izraksta ciparus :)
Teksta izvilkšana, ignorējot ciparus un citas rakstzīmes
Līdzīgā veidā varat no Google Sheets šūnām izņemt tikai alfabēta datus. Regulārās izteiksmes, kas apzīmē tekstu, saīsinājumu attiecīgi sauc par - alfa:
=REGEXREPLACE(A2,"[^[:alfa:]]", "")
Šajā formulā tiek atņemts viss, izņemot burtus (A-Z, a-z), un burtiski aizstāts ar "neko". Vai, citiem vārdiem sakot, tiek atņemti tikai burti.
Datu iegūšana no Google Sheets šūnām bez formulām
Ja meklējat vienkāršu veidu, kā bez formulām iegūt dažāda veida datus, esat nonācis īstajā vietā. Mūsu papildinājumam Power Tools ir tikai piemēroti rīki.
Dažādu veidu datu iegūšana, izmantojot Power Tools papildinājumus
Pirmais rīks, par kuru vēlos, lai jūs uzzinātu, saucas Extract. Tas dara tieši to, ko jūs meklējat šajā rakstā, - no Google Sheets šūnām iegūst dažāda veida datus.
Lietotājam draudzīgi iestatījumi
Visi iepriekš minētie gadījumi nav atrisināmi tikai ar papildinājumu. Šis rīks ir lietotājam draudzīgs Tātad viss, kas jums jādara, ir jāizvēlas apstrādājamais diapazons un jāatzīmē vajadzīgās izvēles rūtiņas. Nav formulu, nav regulāru izteicienu.
Atceraties šī raksta otro punktu ar REGEXREPLACE un regulārām izteiksmēm? Lūk, cik vienkārši tas ir papildinājumam:
Papildu iespējas
Kā redzat, ir daži papildu iespējas (tikai izvēles rūtiņas), ko varat ātri ieslēgt/izslēgt lai iegūtu visprecīzāko rezultātu:
- Iegūstiet tikai vajadzīgā teksta gadījuma virknes.
- Izvelciet visus gadījumus no katras šūnas un ievietojiet tos vienā šūnā vai atsevišķās kolonnās.
- Ievietojiet jaunu kolonnu ar rezultātu pa labi no avota datiem.
- Notīriet iegūto tekstu no avota datiem.
Dažādu datu veidu iegūšana
Power Tools ne tikai izraksta datus pirms/pēc/starp noteiktām teksta virknēm un pirmajām/pēdējām N rakstzīmēm, bet arī:
- Skaitļi kopā ar decimāldaļām, saglabājot neskartu decimāldaļu/tiūkstošdaļu atdalītāju:
Jebkuras datu virknes iegūšana no jebkuras vietas
Ir arī iespēja iestatīt savu precīzu modeli un izmantot to ieguvei. Izraksts pēc maskas un tā aizstājējzīmēm - * un ? - veiciet šo triku:
- Piemēram, varat izcelt visu, kas atrodas starp iekavām, izmantojot šādu masku: (*)
- Vai arī iegūstiet tos SKU, kuru ID ir tikai 5 numuri: SKU?????
- Vai arī, kā parādīts zemāk redzamajā ekrānšāviņā, izvelciet visu, kas atrodas pēc katras šūnas "ea": ea*
Datuma un laika izvilkšana no laika zīmēm
Papildus ir pieejams mazāks rīks, kas no laika zīmēm izraksta datumu un laiku - tas saucas Split Date & amp; Time.
Lai gan tas tika izveidots, lai vispirms sadalītu laika zīmes, tas lieliski spēj iegūt vienu no vēlamajām vienībām atsevišķi:
Vienkārši atlasiet vienu no izvēles rūtiņām atkarībā no tā, ko vēlaties iegūt - datumu vai laiku - no laika atzīmēm Google tabulās, un nospiediet pogu Split . Vajadzīgā vienība tiks nokopēta jaunā slejā (vai arī tā aizstās sākotnējos datus, ja atzīmēsiet arī pēdējo izvēles rūtiņu):
Šis rīks ir arī daļa no Power Tools papildinājuma, tāpēc, kad to instalēsiet, lai iegūtu jebkādus datus no Google Sheets šūnām, tas būs pilnībā nodrošināts. Ja ne, lūdzu, atstājiet komentāru, un mēs jums palīdzēsim :)