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?

microsoft-excel
Andrea Ianni ௫
fuente
fuente

Respuestas:
Supongo que sus datos se ven así:
(1) I formateado columnas
EyFcomommm-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 copiarloSheet2con las filas adicionales agregadas. Usted puede hacer eso con tres columnas “ayudantes” enSheet2- en los pasos siguientes, yo usoX,YyZ. Aquí se explica cómo hacerlo:Sheet1fila 1 a laSheet2fila 1.=IF($Y2=0, INDEX(Sheet1!A:A, $X2), "")enSheet2!A2y arrastre / llenado hacia la derecha para cubrir todos sus datos (es decir, a la columnaI).Sheet1:A2:I2y pegue formatos enSheet2:A2:I2.Sheet2!E2(comenzar mes) a=DATE(YEAR(INDEX(Sheet1!E:E, X2)), MONTH(INDEX(Sheet1!E:E, X2))+Y2, 1).2enSheet2!X2. Esto designa la fila enSheet1que esta fila (enSheet2) será extraer datos de, por lo que, por ejemplo, si los datos realmente comienzan en la fila 61 enSheet1, entrar61enSheet2!X2.0enSheet2!Y2.=INDEX(Sheet1!F:F, $X2)enSheet2!Z2. (Si lo desea, formatee como fecha).Sheet2!A2:Z2y arrastre / llene hasta la fila 3.Sheet2!X3a=IF(E2<Z2, X2, X2+1).Sheet2!Y3a=IF(E2<Z2, Y2+1, 0).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:
Sheet2!XnSheet1nSheet2Sheet2!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!XnSheet1Sheet2Sheet1X3X4X5X6Y3Y4Y5Y6Zes solo la rama "verdadera" de laIFexpresión en columnaF; es decir, el mes final de este grupo de filas.Por supuesto se puede ocultar columnas
X,YyZ. O, si desea hacer esto solo una vez y listo, puede copiar y pegar valores.fuente