Convertir una lista plana en tabla en excel

0

¿Cómo haría para automatizar la conversión de un muy Lista larga en un formato como este:

enter image description here

En una mesa como esta:

enter image description here

Estoy utilizando Microsoft Excel 2010 en Windows ... debido al diseño de mis datos como se ve en la imagen, el asistente de tabla dinámica no reconoce los campos.

JBiss
fuente

Respuestas:

0

Hay dos formas generales de hacer esto, dependiendo de los datos. Si el espaciado es exacto, lo que significa que el número de filas no cambia en absoluto, entonces el comando de desplazamiento sería más fácil.

Si los datos están en la hoja 1, en la hoja 2. Introduzca las dos primeras líneas de encabezados.

  • use los nombres para nombrar sheet1! $ a $ 1 como Spot o cualquier otro nombre que desee
  • utilizar la denominación para nombrar 5 como paso
  • use la denominación para nombrar Pik como = + ((COLUMNA () - 2) * Paso) + (FILA () - 1)

luego usar en b2 y extender hasta donde sea necesario = + OFFSET (spot, Pik, 1)

esto tira en todos los datos.

Hay un par de fallas en esto, la más grande es que se romperá si se produce una línea adicional u otra modificación menor a la mitad de los datos. Hay otra forma de utilizar un enfoque de tipo de función de búsqueda donde buscamos datos clave (Nombre, Edad, etc.) y devolvemos la información de la siguiente celda. Es más complicado. Puedo escribirlo más tarde.

bvaughn
fuente
Hola, gracias por tu respuesta. Por favor, ¿podría aclarar qué quiere decir con "nombre 5 como paso" y también "nombre Pik como ...".
JBiss
La denominación se utiliza principalmente para dar nombres a las celdas, las constantes y las fórmulas. • Punto = & gt; ¡Hoja1! $ A $ 1 {Nombre de celda} • Paso = 5 es la distancia que hay entre dos registros {Nombre de constante} • Pik es la ecuación para encontrar el desplazamiento relativo desde el punto hasta los datos {Nombre de fórmula} La ecuación sin usar la denominación es: = + DESPLAZAMIENTO (Hoja1! $ A $ 1, ((COLUMNA () - 2) * 5) + (FILA () - 1), 1) Encuentro que la forma es más torpe y más difícil de usar / solucionar problemas. {Hay más tipos que los 3 tipos de nombres que he usado. Para mí, son los que yo uso mucho.
bvaughn
Gracias por su explicación. Tomé un poco de tiempo intentando y resolviéndolo ya que mi conjunto de datos es un poco más grande que el ejemplo. Pero implementé los tres nombres: Spot, Step y Pik de la forma que describiste. Y colocó la fórmula 'OFFSET' en una segunda hoja y la extendió. Funcionó perfecto. Gracias.
JBiss
0
  1. Copie sus datos al editor de texto con RegEx replace (Notepad ++).

  2. Reemplaza todo: ^Person[\r\n]+Name[\s]+([\w]+)[\r\n]+Age[\s]+([\d]+)[\r\n]+Size[\s]+([\d])+[\r\n]+ a: \1\t\2\t\3\r\n

  3. Copia los datos de nuevo a Excel.

  4. Transponer los datos y agregar los encabezados requeridos.

g2mk
fuente