Gegevens uit Google Sheets halen: bepaalde tekst uit strings, URL's uit links, en meer

  • Deel Dit
Michael Brown

Dit volgende deel van onze bewerkingen met tekst in spreadsheets is gewijd aan extractie. Ontdek manieren om verschillende gegevens - tekst, tekens, nummers, URL's, e-mailadressen, datum & tijd, enz. - uit verschillende posities in meerdere cellen van Google Sheets tegelijk te extraheren.

    Google Sheets formules om tekst en getallen uit strings te halen

    Formules in Google Sheets zijn van alles. Terwijl sommige combo's tekst & nummers toevoegen en verschillende tekens verwijderen, halen sommige ook tekst, nummers, afzonderlijke tekens, enz.

    Gegevens uitpakken op positie: eerste/laatste/middenste N-karakters

    De gemakkelijkste functies om mee om te gaan als je gegevens uit Google Sheets-cellen wilt halen zijn LINKS, RECHTS en MIDDEN. Zij halen alle gegevens per positie.

    Gegevens uit het begin van cellen in Google Sheets halen

    U kunt de eerste N tekens gemakkelijk verwijderen met de functie LINKS:

    LINKS(string,[aantal_van_tekens])
    • string is de tekst waaruit u gegevens wilt halen.
    • aantal_van_tekens is het aantal karakters dat moet worden verwijderd, beginnend vanaf links.

    Hier is het eenvoudigste voorbeeld: we halen de landcodes uit de telefoonnummers:

    Zoals u kunt zien, staan er voor landencodes 6 symbolen aan het begin van cellen, dus de formule die u nodig hebt is:

    =LEFT(A2,6)

    Tip. ArrayFormula maakt het mogelijk om in één keer 6 tekens uit het hele bereik te krijgen:

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

    Gegevens uit het einde van cellen in Google Sheets halen

    Om de laatste N tekens uit de cellen te halen, gebruik je de functie RECHTS:

    RECHTS(string,[aantal_van_tekens])
    • string is nog steeds de tekst (of een celverwijzing) om gegevens uit te halen.
    • aantal_van_tekens is ook het aantal karakters dat van rechts moet worden genomen.

    Laten we die landnamen uit dezelfde telefoonnummers halen:

    Ze nemen slechts 2 tekens en dat is precies wat ik in de formule vermeld:

    =RIGHT(A2,2)

    Tip. Met ArrayFormula kunt u ook gegevens halen uit het einde van alle cellen van Google Sheets tegelijk:

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

    Gegevens uit het midden van cellen in Google Sheets halen

    Als er functies zijn om gegevens uit het begin en het einde van cellen te halen, moet er ook een functie zijn om gegevens uit het midden te halen. En ja - die is er.

    Het heet MID:

    MID(string, starting_at, extract_length)
    • string - de tekst waar u het middelste gedeelte uit wilt halen.
    • starting_at - de positie van het teken waarvan u de gegevens wilt gaan halen.
    • extract_lengte - het aantal karakters dat je eruit moet halen.

    Laten we aan de hand van het voorbeeld van dezelfde telefoonnummers de telefoonnummers zelf zoeken zonder hun landcodes en landafkorting:

    Aangezien de landcodes eindigen met het 6e teken en het 7e het streepje is, trek ik nummers vanaf het 8e cijfer. En krijg ik in totaal 8 cijfers:

    =MID(A2,8,8)

    Tip. Door één cel te veranderen in het hele bereik en het in een ArrayFormula te wikkelen, krijgt u het resultaat voor elke cel tegelijk:

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

    Tekst/cijfers uit strings halen

    Soms is het extraheren van tekst per positie (zoals hierboven) geen optie. De vereiste strings kunnen zich in elk deel van uw cellen bevinden en uit een verschillend aantal tekens bestaan, waardoor u voor elke cel andere formules moet maken.

    Maar Google Sheets zou Google Sheets niet zijn als het geen andere functies had die helpen om tekst uit strings te extraheren.

    Laten we een paar mogelijke manieren bekijken die spreadsheets bieden.

    Gegevens ophalen vóór een bepaalde tekst - LINKS+Zoeken

    Wanneer u gegevens wilt extraheren die aan een bepaalde tekst voorafgaan, gebruikt u LINKS + ZOEKEN:

    • LINKS wordt gebruikt om een bepaald aantal tekens vanaf het begin van de cellen (vanaf links) terug te geven
    • ZOEKEN zoekt naar bepaalde tekens/strings en krijgt hun positie.

    Combineer deze - en LINKS geeft het aantal tekens dat SEARCH voorstelt.

    Hier is een voorbeeld: hoe haal je tekstuele codes vóór elke "ea" eruit?

    Dit is de formule die u in soortgelijke gevallen zal helpen:

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

    Dit is wat er gebeurt in de formule:

    1. ZOEKEN("ea",A2) zoekt naar 'ea' in A2 en geeft de positie terug waar die 'ea' begint voor elke cel - 10.
    2. Dus de 10e positie is waar 'e' staat. Maar omdat ik alles vlak voor 'ea' wil hebben, moet ik van die positie 1 aftrekken. Anders komt 'e' ook terug. Dus krijg ik uiteindelijk 9.
    3. LINKS kijkt naar A2 en krijgt de eerste 9 karakters.

    Gegevens uitpakken na de tekst

    Er zijn ook middelen om alles na een bepaalde tekststring te krijgen. Maar deze keer helpt RECHTS niet. In plaats daarvan is REGEXREPLACE aan de beurt.

    Tip. REGEXREPLACE gebruikt reguliere expressies. Als u daar niet klaar voor bent, is er een veel eenvoudigere oplossing die hieronder wordt beschreven. REGEXREPLACE(tekst, reguliere_expressie, vervanging)

    • tekst is een string of een cel waarin u wijzigingen wilt aanbrengen
    • regelmatige_expressie is de combinatie van tekens die staat voor een deel van de tekst die u zoekt
    • vervanging is wat je wilt krijgen in plaats van dat tekst

    Dus, hoe gebruik je het om gegevens te extraheren na een bepaalde tekst - 'ea' in mijn voorbeeld?

    Makkelijk. Met deze formule:

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

    Laat me uitleggen hoe deze formule precies werkt:

    1. A2 is een cel waaruit ik de gegevens haal.
    2. "(.*)ea(.*)" is mijn reguliere expressie (of je kunt het een masker noemen). Ik zoek naar 'ea' en zet alle andere tekens tussen haakjes. Er zijn 2 groepen tekens - alles voor 'ea' is de eerste groep (.*) en alles na 'ea' is de tweede (.*). Het hele masker zelf wordt tussen dubbele aanhalingstekens gezet.
    3. "$2" is wat ik wil krijgen - de tweede groep (vandaar het nummer 2) van het vorige argument.

    Tip. Alle tekens die in reguliere uitdrukkingen worden gebruikt, worden verzameld op deze speciale pagina.

    Getallen uit Google Sheets-cellen halen

    Wat als u alleen getallen wilt extraheren als hun positie en wat er voor & na komt er niet toe doet?

    Maskers (a.k.a. reguliere expressies) helpen ook. In feite neem ik dezelfde REGEXREPLACE-functie en verander de reguliere expressie:

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

    1. A2 is een cel waar ik die getallen uit wil halen.
    2. "[^[:digit:]]" is een reguliere uitdrukking die alles aanneemt behalve cijfers. Dat ^caret symbool maakt een uitzondering voor cijfers.
    3. "" vervangt alles behalve numerieke tekens door "niets". Of, met andere woorden, verwijdert deze volledig en laat alleen getallen in de cellen over. Of, haalt getallen eruit :)

    Tekst uitpakken zonder rekening te houden met cijfers en andere tekens

    Op soortgelijke wijze kunt u alleen alfabetische gegevens uit cellen van Google Sheets halen. De samentrekking voor de reguliere expressie die voor tekst staat, heet dienovereenkomstig - alpha:

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

    Deze formule neemt alles behalve letters (A-Z, a-z) en vervangt die letterlijk door "niets". Of, anders gezegd, neemt alleen letters weg.

    Formulevrije manieren om gegevens uit Google Sheets-cellen te halen

    Als u op zoek bent naar een gemakkelijke formulevrije manier om verschillende soorten gegevens te extraheren, bent u bij ons aan het juiste adres. Onze invoegtoepassing Power Tools heeft precies het juiste gereedschap.

    Verschillende soorten gegevens extraheren met behulp van Power Tools add-ons

    Het eerste hulpmiddel dat ik u wil laten kennen heet Extract. Het doet precies wat u in dit artikel zoekt: het haalt verschillende soorten gegevens uit cellen van Google Sheets.

    Gebruiksvriendelijke instellingen

    Alle gevallen die ik hierboven heb behandeld zijn niet alleen oplosbaar met de add-on. De tool is gebruiksvriendelijk dus alles wat u moet doen is het bereik selecteren dat u wilt verwerken en de vereiste selectievakjes aanvinken. Geen formules, geen reguliere uitdrukkingen.

    Herinner je je het tweede punt van dit artikel met REGEXREPLACE en reguliere uitdrukkingen? Hier zie je hoe eenvoudig het is voor de add-on:

    Extra-opties

    Zoals u kunt zien, zijn er enkele extra opties (alleen selectievakjes) die je kunt snel aan/uit zetten om het meest nauwkeurige resultaat te krijgen:

    1. Verkrijg de strings van de vereiste tekst alleen in het geval dat.
    2. Haal alle voorkomens uit elke cel en plaats ze in één cel of aparte kolommen.
    3. Voeg een nieuwe kolom in met het resultaat rechts van de brongegevens.
    4. Wis de geëxtraheerde tekst uit de brongegevens.

    Verschillende soorten gegevens extraheren

    Niet alleen haalt Power Tools gegevens voor/na/tussen bepaalde tekststrings en de eerste/laatste N tekens eruit:

    1. Getallen samen met hun decimalen met behoud van het scheidingsteken tussen decimalen en duizendtallen:

  • N tekens vanaf een bepaalde positie in een cel.
  • Hyperlinks (tekst + link), URL's (link), e-mailadressen.
  • Haal overal een reeks gegevens vandaan

    Er is ook een optie om je eigen exacte patroon in te stellen en te gebruiken voor de extractie. Extract door masker en zijn jokertekens - * en ? - doen de truc:

    • U kunt bijvoorbeeld alles tussen de haakjes naar voren halen met het volgende masker: (*)
    • Of die SKU's die maar 5 nummers in hun id hebben: SKU?????
    • Of, zoals ik op de schermafbeelding hieronder laat zien, trek alles na elke 'ea' in elke cel: ea*

    Datum en tijd uit tijdstempels halen

    Als bonus is er een kleiner hulpmiddel dat datum en tijd uit tijdstempels haalt - het heet Split Date & Time.

    Hoewel het in de eerste plaats is gemaakt om tijdstempels te splitsen, is het perfect in staat om een van de gewenste eenheden afzonderlijk te krijgen:

    Selecteer een van de selectievakjes afhankelijk van wat u wilt extraheren - datum of tijd - uit tijdstempels in Google Sheets en druk op Gesplitst De gewenste eenheid wordt gekopieerd naar een nieuwe kolom (of vervangt de oorspronkelijke gegevens als u ook het laatste selectievakje selecteert):

    Dit hulpmiddel maakt ook deel uit van de Power Tools add-on, dus als je het eenmaal hebt geïnstalleerd om gegevens uit Google Sheets-cellen te halen, heb je het helemaal onder controle. Zo niet, laat dan een reactie achter en wij helpen je verder :)

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.