Exceli reavahetustega töötamise peensused

Reavahetused samas lahtris, lisatakse kiirklahvi abil muu+sisene on väga levinud ja levinud asi. Mõnikord teevad need kasutajad ise, et lisada pikale tekstile ilu. Mõnikord lisatakse sellised ülekanded automaatselt, kui laadite andmeid maha mis tahes töötavatest programmidest (tere 1C, SAP jne.) Probleem on selles, et siis tuleb selliseid tabeleid mitte ainult imetleda, vaid nendega töötada – ja siis võivad need nähtamatud märkide ülekanded olla probleem. Ja neist ei pruugi saada – kui tead, kuidas neid õigesti käsitleda.

Vaatame seda probleemi üksikasjalikumalt.

Reavahede eemaldamine asendamisega

Kui meil on vaja sidekriipsudest lahti saada, siis esimese asjana meenub tavaliselt klassikaline “otsi ja asenda” tehnika. Valige tekst ja seejärel helistage asendusaknasse kiirklahviga Ctrl+H või kaudu Avaleht – Otsi ja vali – Asenda (Kodu – Otsi ja vali – Asenda). Üks ebakõla – pole väga selge, kuidas ülemisele väljale sisestada Leidma (Leia mida) meie nähtamatu reavahetuse tegelane. muu+sisene siin see kahjuks enam ei tööta, ka selle sümboli otse lahtrist kopeerimine ja siia kleepimine ebaõnnestub.

Kombinatsioon aitab Ctrl+J – see on alternatiiv muu+sisene Exceli dialoogiboksides või sisestusväljades:

Pange tähele, et pärast vilkuva kursori viimist ülemisele väljale ja vajutage nuppu Ctrl+J – põllule endale ei ilmu midagi. Ärge kartke – see on normaalne, sümbol on nähtamatu 🙂

Alumisele väljale Asendaja (Asenda järgmisega) kas ärge sisestage midagi või sisestage tühik (kui tahame sidekriipse mitte ainult eemaldada, vaid asendada need tühikuga, et read ei jääks kokku üheks tervikuks). Vajutage lihtsalt nuppu Asenda kõik (Asenda kõik) ja meie sidekriipsud kaovad:

Nuance: pärast asendamise sooritamist sisestatud Ctrl+J nähtamatu iseloom jääb põllule Leidma ja võib tulevikus segada – ärge unustage seda kustutada, asetades kursori sellele väljale ja vajutades mitu korda (usaldusväärsuse huvides) klahve kustutama и Backspace.

Reavahede eemaldamine valemiga

Kui teil on vaja probleem valemitega lahendada, saate kasutada sisseehitatud funktsiooni PRINT (PUHAS), mis võib kustutada tekstist kõik mitteprinditavad tähemärgid, sealhulgas meie õnnetud reavahetused:

See valik pole aga alati mugav, sest pärast seda toimingut saab jooned kokku liimida. Selle vältimiseks peate mitte ainult sidekriipsu eemaldama, vaid asendama selle tühikuga (vt järgmist lõiku).

Reavahede asendamine valemiga

Ja kui soovite mitte ainult kustutada, vaid ka asendada muu+sisene näiteks ruumi peal, siis on vaja teist, veidi keerukamat konstruktsiooni:

Nähtamatu sidekriipsu määramiseks kasutame funktsiooni SYMBOL (CHAR), mis väljastab märgi oma koodiga (10). Ja siis funktsioon ASENDA (ASENDAJA) otsib lähteandmetest meie sidekriipse ja asendab need mis tahes muu tekstiga, näiteks tühikuga.

Jagamine veergudeks reavahetusega

Paljudele tuttav ja väga mugav tööriist Tekst veergude kaupa vahekaardilt kuupäev (Andmed – tekst veergudesse) saab suurepäraselt töötada ka reavahetustega ja jagada teksti ühest lahtrist mitmeks, purustades selle muu+sisene. Selleks peate viisardi teises etapis valima kohandatud eraldusmärgi variandi Muu (Kohandatud) ja kasutage meile juba tuttavat klaviatuuri otseteed Ctrl+J alternatiivina muu+sisene:

Kui teie andmed võivad sisaldada mitut reavahetust järjest, saate need "ahendada", lülitades sisse märkeruudu Käsitle järjestikuseid eraldajaid ühena (Käselda järjestikuseid eraldajaid ühena).

Pärast klõpsamist nupul järgmine (Järgmine) ja läbides viisardi kõik kolm sammu, saame soovitud tulemuse:

Pange tähele, et enne selle toimingu sooritamist on vaja poolitatud veerust paremale sisestada piisav arv tühje veerge, et tulemuseks olev tekst ei kirjutaks üle paremal olevaid väärtusi (hindu).

Power Query kaudu jagage ridadeks Alt + Enter

Veel üks huvitav ülesanne on jagada iga lahtri mitmerealine tekst mitte veergudeks, vaid ridadeks:

Selle käsitsi tegemine võtab kaua aega, valemitega on raske, kõik ei oska makrot kirjutada. Kuid praktikas ilmneb see probleem sagedamini, kui me tahaksime. Lihtsaim ja lihtsaim lahendus on selleks ülesandeks kasutada Power Query lisandmoodulit, mis on Excelisse sisse ehitatud alates 2016. aastast ning varasemate versioonide 2010-2013 jaoks saab selle Microsofti kodulehelt täiesti tasuta alla laadida.

Lähteandmete laadimiseks Power Querysse peate need esmalt teisendama klaviatuuri otsetee abil nutikaks tabeliks Ctrl+T või nupuga Vorminda tabelina tab Avaleht (Avaleht — vorminda tabelina). Kui te mingil põhjusel "nutikaid tabeleid" kasutada ei soovi või ei saa, võite töötada "rumalate" tabelitega. Sel juhul valige lihtsalt algne vahemik ja andke sellele vahekaardil nimi Valemid – nimehaldur – uus (Valemid — nimehaldur — uus).

Pärast seda vahekaardil kuupäev (kui teil on Excel 2016 või uuem versioon) või vahekaardil Toite päring (kui teil on Excel 2010–2013), võite klõpsata nupul Tabelist/vahemikust (Tabelist/vahemikust)et laadida tabel Power Query redaktorisse:

Pärast laadimist valige lahtrites mitmerealise tekstiga veerg ja valige vahekaardil Main käsk Tükeldatud veerg – eraldaja järgi (Avaleht – jagatud veerg – eraldaja järgi):

Tõenäoliselt tunneb Power Query automaatselt ära jagamise põhimõtte ja asendab sümboli ise #(lf) nähtamatu reavahetusmärk (lf = reavahetus = reavahetus) eraldaja sisestusväljal. Vajadusel saab akna allosas olevast rippmenüüst valida ka muid märke, kui märgite esmalt kasti Eraldage erimärkidega (Erimärkide järgi jagatud).

Et kõik oleks jagatud ridadeks, mitte veergudeks – ärge unustage valijat vahetada Read (ridade kaupa) Täpsemate valikute rühmas.

Jääb üle vaid klõpsata OK ja saad, mida tahad:

Valmis tabeli saab käsuga lehele tagasi laadida Sulgege ja laadige – sulgege ja laadige sisse… tab Avaleht (Avaleht — Sulge&laadi — Sule&laadi...).

Oluline on tähele panna, et Power Queryt kasutades tuleb meeles pidada, et lähteandmete muutumisel tulemusi automaatselt ei uuendata, sest. need ei ole valemid. Värskendamiseks tuleb lehe lõpptabelil paremklõpsata ja valida käsk Värskenda ja salvesta (Värskenda) või vajutage nuppu Värskenda kõik tab kuupäev (Andmed – värskenda kõiki).

Makro ridadeks jagamiseks Alt+Enter

Pildi täiendamiseks mainigem ka eelmise ülesande lahendamist makro abil. Avage Visual Basicu redaktor, kasutades vahekaardil asuvat samanimelist nuppu arendaja (Arendaja) või klaviatuuri otseteid muu+F11. Ilmuvas aknas sisestage menüü kaudu uus moodul Sisesta – moodul ja kopeerige sinna järgmine kood:

Sub Split_By_Rows() Dim cell as Range, n As Integer Set cell = ActiveCell For i = 1 To Selection.Rows.Count ar = Split(cell, Chr(10)) 'määrata fragmentide arv cell.Offset(1, 0 ).Resize(n, 1).EntireRow.Insert 'sisesta tühjad read lahtri alla.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar) 'sisestage neisse andmed massiivist Set cell = cell.Offset(n + 1, 0) 'nihutage järgmisse lahtrisse Järgmine i End Sub  

Naaske Excelisse ja valige mitmerealise tekstiga lahtrid, mida soovite poolitada. Seejärel kasutage nuppu Makrod tab arendaja (Arendaja – makrod) või klaviatuuri otsetee muu+F8loodud makro käivitamiseks, mis teeb kogu töö teie eest ära:

Voila! Programmeerijad on tegelikult lihtsalt väga laisad inimesed, kes pigem pingutavad korra ja siis ei tee midagi 🙂

  • Teksti puhastamine prügist ja lisamärkidest
  • Teksti asendamine ja mittemurdvate tühikute eemaldamine funktsiooniga SUBSTITUTE
  • Kuidas kleepuvat teksti Excelis osadeks jagada

Jäta vastus