Finesserne ved at arbejde med linjeskift i Excel

Linjeskift inden for samme celle, tilføjet ved hjælp af en tastaturgenvej andre+Indtast er en meget almindelig og almindelig ting. Nogle gange er de lavet af brugerne selv for at tilføje skønhed til lang tekst. Nogle gange tilføjes sådanne overførsler automatisk, når data aflæses fra alle arbejdsprogrammer (hej 1C, SAP osv.) Problemet er, at så skal du ikke kun beundre sådanne tabeller, men arbejde med dem - og så kan disse usynlige tegnoverførsler være en problem. Og det bliver de måske ikke – hvis du ved, hvordan du håndterer dem korrekt.

Lad os tage et kig på dette spørgsmål mere detaljeret.

Fjernelse af linjeskift ved at udskifte

Hvis vi skal af med bindestreger, så er det første, der normalt kommer til at tænke på, den klassiske "find og erstat"-teknik. Vælg teksten, og kald derefter erstatningsvinduet med en tastaturgenvej Ctrl+H eller via Hjem – Find og vælg – Erstat (Hjem — Find&Vælg — Erstat). En inkonsistens – det er ikke særlig klart, hvordan man indtaster i det øverste felt At finde (Find hvad) vores usynlige linjeskiftkarakter. andre+Indtast her virker det desværre ikke længere, kopiering af dette symbol direkte fra cellen og indsættelse her mislykkes også.

En kombination vil hjælpe Ctrl+J – det er alternativet andre+Indtast i Excel-dialogbokse eller inputfelter:

Bemærk venligst, at efter at du har sat den blinkende markør i det øverste felt og tryk Ctrl+J – intet vises i selve feltet. Vær ikke bange – det er normalt, symbolet er usynligt 🙂

Til det nederste felt Erstatning (Erstat med) enten ikke indtaste noget, eller indtaste et mellemrum (hvis vi ikke kun vil fjerne bindestreger, men erstatte dem med et mellemrum, så linjerne ikke hænger sammen til en enkelt helhed). Bare tryk på knappen Udskift alt (Erstat alle) og vores bindestreger forsvinder:

Nuance: efter at have udført udskiftningen indtastet med Ctrl+J usynlig karakter forbliver i feltet At finde og kan forstyrre i fremtiden – glem ikke at slette den ved at placere markøren i dette felt og flere gange (for pålidelighedens skyld) trykke på tasterne Slette и Backspace.

Fjernelse af linjeskift med en formel

Skal du løse problemet med formler, så kan du bruge den indbyggede funktion UDSKRIV (REN), som kan rydde teksten for alle ikke-udskrivbare tegn, inklusive vores skæbnesvangre linjeskift:

Denne mulighed er dog ikke altid praktisk, fordi linjer efter denne operation kan limes sammen. For at forhindre dette i at ske, skal du ikke kun fjerne bindestregen, men erstatte den med et mellemrum (se næste afsnit).

Udskiftning af linjeskift med en formel

Og hvis du ikke bare vil slette, men erstatte andre+Indtast på for eksempel et rum, så kræves der en anden, lidt mere kompleks konstruktion:

For at sætte en usynlig bindestreg bruger vi funktionen SYMBOL (CHAR), som udsender et tegn ved sin kode (10). Og så funktionen ERSTATNING (ERSTATNING) søger efter vores bindestreger i kildedataene og erstatter dem med enhver anden tekst, for eksempel med et mellemrum.

Inddeling i kolonner efter linjeskift

Velkendt for mange og meget handy værktøj Tekst efter kolonner fra fanen data (Data — Tekst til kolonner) kan også fungere godt med linjeskift og opdele teksten fra én celle i flere, ved at bryde den med andre+Indtast. For at gøre dette skal du i det andet trin i guiden vælge en variant af det brugerdefinerede skilletegn Andet (Brugerdefinerede) og brug den tastaturgenvej, vi allerede kender Ctrl+J som et alternativ andre+Indtast:

Hvis dine data kan indeholde flere linjeskift i træk, så kan du "kollapse" dem ved at slå afkrydsningsfeltet til Behandl på hinanden følgende afgrænsninger som én (Behandl på hinanden følgende afgrænsninger som én).

Efter at have klikket på Næste (Næste) og gennemgår alle tre trin i guiden, får vi det ønskede resultat:

Bemærk venligst, at før du udfører denne handling, er det nødvendigt at indsætte et tilstrækkeligt antal tomme kolonner til højre for den opdelte kolonne, så den resulterende tekst ikke overskriver værdierne (priser), der var til højre.

Opdel i linjer med Alt + Enter gennem Power Query

En anden interessant opgave er at opdele flerlinjeteksten fra hver celle ikke i kolonner, men i linjer:

Det tager lang tid at gøre dette manuelt, det er svært med formler, ikke alle kan skrive en makro. Men i praksis opstår dette problem oftere, end vi ønsker. Den enkleste og nemmeste løsning er at bruge tilføjelsesprogrammet Power Query til denne opgave, som har været indbygget i Excel siden 2016, og til tidligere versioner 2010-2013 kan det downloades helt gratis fra Microsofts hjemmeside.

For at indlæse kildedataene i Power Query skal du først konvertere dem til en "smart tabel" med en tastaturgenvej Ctrl+T eller med knappen Formater som en tabel fanen Home (Hjem — Formater som tabel). Hvis du af en eller anden grund ikke vil eller ikke kan bruge "smarte tabeller", så kan du arbejde med "dumme" dem. I dette tilfælde skal du blot vælge det originale område og give det et navn på fanen Formler – Navneadministrator – Nyt (Formler — Navneadministrator — Ny).

Derefter på fanen data (hvis du har Excel 2016 eller nyere) eller på fanen Strømforespørgsel (hvis du har Excel 2010-2013) kan du klikke på knappen Fra bord/sortiment (Fra tabel/område)for at indlæse vores tabel i Power Query-editoren:

Efter indlæsning skal du vælge kolonnen med flerlinjetekst i cellerne og vælge kommandoen på fanen Hoved Opdel kolonne - Efter afgrænsning (Hjem — Opdelt kolonne — Ved afgrænsning):

Mest sandsynligt vil Power Query automatisk genkende princippet om division og erstatte selve symbolet #(lf) usynligt linjeskifttegn (lf = linjeskift = linjeskift) i separatorindtastningsfeltet. Om nødvendigt kan andre tegn vælges fra rullelisten nederst i vinduet, hvis du først markerer afkrydsningsfeltet Opdel med specialtegn (Opdelt efter specialtegn).

Så alt er opdelt i rækker og ikke kolonner - glem ikke at skifte vælgeren Rækker (Efter rækker) i gruppen avancerede muligheder.

Tilbage er blot at klikke videre OK og få hvad du vil have:

Det færdige bord kan tømmes tilbage på arket ved hjælp af kommandoen Luk og indlæs – Luk og læs ind... fanen Home (Hjem — Luk&indlæs — Luk&indlæs til...).

Det er vigtigt at bemærke, at når du bruger Power Query, skal du huske, at når kildedataene ændres, bliver resultaterne ikke automatisk opdateret, fordi. disse er ikke formler. For at opdatere skal du højreklikke på den sidste tabel på arket og vælge kommandoen Opdater & Gem (Opdater) eller tryk på knappen Opdatering Alle fanen data (Data – Opdater alle).

Makro til opdeling i linjer med Alt+Enter

For at fuldende billedet, lad os også nævne løsningen af ​​det forrige problem ved hjælp af en makro. Åbn Visual Basic Editor ved at bruge knappen af ​​samme navn på fanen Udvikler (Udvikler) eller tastaturgenveje andre+F11. Indsæt et nyt modul gennem menuen i det vindue, der vises Indsæt – Modul og kopier følgende kode dertil:

Sub Split_By_Rows() Dim celle As Range, n As Heltal Sæt celle = ActiveCell For i = 1 Til Selection.Rows.Count ar = Split(celle, Chr(10)) 'bestem antallet af fragmenter celle.Offset(1, 0 ).Resize(n, 1).EntireRow.Insert 'indsæt tomme rækker under celle.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar) 'indtast data fra arrayet Sæt celle = celle.Offset(n) + 1, 0) 'skift til næste celle Next i End Sub  

Vend tilbage til Excel, og vælg cellerne med den flerlinjede tekst, du vil opdele. Brug derefter knappen Makroer fanen developer (Udvikler – Makroer) eller tastaturgenvej andre+F8for at køre den oprettede makro, som vil gøre alt arbejdet for dig:

Voila! Programmører er i virkeligheden bare meget dovne mennesker, der hellere vil arbejde hårdt én gang og så ikke lave noget 🙂

  • Rydning af tekst fra junk og ekstra tegn
  • Udskiftning af tekst og fjernelse af ubrudte mellemrum med SUBSTITUTE-funktionen
  • Sådan opdeles klæbrig tekst i dele i Excel

Giv en kommentar