Excel: cómo crear varias filas desde una


2

Tengo muchas filas en un documento en el que necesito insertar un cierto subconjunto de filas con otros. En particular, necesito una fila por cada mes considerado. Si tengo la fila que comienza en julio y termina en septiembre, necesito reemplazar esa fila con 3 filas, una para julio, una para agosto y otra para septiembre.

¿Cómo puedo hacerlo automáticamente?

Antes y después de


Se me ocurren algunas formas de hacerlo, pero no estoy seguro de lo que quieres decir (o esperar) con "hacerlo automáticamente". ¿Te refieres a la hora de entrada de datos, por un usuario o un administrador a granel una vez? ¿Sería aceptable ser un botón en una cinta que ejecuta una macro / VBA que hace esto? ¿En una línea o en toda la hoja?
Saulysw

Respuestas:


0

Supongo que sus datos se ven así:


(1) I formateado columnas Ey Fcomo mmm-yy (m/yyyy) para evitar la confusión basado en el lenguaje.
(2) Hay una versión copiable de lo anterior en la fuente de esta respuesta .

activado Sheet1, y en el que desea copiarlo Sheet2con las filas adicionales agregadas. Usted puede hacer eso con tres columnas “ayudantes” en Sheet2- en los pasos siguientes, yo uso X, Yy Z. Aquí se explica cómo hacerlo:

  • Copie los encabezados de columna de la Sheet1fila 1 a la Sheet2fila 1.
  • Introducir =IF($Y2=0, INDEX(Sheet1!A:A, $X2), "")en Sheet2!A2 y arrastre / llenado hacia la derecha para cubrir todos sus datos (es decir, a la columna I).
  • Copie Sheet1:A2:I2y pegue formatos en Sheet2:A2:I2.
  • Cambiar Sheet2!E2(comenzar mes) a
        =DATE(YEAR(INDEX(Sheet1!E:E, X2)), MONTH(INDEX(Sheet1!E:E, X2))+Y2, 1).
  • Introduzca 2en Sheet2!X2. Esto designa la fila en Sheet1que esta fila (en Sheet2) será extraer datos de, por lo que, por ejemplo, si los datos realmente comienzan en la fila 61 en Sheet1, entrar 61en Sheet2!X2.
  • Introduzca 0en Sheet2!Y2.
  • Entra =INDEX(Sheet1!F:F, $X2)en Sheet2!Z2. (Si lo desea, formatee como fecha).
  • Seleccione Sheet2!A2:Z2y arrastre / llene hasta la fila 3.
  • Cambiar Sheet2!X3a =IF(E2<Z2, X2, X2+1).
  • Cambiar Sheet2!Y3a =IF(E2<Z2, Y2+1, 0).
  • Seleccione Sheet2!A3:Z3y arrastre / llene hacia abajo todo lo que necesite para obtener todos sus datos.

Debería verse más o menos así:

Notas:

  • Como se indica en las instrucciones, especifica que la fila en esa fila (en ) extraerá datos.Sheet2!XnSheet1nSheet2
  • Sheet2!Ynes un número uno dentro de un valor; es decir, dentro de una fila. Por ejemplo, desde filas 3-6 en los datos de tracción de la fila 3, tenemos = = = = 3, y , , , = 0, 1, 2, 3.Sheet2!XnSheet1Sheet2Sheet1X3X4X5X6Y3Y4Y5Y6
  • Columna Zes solo la rama "verdadera" de la IFexpresión en columna F; es decir, el mes final de este grupo de filas.

Por supuesto se puede ocultar columnas X, Yy Z. O, si desea hacer esto solo una vez y listo, puede copiar y pegar valores.

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.