As sutilezas de traballar con saltos de liƱa en Excel

Saltos de liƱa dentro da mesma cela, engadidos mediante un atallo de teclado alt+Entrar Ć© algo moi comĆŗn e comĆŗn. Ɓs veces, son feitos polos propios usuarios para engadir beleza ao texto longo. Ɓs veces, tales transferencias engĆ”dense automaticamente cando se descargan datos de calquera programa de traballo (ola 1C, SAP, etc.) O problema Ć© que non sĆ³ hai que admirar tales tĆ”boas, senĆ³n tamĆ©n traballar con elas, e entĆ³n estas transferencias de caracteres invisibles poden ser un problema. E poden non converterse, se sabes como manexalos correctamente.

Vexamos este problema con mƔis detalle.

Eliminar saltos de liƱa substituƭndo

Se necesitamos desfacernos dos guiĆ³ns, entĆ³n o primeiro que adoita ocorrer Ć© a clĆ”sica tĆ©cnica de "buscar e substituĆ­r". Seleccione o texto e, a continuaciĆ³n, chame Ć” xanela de substituciĆ³n cun atallo de teclado Ctrl+H ou a travĆ©s Inicio - Buscar e seleccionar - SubstituĆ­r (Inicio ā€” Buscar e seleccionar ā€” SubstituĆ­r). Unha inconsistencia: non estĆ” moi claro como entrar no campo superior Atopar (Atopa o que) o noso personaxe invisible de salto de liƱa. alt+Entrar aquĆ­, por desgraza, xa non funciona, copiar este sĆ­mbolo directamente desde a cela e pegalo aquĆ­ tamĆ©n falla.

Unha combinaciĆ³n axudarĆ” Ctrl+J - esa Ć© a alternativa alt+Entrar en caixas de diĆ”logo ou campos de entrada de Excel:

TeƱa en conta que despois de poƱer o cursor parpadeante no campo superior e premer Ctrl+J ā€“ non aparecerĆ” nada no propio campo. Non teƱas medo: isto Ć© normal, o sĆ­mbolo Ć© invisible šŸ™‚

Ao campo inferior Suplente (SubstituĆ­r por) ou ben non introduza nada, ou ben introduza un espazo (se queremos non sĆ³ eliminar guiĆ³ns, senĆ³n substituĆ­los por un espazo para que as liƱas non se peguen nun Ćŗnico todo). SĆ³ ten que premer o botĆ³n SubstitĆŗe todo (SubstituĆ­r todo) e os nosos guiĆ³ns desaparecerĆ”n:

sombra: despois de realizar a substituciĆ³n ingresada con Ctrl+J un personaxe invisible permanece no campo Atopar e pode interferir no futuro - non esqueza borralo colocando o cursor neste campo e premendo varias veces (para fiabilidade) as teclas Borrar Šø Retroceso.

Eliminar saltos de liƱa cunha fĆ³rmula

Se necesitas resolver o problema con fĆ³rmulas, podes usar a funciĆ³n integrada Imprimir (LIMPAR), que pode borrar o texto de todos os caracteres non imprimibles, incluĆ­dos os nosos desafortunados saltos de liƱa:

Esta opciĆ³n, con todo, non sempre Ć© conveniente, porque as liƱas despois desta operaciĆ³n pĆ³dense pegar entre si. Para evitar que isto ocorra, cĆ³mpre non sĆ³ eliminar o guiĆ³n, senĆ³n substituĆ­lo por un espazo (consulte o seguinte parĆ”grafo).

SubstituĆ­r saltos de liƱa por unha fĆ³rmula

E se queres non sĆ³ eliminar, senĆ³n substituĆ­r alt+Entrar en, por exemplo, un espazo, entĆ³n serĆ” necesario outra construciĆ³n un pouco mĆ”is complexa:

Para establecer un guiĆ³n invisible usamos a funciĆ³n SƍMBOLO (CHAR), que saca un carĆ”cter polo seu cĆ³digo (10). E despois a funciĆ³n SUBSTITUTO (SUBSTITUTO) busca os nosos guiĆ³ns nos datos de orixe e substitĆŗeos por calquera outro texto, por exemplo, cun espazo.

DivisiĆ³n en columnas por salto de liƱa

Ferramenta familiar para moitos e moi Ćŗtil Texto por columnas dende a pestana Data (Datos: texto a columnas) tamĆ©n pode funcionar moi ben con saltos de liƱa e dividir o texto dunha cela en varias, rompĆ­ndoo alt+Entrar. Para iso, no segundo paso do asistente, cĆ³mpre seleccionar unha variante do carĆ”cter delimitador personalizado Outra (Personalizado) e utiliza o atallo de teclado que xa coƱecemos Ctrl+J como alternativa alt+Entrar:

Se os teus datos poden conter varios saltos de liƱa seguidos, podes "contraelos" activando a caixa de verificaciĆ³n Trata os delimitadores consecutivos como un Ćŗnico (Trata os delimitadores consecutivos como un Ćŗnico).

Despois de premer seguinte (Seguinte) e pasando os tres pasos do asistente, obtemos o resultado desexado:

TeƱa en conta que antes de realizar esta operaciĆ³n, Ć© necesario inserir un nĆŗmero suficiente de columnas baleiras Ć” dereita da columna dividida para que o texto resultante non sobrescriba os valores (prezos) que estaban Ć” dereita.

Dividir en liƱas por Alt + Intro mediante Power Query

Outra tarefa interesante Ć© dividir o texto multiliƱa de cada cela non en columnas, senĆ³n en liƱas:

Leva moito tempo facelo manualmente, Ć© difĆ­cil coas fĆ³rmulas, non todos poden escribir unha macro. Pero na prĆ”ctica, este problema ocorre con mĆ”is frecuencia do que nos gustarĆ­a. A soluciĆ³n mĆ”is sinxela e doada Ć© utilizar o complemento Power Query para esta tarefa, que estĆ” integrado en Excel desde 2016, e para as versiĆ³ns anteriores 2010-2013 pĆ³dese descargar de xeito totalmente gratuĆ­to desde o sitio web de Microsoft.

Para cargar os datos de orixe en Power Query, primeiro debes convertelos nunha "tĆ”boa intelixente" cun atallo de teclado Ctrl+T ou por botĆ³n Formato como tĆ”boa aba casa (Inicio ā€” Formato como tĆ”boa). Se por algĆŗn motivo non queres ou non podes usar "tĆ”boas intelixentes", podes traballar con outras "estĆŗpidas". Neste caso, sĆ³ tes que seleccionar o intervalo orixinal e darlle un nome na pestana FĆ³rmulas ā€“ Xestor de nomes ā€“ Novo (FĆ³rmulas ā€” Xestor de nomes ā€” Novo).

Despois diso, na pestana Data (se tes Excel 2016 ou posterior) ou na pestana Consulta de enerxĆ­a (se tes Excel 2010-2013) podes facer clic no botĆ³n Da tĆ”boa/rango (De mesa/rango)para cargar a nosa tĆ”boa no editor de Power Query:

Despois da carga, seleccione a columna con texto multiliƱa nas celas e seleccione o comando na pestana Principal Dividir columna: por delimitador (Inicio ā€” Dividir columna ā€” Por delimitador):

Probablemente, Power Query recoƱecerĆ” automaticamente o principio de divisiĆ³n e substituirĆ” o propio sĆ­mbolo #(lf) carĆ”cter invisible de salto de liƱa (lf = salto de liƱa = salto de liƱa) no campo de entrada do separador. Se Ć© necesario, pĆ³dense seleccionar outros caracteres da lista despregable na parte inferior da xanela, se primeiro marca a caixa Dividir con personaxes especiais (Dividido por caracteres especiais).

Para que todo estea dividido en filas e non en columnas, non esquezas cambiar o selector LiƱas (Por filas) no grupo de opciĆ³ns avanzadas.

SĆ³ queda premer OK e obtĆ©n o que queres:

A tĆ”boa rematada pĆ³dese descargar de novo na folla usando o comando Pechar e cargar: pechar e cargar en... aba casa (Inicio ā€” Pechar e cargar ā€” Pechar e cargar enā€¦).

Ɖ importante ter en conta que ao usar Power Query, debes lembrar que cando os datos de orixe cambian, os resultados non se actualizan automaticamente, porque. non son fĆ³rmulas. Para actualizar, debes facer clic co botĆ³n dereito sobre a tĆ”boa final da folla e seleccionar o comando Actualizar e gardar (Actualizar) ou prema o botĆ³n Actualizar todo aba Data (Datos ā€” Actualizar todo).

Macro para dividir en liƱas mediante Alt+Intro

Para completar a imaxe, mencionemos tamĆ©n a soluciĆ³n do problema anterior coa axuda dunha macro. Abre o Editor de Visual Basic usando o botĆ³n do mesmo nome da pestana Revelador (Desenvolvedor) ou atallos de teclado alt+F11. Na xanela que aparece, insira un novo mĆ³dulo a travĆ©s do menĆŗ Inserir ā€“ MĆ³dulo e copia alĆ­ o seguinte cĆ³digo:

Sub Split_By_Rows() Dim cell As Range, n As Integer Establecer cela = ActiveCell For i = 1 To Selection.Rows.Count ar = Split(cell, Chr(10)) 'determina o nĆŗmero de fragmentos cell.Offset(1, 0 ).Resize(n, 1).EntireRow.Insert 'inserir filas baleiras debaixo da cela.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar) 'introduce os datos da matriz Establecer cela = cell.Offset(n + 1, 0) 'mover Ć” seguinte cela Next i End Sub  

Volve a Excel e selecciona as celas co texto multiliƱa que queres dividir. A continuaciĆ³n, use o botĆ³n Macros aba revelador (Desenvolvedor - Macros) ou atallo de teclado alt+F8para executar a macro creada, que farĆ” todo o traballo por ti:

Voila! Os programadores son, de feito, persoas moi preguiceiras que prefiren traballar duro unha vez e despois non facer nada šŸ™‚

  • Limpar o texto de lixo e caracteres adicionais
  • SubstituciĆ³n de texto e eliminaciĆ³n de espazos que non se rompen coa funciĆ³n SUBSTITUTE
  • Como dividir texto pegajoso en partes en Excel

Deixe unha resposta