¿Cómo pegar datos de Excel como texto de ancho fijo?


16

Si copio datos en Excel y los pego en un archivo de texto, obtengo pestañas entre las celdas. Eso no es bueno, quiero espacios, y quiero que las columnas estén alineadas. ¿Cómo puedo lograr esto sin mucho esfuerzo (obviamente no quiero comenzar a ejecutar expresiones regulares a mano, etc.)

Usar 'Guardar como' (como en esta pregunta ) no es una solución para mí, necesito copiar y pegar.


Tengo una posible solución que implicaría pegar de un libro de trabajo a otro libro de trabajo (luego del otro libro de trabajo a donde sea que esté
— pegando

@Pynner: Bueno, encaja mejor que ninguna solución, así que sí, adelante.
— einpoklum

Respuestas:


14

Ciertamente, esto no es fácil de explicar ... pero después de configurarlo, funcionará con un mínimo esfuerzo. Además, esta es una ligera variación de lo que @pnuts ha esbozado

Sugiero usar una hoja de cálculo de plantilla en la que pueda copiar y pegar. la plantilla que he creado tiene 3 pestañas que se ven de la siguiente manera.

pestañas

  • Data pestaña es donde se pegan los datos
  • Length va a hacer algunos cálculos para determinar la columna más larga
  • Space insert va a insertar el número apropiado de espacios (editar) que puede copiar desde aquí y obtener el resultado correcto

la pestaña de longitud se ve como

longitud

La fila 1 tiene caracteres máximos de la columna a continuación es y contiene la fórmula

=MAX(A2:A101)+1

+1 crea el delimitador.

La fila 2 a la n (que he extendido a 100 para este ejemplo) contiene una fórmula para evaluar la longitud de cada cadena

=LEN('Data tab'!A1)

la pestaña de inserción de espacio se ve como

inserto espacial

Cada celda contiene una celda para evaluar su longitud en comparación con el valor máximo (+ delimitador) e inserta un número apropiado de espacios.

='Data tab'!A1&REPT(" ",length!A$1-length!A2)

Tenga en cuenta el $ que bloquea la fila 1 si copia y pega la fórmula

(editar) puede copiar desde la pestaña de inserción de espacio.

bloc


1
Ingeniosamente ideado!
— einpoklum

Pero ... ¿por qué necesito la última hoja, de verdad? Puedo copiar y pegar desde la tercera hoja. Además, no quiero usar ninguna fórmula larga replicada para cada columna.
— einpoklum

Muy bien ... no se requiere la última pestaña ... Supuse que las celdas insertarían caracteres adicionales. Actualizaré mi respuesta para solucionarlo
— Pynner

Excelente respuesta, muchas gracias. Personalmente, algunas de mis columnas salían muy largas, así que agregué una página con "= IZQUIERDA ('inserción de espacio'! A1, $ K $ 2) e IF (Longitud! A2> $ K $ 2," ... | ", "|") "donde $ K $ 2 se establece en un valor apropiado (el máximo de la columna más importante). Esto funciona bien para descripciones, etc., paso siguiente: p
— chrispepper1989

el siguiente paso sería la alineación adecuada de los números
— vlad_tepesch

3

La solución más fácil sería concatenar sus datos numéricos en una cadena "comunicada" que se pegue correctamente en un archivo de texto. Cree la fórmula de Excel para una fila y luego cópiela para todas las filas de la hoja de trabajo, y luego copie la columna de fórmula y péguela en el archivo de texto. Por ejemplo,

Datos

Celda A1: 247

Celda B1: 19

Celda C1: 1437

Fórmula en la celda D1

= A1 & "," & B1 & "," & C1

Resultado pegable de texto

247,19,1437

Hay otro enfoque que no se basa en fórmulas.

  • Primero, asegúrese de que sus columnas de datos tengan el mismo ancho.
  • Luego inserte otra columna entre cada par de columnas de datos, cada una con un ancho de 2.
  • Ingrese una coma individual en cada una de las columnas insertadas, copiándola a lo largo de la longitud de los datos.
  • Finalmente, guarde la hoja de trabajo como un archivo de texto formateado (delimitado por espacios) (* .prn).

Una ventaja de esta alternativa es que conserva el formato de sus datos. Si desea formatear los datos con coma o simplemente mostrar un decimal, su formato se conservará en el archivo prn.


1
Las nueces sugirieron que el mejoramiento es exactamente correcto. He actualizado mi respuesta con otra alternativa que usa Guardar como.
— chuff

Entonces, como dije en la pregunta, guardar como no es una opción. ¿Funcionará la solución REPT con copiar y pegar? Además, todavía no acepto, ya que me gustaría algo menos engorroso.
— einpoklum

0

Puede copiar sus datos en Word y luego usar Buscar y reemplazar (Ctrl + H) para reemplazar las pestañas con espacios.

  1. Abrir y pegar datos en Word
  2. Presione Ctrl+H
  3. Más >>
  4. Especial
  5. Espacio en blanco
  6. Pon un espacio en el reemplazo con:
  7. Reemplaza todo

Eso no hará lo que pedí, lo siento, los anchos de las columnas serán diferentes.
— einpoklum
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.