Ištraukite duomenis iš "Google" lentelių: tam tikrą tekstą iš eilučių, URL adresus iš nuorodų ir kt.

  • Pasidalinti
Michael Brown

Ši kita mūsų operacijų su tekstu skaičiuoklėse dalis skirta išskyrimui. Sužinokite, kaip vienu metu iš kelių "Google Sheets" langelių iš įvairių pozicijų ištraukti įvairius duomenis - tekstą, simbolius, skaičius, URL, el. pašto adresus, datą ir laiką ir t. t. - iš įvairių pozicijų keliuose "Google Sheets" langeliuose.

    "Google Sheets" formulės tekstui ir skaičiams iš eilučių išgauti

    Formulės "Google" lentelėse yra visko. Kai kurios kombinacijos prideda tekstą & amp; skaičius ir pašalina įvairius simbolius, tačiau kai kurios iš jų taip pat ištraukia tekstą, skaičius, atskirus simbolius ir t. t.

    Duomenų išskyrimas pagal poziciją: pirmieji/paskutinieji/viduriniai N ženklų

    Lengviausia dirbti su funkcijomis, kai ruošiatės paimti duomenis iš "Google Sheets" langelių, yra LEFT, RIGHT ir MID. Jomis gaunami bet kokie duomenys pagal padėtį.

    Duomenų ištraukimas iš "Google Sheets" ląstelių pradžios

    Naudodami funkciją LEFT galite lengvai ištraukti pirmuosius N simbolių:

    LEFT(eilutė,[simbolių skaičius])
    • eilutė yra tekstas, iš kurio norite išgauti duomenis.
    • simbolių skaičius yra simbolių, kuriuos reikia išimti pradedant iš kairės, skaičius.

    Pateiksime paprasčiausią pavyzdį: pašalinkime iš telefono numerių šalių kodus:

    Kaip matote, šalių kodai langelių pradžioje užima 6 simbolius, todėl reikia tokios formulės:

    =LEFT(A2,6)

    Patarimas. ArrayFormula leis gauti 6 simbolius iš viso diapazono vienu metu:

    =ArrayFormula(LEFT(A2:A7,6))

    Duomenų ištraukimas iš "Google" langelių pabaigos

    Jei norite iš langelių ištraukti paskutinius N simbolių, naudokite funkciją RIGHT:

    RIGHT(eilutė,[simbolių skaičius])
    • eilutė vis dar yra tekstas (arba ląstelės nuoroda), iš kurio išgaunami duomenys.
    • simbolių skaičius taip pat yra simbolių, kuriuos reikia paimti iš dešinės, skaičius.

    Gaukime tos šalies pavadinimus iš tų pačių telefono numerių:

    Jie užima tik 2 simbolius ir būtent tai paminėjau formulėje:

    =PRAVA(A2,2)

    Patarimas. "ArrayFormula" taip pat padės išgauti duomenis iš visų "Google Sheets" langelių galo vienu metu:

    =ArrayFormula(RIGHT(A2:A7,2))

    Duomenų ištraukimas iš "Google" langelių vidurio

    Jei yra funkcijos, skirtos duomenims iš langelių pradžios ir pabaigos išgauti, turi būti ir funkcija, skirta duomenims iš vidurio langelio išgauti. Ir taip - tokia funkcija yra.

    Jis vadinamas MID:

    MID(eilutė, starting_at, extract_length)
    • eilutė - tekstą, iš kurio norite pašalinti vidurinę dalį.
    • starting_at - simbolio, nuo kurio norite pradėti gauti duomenis, padėtį.
    • extract_length - simbolių, kuriuos reikia ištraukti, skaičių.

    Remdamiesi tų pačių telefono numerių pavyzdžiu, suraskime pačius telefono numerius be jų šalių kodų ir šalių santrumpų:

    Kadangi šalių kodai baigiasi 6-uoju ženklu, o 7-asis yra brūkšnelis, aš ištrauksiu skaičius nuo 8-tojo skaitmens. Iš viso gausiu 8 skaitmenis:

    =MID(A2,8,8)

    Patarimas. Pakeitę vieną ląstelę į visą diapazoną ir apvynioję ją į "ArrayFormula", gausite kiekvieno langelio rezultatą iš karto:

    =ArrayFormula(MID(A2:A7,8,8))

    Teksto / skaičių išskyrimas iš eilučių

    Kartais teksto išskyrimas pagal poziciją (kaip parodyta pirmiau) yra netinkamas. Reikalingos eilutės gali būti bet kurioje langelių dalyje ir susidėti iš skirtingo simbolių skaičiaus, todėl kiekvienai ląstelei reikia kurti skirtingas formules.

    Tačiau "Google Sheets" nebūtų "Google Sheets", jei joje nebūtų kitų funkcijų, kurios padėtų išgauti tekstą iš eilučių.

    Apžvelkime kelis galimus skaičiuoklės būdus.

    Ištraukti duomenis prieš tam tikrą tekstą - LEFT+SEARCH

    Kai norite išskirti duomenis, kurie yra prieš tam tikrą tekstą, naudokite LEFT + SEARCH:

    • LEFT naudojamas tam tikram simbolių skaičiui grąžinti nuo langelių pradžios (iš kairės).
    • IEŠKOTI ieško tam tikrų simbolių ir (arba) eilučių ir nustato jų padėtį.

    Sujunkite šiuos - ir LEFT grąžins SEARCH pasiūlytą simbolių skaičių.

    Štai pavyzdys: kaip išgauti tekstinius kodus prieš kiekvieną "ea"?

    Ši formulė padės jums panašiais atvejais:

    =LEFT(A2,SEARCH("ea",A2)-1)

    Štai kas vyksta formulėje:

    1. Ieškoti("ea",A2) ieško "ea" A2 langelyje ir grąžina kiekvieno langelio "ea" pradžios poziciją - 10.
    2. Taigi 10-oje pozicijoje yra "e". Bet kadangi noriu, kad viskas būtų prieš pat "ea", iš šios pozicijos turiu atimti 1. Priešingu atveju bus grąžinta ir "e". Taigi galiausiai gaunu 9.
    3. LEFT žiūri į A2 ir gauna pirmuosius 9 simbolius.

    Duomenų išskyrimas po tekstu

    Taip pat yra priemonių, kaip gauti viską po tam tikros teksto eilutės. Tačiau šį kartą RIGHT nepadės. Vietoj to savo eilės imasi REGEXREPLACE.

    Patarimas. REGEXREPLACE naudoja reguliarias išraiškas. Jei nesate pasiruošę su jomis dirbti, toliau aprašytas daug paprastesnis sprendimas. REGEXREPLACE(text, regular_expression, replacement)

    • tekstas yra eilutė arba ląstelė, kurioje norite atlikti pakeitimus.
    • regular_expression simbolių derinys, reiškiantis ieškomą teksto dalį.
    • keitimas yra bet kas, ką norite gauti vietoj šio tekstas

    Taigi, kaip ją naudoti norint išgauti duomenis po tam tikro teksto - mano pavyzdyje "ea"?

    Lengva - pagal šią formulę:

    =REGEXREPLACE(A2,"(.*)ea(.*)","$2")

    Paaiškinsiu, kaip tiksliai veikia ši formulė:

    1. A2 yra ląstelė, iš kurios ištraukiu duomenis.
    2. "(.*)ea(.*)" yra mano reguliarioji išraiška (arba ją galima vadinti kauke). Aš ieškau simbolio 'ea', o visus kitus simbolius sudedu į skliaustelius. Yra 2 simbolių grupės - viskas, kas yra prieš 'ea', yra pirmoji grupė (.*), o viskas, kas yra po 'ea', yra antroji grupė (.*). Visa kaukė dedama į dvigubas kabutes.
    3. "$2" yra tai, ką noriu gauti - antrąją grupę (todėl jos numeris 2) iš ankstesnio argumento.

    Patarimas. Visi reguliariosiose išraiškose naudojami simboliai yra surinkti šiame specialiame puslapyje.

    Skaičių išskyrimas iš "Google Sheets" ląstelių

    Ką daryti, jei norite išskirti tik skaičius, kai jų padėtis ir viskas, kas eina prieš & amp; po nesvarbu?

    Taip pat padės kaukės (dar žinomos kaip reguliariosios išraiškos). Tiesą sakant, pasinaudosiu ta pačia REGEXREPLACE funkcija ir pakeisiu reguliariąją išraišką:

    =REGEXREPLACE(A2,"[^[:skaitmenys:]]", "")

    1. A2 yra langelis, iš kurio noriu gauti šiuos skaičius.
    2. "[^[:skaitmenys:]]" yra reguliarioji išraiška, kuri priima viską, išskyrus skaitmenis. ^caret simbolis daro išimtį skaitmenims.
    3. "" pakeičia viską, išskyrus skaitmeninius simbolius, į "nieko". Arba, kitaip tariant, visiškai pašalina, palikdamas ląstelėse tik skaičius. Arba ištraukia skaičius :)

    Ištraukti tekstą ignoruojant skaičius ir kitus simbolius

    Panašiai iš "Google Sheets" langelių galite pašalinti tik raidinius duomenis. Reguliariosios išraiškos, kuri reiškia tekstą, sutrumpinimas vadinamas atitinkamai - alpha:

    =REGEXREPLACE(A2,"[^[:alpha:]]", "")

    Ši formulė paima viską, išskyrus raides (A-Z, a-z), ir pažodžiui pakeičia "niekuo". Arba, kitaip tariant, paima tik raides.

    Duomenų išgavimo iš "Google Sheets" langelių būdai be formulių

    Jei ieškote paprasto būdo be formulių išgauti įvairių tipų duomenis, pataikėte ten, kur reikia. Mūsų priedėlyje "Power Tools" yra tik šiam darbui tinkamų įrankių.

    Ištraukti įvairių tipų duomenis naudojant "Power Tools" priedus

    Pirmasis įrankis, kurį norėčiau, kad žinotumėte, vadinasi Extract. Jis atlieka būtent tai, ko ieškote šiame straipsnyje - iš "Google Sheets" langelių ištraukia įvairių tipų duomenis.

    Patogūs naudotojo nustatymai

    Visus pirmiau aprašytus atvejus galima išspręsti ne tik naudojant priedą. Įrankis yra patogus naudoti todėl tereikia pasirinkti norimą apdoroti intervalą ir pažymėti reikiamus žymimuosius langelius. Jokių formulių, jokių reguliariųjų išraiškų.

    Prisimenate antrąjį šio straipsnio punktą su REGEXREPLACE ir reguliariosiomis išraiškomis? Štai kaip paprasta tai padaryti su priedu:

    Papildomos galimybės

    Kaip matote, yra keletas papildomos parinktys (tik žymimieji langeliai), kuriuos galite greitai įjungti / išjungti norėdami gauti kuo tikslesnį rezultatą:

    1. Gauti tik reikiamo teksto atveju eilutes.
    2. Iš kiekvieno langelio ištraukite visus atvejus ir sudėkite juos į vieną langelį arba atskirus stulpelius.
    3. Įterpkite naują stulpelį su rezultatu šaltinio duomenų dešinėje.
    4. Išvalykite iš šaltinio duomenų išskirtą tekstą.

    Ištraukti skirtingų tipų duomenis

    "Power Tools" ne tik ištraukia duomenis prieš tam tikras teksto eilutes, po jų ir tarp jų bei pirmuosius/paskutinius N simbolių, bet taip pat pašalina:

    1. Skaičiai kartu su dešimtainėmis dalimis, išlaikant nepažeistus dešimtųjų ir tūkstantųjų dalių skirtukus:

  • N simbolių, prasidedančių nuo tam tikros langelio vietos.
  • Hipersaitai (tekstas + nuoroda), URL (nuoroda), el. pašto adresai.
  • Ištraukti bet kokią duomenų eilutę iš bet kur

    Taip pat yra galimybė nustatyti tikslų savo modelį ir naudoti jį ištraukimui. Ištrauka pagal kaukę ir jos pakaitinių simbolių - * ir ? - atlikti šį triuką:

    • Pavyzdžiui, viską, kas yra tarp skliaustų, galite išryškinti naudodami šią kaukę: (*)
    • Arba gaukite tuos SKU, kurių ID turi tik 5 numerius: SKU?????
    • Arba, kaip parodyta toliau pateiktame paveikslėlyje, ištraukite viską po kiekvieno langelio "ea": ea*

    Datos ir laiko išskyrimas iš laiko žymų

    Be to, yra mažesnė priemonė, kuri iš laiko žymų išgauna datą ir laiką - ji vadinama "Split Date & amp; Time".

    Nors jis pirmiausia buvo sukurtas laiko žymenims dalyti, jis puikiai gali gauti vieną iš norimų vienetų atskirai:

    Tiesiog pasirinkite vieną iš žymimųjų langelių, priklausomai nuo to, ką - datą ar laiką - norite išgauti iš laiko žymų "Google Sheets", ir paspauskite Splitas . Reikiamas vienetas bus nukopijuotas į naują stulpelį (arba jis pakeis pradinius duomenis, jei pažymėsite ir paskutinį žymimąjį langelį):

    Šis įrankis taip pat yra "Power Tools" priedo dalis, todėl, kai jį įdiegsite norėdami gauti bet kokius duomenis iš "Google Sheets" langelių, jis bus jums visiškai prieinamas. Jei ne, palikite komentarą ir mes jums padėsime :)

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.