Talaan ng nilalaman
Ang susunod na bahagi ng aming mga operasyon na may teksto sa mga spreadsheet ay nakatuon sa pagkuha. Alamin ang mga paraan upang kunin ang iba't ibang data — text, character, numero, URL, email address, petsa & oras, atbp. — mula sa iba't ibang posisyon sa maramihang mga cell ng Google Sheets nang sabay-sabay.
Mga formula ng Google Sheets upang mag-extract ng text at mga numero mula sa mga string
Mga Formula sa Google Ang mga sheet ay lahat. Habang nagdaragdag ang ilang combo ng text & mga numero at nag-aalis ng iba't ibang mga character, ang ilan sa mga ito ay nag-extract din ng text, mga numero, hiwalay na mga character, atbp.
I-extract ang data ayon sa posisyon: first/last/middle N chars
Ang pinakamadaling function na haharapin kapag kukuha ka na ng data mula sa mga cell ng Google Sheets ay KALIWA, KANAN, at GITNA. Nakukuha nila ang anumang data ayon sa posisyon.
I-extract ang data mula sa simula ng mga cell sa Google Sheets
Madali mong mabubunot ang unang N character gamit ang LEFT function:
LEFT(string, [number_of_characters])- string ay ang text kung saan mo gustong kumuha ng data.
- number_of_characters ay ang bilang ng mga character na aalisin simula mula sa kaliwa.
Narito ang pinakasimpleng halimbawa: kunin natin ang mga country code mula sa mga numero ng telepono:
Gaya ng nakikita mo, bansa kumukuha ang mga code ng 6 na simbolo sa simula ng mga cell, kaya ang formula na kailangan mo ay:
=LEFT(A2,6)
Tip. Gagawin ng ArrayFormula na posible na makakuha ng 6 na character mula sabuong saklaw nang sabay-sabay:
=ArrayFormula(LEFT(A2:A7,6))
I-extract ang data mula sa dulo ng mga cell sa Google Sheets
Upang bunutin ang huling N character mula sa mga cell, gamitin ang RIGHT function sa halip:
RIGHT(string,[number_of_characters])- string pa rin ang text (o isang cell reference) kung saan kunin ang data. <12 Ang> number_of_character ay ang bilang din ng mga character na kukunin mula sa kanan.
Kunin natin ang mga pangalan ng bansang iyon mula sa parehong mga numero ng telepono:
Kumuha lamang sila ng 2 character at iyon mismo ang binanggit ko sa formula:
=RIGHT(A2,2)
Tip. Tutulungan ka rin ng ArrayFormula na mag-extract ng data mula sa dulo ng lahat ng Google Sheets cells nang sabay-sabay:
=ArrayFormula(RIGHT(A2:A7,2))
I-extract ang data mula sa gitna ng mga cell sa Google Sheets
Kung may mga function na mag-extract ng data mula sa simula at dulo ng mga cell, dapat mayroong function na mag-extract ng data mula sa gitna rin. At oo — meron.
Tinatawag itong MID:
MID(string, starting_at, extract_length)- string — ang text kung saan mo gustong alisin mula sa gitnang bahagi.
- simula_sa — ang posisyon ng karakter kung saan mo gustong simulan ang pagkuha ng data.
- extract_length — ang numero ng mga character na kailangan mong i-pull out.
Sa halimbawa ng parehong mga numero ng telepono, hanapin natin mismo ang mga numero ng telepono nang wala ang kanilang mga country code at bansaabbreviation:
Habang nagtatapos ang mga country code sa ika-6 na character at ang ika-7 ay ang gitling, kukuha ako ng mga numero simula sa ika-8 digit. At makakakuha ako ng 8 digit sa kabuuan:
=MID(A2,8,8)
Tip. Ang pagpapalit ng isang cell sa buong hanay at pagbabalot nito sa ArrayFormula ay magbibigay sa iyo ng resulta para sa bawat cell nang sabay-sabay:
=ArrayFormula(MID(A2:A7,8,8))
I-extract ang text/numero mula sa mga string
Minsan ang pagkuha ng teksto ayon sa posisyon (tulad ng ipinapakita sa itaas) ay hindi isang opsyon. Ang mga kinakailangang string ay maaaring nasa anumang bahagi ng iyong mga cell at binubuo ng ibang bilang ng mga character na pumipilit sa iyong gumawa ng iba't ibang mga formula para sa bawat cell.
Ngunit ang Google Sheets ay hindi magiging Google Sheets kung wala ito iba pang mga function na makakatulong sa pagkuha ng text mula sa mga string.
Suriin natin ang ilang posibleng paraan ng pag-aalok ng mga spreadsheet.
I-extract ang data bago ang isang partikular na text — LEFT+SEARCH
Sa tuwing ikaw gustong mag-extract ng data na nauuna sa isang partikular na text, gamitin ang LEFT + SEARCH:
- LEFT ay ginagamit upang ibalik ang isang tiyak na bilang ng mga character mula sa simula ng mga cell (mula sa kanilang kaliwa)
- SEARCH ay naghahanap ng ilang character/string at nakuha ang posisyon nito.
Pagsamahin ang mga ito — at ibabalik ng LEFT ang bilang ng mga character na iminungkahi ng SEARCH.
Narito ang isang halimbawa: paano mo kinukuha ang mga textual code bago ang bawat 'ea'?
Ito ang formula na makakatulong sa iyo sa katulad na paraanmga kaso:
=LEFT(A2,SEARCH("ea",A2)-1)
Narito ang nangyayari sa formula:
- SEARCH("ea",A2 ) hinahanap ang 'ea' sa A2 at ibinabalik ang posisyon kung saan nagsisimula ang 'ea' na iyon para sa bawat cell — 10.
- Kaya ang ika-10 posisyon ay kung saan naninirahan ang 'e'. Ngunit dahil gusto ko ang lahat bago ang 'ea', kailangan kong ibawas ang 1 sa posisyong iyon. Kung hindi, ibabalik din ang 'e'. Kaya nakakuha ako ng 9 sa huli.
- LEFT tumitingin sa A2 at nakuha ang unang 9 na character.
I-extract ang data pagkatapos ng text
Doon ay nangangahulugan din na makuha ang lahat pagkatapos ng isang tiyak na string ng teksto. Ngunit sa pagkakataong ito, hindi makakatulong ang RIGHT. Sa halip, ang REGEXREPLACE ang humalili.
Tip. Gumagamit ang REGEXREPLACE ng mga regular na expression. Kung hindi ka pa handang harapin ang mga ito, mayroong mas madaling solusyon na inilalarawan sa ibaba. REGEXREPLACE(text, regular_expression, replacement)
- text ay isang string o cell kung saan mo gustong gumawa ng mga pagbabago
- regular_expression ay ang kumbinasyon ng ang mga character na kumakatawan sa isang bahagi ng text na hinahanap mo
- kapalit ay anumang gusto mong makuha sa halip na text
Kaya, paano mo ito ginagamit upang kunin ang data pagkatapos ng isang partikular na text — 'ea' sa aking halimbawa?
Madali — gamit ang formula na ito:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
Hayaan akong ipaliwanag kung paano eksaktong gumagana ang formula na ito:
- A2 ay isang cell na kinukuha ko ang data mula sa.
- "(.*)ea(.*)" ay ang aking regularexpression (o maaari mo itong tawaging maskara). Hinahanap ko ang 'ea' at inilagay ang lahat ng iba pang mga character sa mga bracket. Mayroong 2 pangkat ng mga character — lahat ng bago ang 'ea' ay ang unang pangkat (.*) at lahat pagkatapos ng 'ea' ay ang pangalawa (.*). Ang buong mask mismo ay inilalagay sa double-quotes.
- "$2" ang gusto kong makuha — ang pangalawang grupo (kaya numero 2 ito) mula sa nakaraang argumento.
Tip. Ang lahat ng mga character na ginamit sa mga regular na expression ay kinokolekta sa espesyal na pahinang ito.
I-extract ang mga numero mula sa mga cell ng Google Sheets
Paano kung numero lang ang gusto mong i-extract kapag ang posisyon nila at anuman ang nauna sa & after doesn't matter?
Makakatulong din ang mga mask (a.k.a. regular expressions). Sa katunayan, kukuha ako ng parehong REGEXREPLACE function at babaguhin ang regular na expression:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 ay isang cell kung saan ko gustong kunin ang mga numerong iyon.
- "[^[:digit:]]" ay isang regular na expression na kumukuha ng lahat maliban sa mga digit. Ang simbolo ng ^caret na iyon ang gumagawa ng exception para sa mga digit.
- "" pinapalitan ang lahat maliban sa mga numeric na character ng "wala". O, sa madaling salita, ganap na inaalis ito, nag-iiwan lamang ng mga numero sa mga cell. O kaya, kinukuha ang mga numero :)
I-extract ang text na binabalewala ang mga numero at iba pang character
Sa katulad na paraan, maaari ka lang kumuha ng alphabetic na data mula sa mga cell ng Google Sheets. Ang contraction para sa regular na expression naang ibig sabihin ng text ay tinatawag nang naaayon — alpha:
=REGEXREPLACE(A2,"[^[:alpha:]]", "")
Ang formula na ito ay tumatagal ng lahat maliban sa mga titik (A-Z, a-z) at literal na pinapalitan ito ng "wala" . O, para ilagay ito sa ibang paraan, mga titik lang ang ilalabas.
Mga paraan na walang formula para kumuha ng data mula sa mga cell ng Google Sheets
Kung naghahanap ka ng madaling paraan na walang formula upang kunin ang iba't ibang uri ng data, napunta ka sa tamang lugar. Ang aming Power Tools add-on ay mayroon lamang mga tool para sa trabaho.
I-extract ang iba't ibang uri ng data gamit ang Power Tools add-on
Ang unang tool na gusto kong malaman mo ay tinatawag na Extract . Ginagawa nito ang eksaktong hinahanap mo sa artikulong ito — kumukuha ng iba't ibang uri ng data mula sa mga cell ng Google Sheets.
Mga setting ng user-friendly
Lahat ng kaso na nasaklaw ko sa itaas ay hindi nalulusaw lang sa add-on. Ang tool ay user-friendly kaya ang kailangan mo lang gawin ay piliin ang hanay na gusto mong iproseso at lagyan ng tsek ang mga kinakailangang checkbox. Walang formula, walang regular na expression.
Naaalala mo ba ang pangalawang punto ng artikulong ito na may REGEXREPLACE at mga regular na expression? Narito kung gaano ito kadali para sa add-on:
Mga karagdagang opsyon
Tulad ng nakikita mo, may ilang mga karagdagang opsyon (mga checkbox lang) na maaari mong mabilis na i-on/i-off para makuha ang pinakatumpak na resulta:
- Kunin ang mga string ng kinakailangang text case lang.
- Hilahin ang lahat ng mga pangyayari mula sa bawat isacell at ilagay ang mga ito sa isang cell o magkahiwalay na column.
- Maglagay ng bagong column na may resulta sa kanan ng source data.
- I-clear ang na-extract na text mula sa source data.
I-extract ang iba't ibang uri ng data
Hindi lang Power Tools ang kumukuha ng data bago/pagkatapos/sa pagitan ng ilang partikular na string ng text at ng una/huling N character; ngunit inaalis din nito ang mga sumusunod:
- Mga numero kasama ang mga decimal ng mga ito na pinapanatiling buo ang mga decimal/libo-libong separator:
I-extract ang anumang string ng data mula sa kahit saan
Mayroon isang opsyon din upang i-set up ang iyong sariling eksaktong pattern at gamitin ito para sa pagkuha. I-extract sa pamamagitan ng mask at ang mga wildcard na character nito — * at ? — gawin ang trick:
- Halimbawa, maaari mong ilabas lahat sa pagitan ng mga bracket gamit ang sumusunod na mask: (*)
- O kunin ang mga SKU na may 5 numero lang sa kanilang mga id: SKU?????
- O, gaya ng ipinapakita ko sa screenshot sa ibaba, hilahin ang lahat pagkatapos ng bawat 'ea' sa bawat cell: ea*
I-extract ang petsa at oras mula sa mga timestamp
Bilang isang bonus, mayroong isang mas maliit na tool na kukuha ng petsa at oras mula sa mga timestamp — ito ay tinatawag na Split Date & Oras.
Bagaman ito ay nilikha upang hatiin ang mga timestamp sa unang lugar, ito ay perpektomay kakayahang makakuha ng isa sa mga gustong unit nang paisa-isa:
Pumili lang ng isa sa mga checkbox depende sa kung ano ang gusto mong i-extract — petsa o oras — mula sa mga timestamp sa Google Sheets at pindutin ang Hati . Kokopyahin ang kinakailangang unit sa isang bagong column (o papalitan nito ang orihinal na data kung pipiliin mo rin ang huling checkbox):
Ang tool na ito ay bahagi rin ng ang Power Tools add-on kaya sa sandaling i-install mo ito upang makakuha ng anumang data mula sa mga Google Sheets na cell, ganap kang masakop nito. Kung hindi, mangyaring mag-iwan ng komento at tutulungan ka namin :)