Excel Formulas Academy · leksjon

Hente ut mønstre med REGEXEXTRACT

Trekk ut delen av en tekststreng som samsvarer med et mønster.

Leksjon 2 av 413 trinn

Hente ut mønstre med REGEXEXTRACT er en gratis leksjon i Excel Formulas Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Excel Formulas Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Excel Formulas Academy inneholder totalt 4 leksjoner.

Fra ja/nei til å hente ut treffet

REGEXMATCH forteller om et mønster finnes. Ofte vil du ha selve teksten som samsvarer, for eksempel sifrene i Order #4821 eller domenet i en e-postadresse.

Det er oppgaven til REGEXEXTRACT. Den finner den første delen av teksten som samsvarer med mønsteret, og returnerer denne delen som celleverdien.

Dette er også en funksjon i Google Sheets. Det er en av de enkleste måtene å hente ut strukturerte deler fra uryddige, importerte data.

Syntaksen til REGEXEXTRACT

REGEXEXTRACT(text, pattern) returnerer den første delstrengen i text som samsvarer med pattern.

Hvis ingenting samsvarer, returnerer funksjonen feilen #N/A i stedet for en tom celle, noe som er viktig å huske.

Formelen nedenfor henter den første sammenhengende sekvensen med sifre fra A2. For Order 4821 returnerer den 4821.

=REGEXEXTRACT(A2, "\d+")

Den returnerer tekst, ikke et tall

REGEXEXTRACT returnerer alltid tekst, selv når tegnene som ble funnet, er sifre. Derfor kommer 4821 tilbake som en tekststreng, ikke som et tall du kan summere.

For å gjøre det om til et tall kan du pakke det inn i VALUE. Formelen nedenfor henter ut sifrene og konverterer dem, slik at du kan regne med resultatet.

=VALUE(REGEXEXTRACT(A2, "\d+"))

Hente ut bokstaver eller koder

Mønstre er ikke begrenset til sifre. For å hente ut et prefiks med store bokstaver bruker du en klasse sammen med en kvantor.

Formelen nedenfor henter de innledende bokstavene fra en kode som INV2024, og returnerer INV. [A-Z]+ betyr én eller flere store bokstaver etter hverandre.

=REGEXEXTRACT(A2, "[A-Z]+")

Eksempel: Del opp en produktkode

Anta at A2 inneholder SKU-4821-RED, og at du bare vil ha den numeriske delen i midten. Du kan beskrive plasseringen ved å ta med kontekst rundt den i mønsteret.

Formelen nedenfor leter etter sifre mellom to bindestreker og returnerer 4821. De bokstavelige bindestrekene leder motoren til riktig sekvens med sifre.

=REGEXEXTRACT(A2, "-(\d+)-")

Fangstgrupper returnerer bare delen du vil ha

Legg merke til parentesene i den siste formelen: (\d+). Dette er en fangstgruppe.

Når mønsteret ditt inneholder en fangstgruppe, returnerer REGEXEXTRACT bare det som står i parentesene, ikke hele treffet. Derfor returnerer -(\d+)- 4821 og fjerner bindestrekene.

Fangstgrupper lar deg matche omkringliggende kontekst for å bli mer presis, samtidig som du bare henter ut den delen du trenger.

=REGEXEXTRACT(A2, "-(\d+)-")

Praktisk eksempel: Hent e-postdomenet

Fra sam@coddykit.com ønsker du domenet coddykit.com. Match en @, og fang deretter opp alt som følger, frem til slutten.

Formelen nedenfor returnerer delen av A2 som følger etter alfakrøllen. (.+) fanger ett eller flere tegn av enhver type, og $ knytter det til slutten av strengen.

=REGEXEXTRACT(A2, "@(.+)$")

Forankringer gjør uttrekket presist

Forankringer hjelper deg med å hente ut en del fra en kjent posisjon. For å hente ut bare det første ordet forankrer du mønsteret ved starten og stopper ved det første mellomrommet.

Formelen nedenfor fanger de første tegnene i A2 som ikke er mellomrom. For John Smith returnerer den John. [^ ]+ betyr ett eller flere tegn som ikke er et mellomrom.

=REGEXEXTRACT(A2, "^([^ ]+)")

Slik håndterer du manglende treff

Ettersom et mislykket uttrekk gir #N/A, kan det å dra formelen nedover en kolonne med blandede data fylle arket ditt med feil.

Pakk kallet inn i IFERROR for å angi en ryddig reserveverdi. Formelen nedenfor returnerer sifrene hvis de finnes, eller en tom streng hvis det ikke finnes noen.

=IFERROR(REGEXEXTRACT(A2, "\d+"), "")

Uttrekk med alternativer

Pipe-tegnet | betyr eller. Det lar ett mønster matche flere alternativer. Dette er nyttig når en kode kan begynne med ulike prefikser.

Formelen nedenfor henter ut statusordet som finnes i A2: OPEN, CLOSED eller HOLD. Det første treffet returneres.

=REGEXEXTRACT(A2, "OPEN|CLOSED|HOLD")

Hent ut data fra en hel kolonne

REGEXEXTRACT er særlig nyttig når den brukes på en hel kolonne med importerte data. Hver rad får hentet ut den delen som samsvarer, inn i en ryddig ny kolonne som du kan sortere eller analysere.

Tenk deg at kolonne A inneholder ordretekster som Order 4821 - shipped. Når formelen nedenfor fylles nedover i kolonne B, henter den bare ut ordrenummeret fra hver rad. Dermed får du en ryddig kolonne som ser numerisk ut, fra uryddig kildetekst.

=REGEXEXTRACT(A2, "Order (\d+)")

Hurtigsjekk

Sjekk hva du kan om å hente ut treff.

Oppsummering: Hent ut den samsvarende delen

Du har lært at REGEXEXTRACT(text, pattern) returnerer den første delstrengen som samsvarer i Google Sheets. Viktige punkter:

  • Resultatet er alltid tekst; bruk VALUE rundt det for å få tall
  • Fangstgrupper i parenteser returnerer bare det indre utsnittet
  • Manglende treff gir #N/A, så bruk IFERROR for å håndtere dette
  • | lar ett mønster matche flere alternativer

Deretter skal du gå videre fra å lese tekst til å skrive den om direkte med REGEXREPLACE.

Gratis å komme i gang

Lær deg Excel med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Hente ut mønstre med REGEXEXTRACT» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Excel Formulas Academy, inkludert «Hente ut mønstre med REGEXEXTRACT», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Excel Formulas Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Hente ut mønstre med REGEXEXTRACT»?

Trekk ut delen av en tekststreng som samsvarer med et mønster. Du øver på Excel Formulas Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Excel Formulas Academy?

Ingen tidligere erfaring er nødvendig. Excel Formulas Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Hente ut mønstre med REGEXEXTRACT»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Excel Formulas Academy-leksjonen?

Ja. Alle Excel Formulas Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Teste mønstre med REGEXMATCH
  2. Hente ut mønstre med REGEXEXTRACT
  3. Erstatte mønstre med REGEXREPLACE
  4. Dele opp og rydde i uordnede data
← Tilbake til Excel Formulas Academy