Skip to main content

¿Cómo duplicar filas basadas en el valor de una celda en una columna?

Author: Xiaoyang Last Modified: 2025-08-06

Cuando trabaje con tablas de datos de Excel, a veces puede necesitar duplicar filas enteras según un valor en una columna específica. Por ejemplo, imagina que tienes una tabla donde la columna D indica un número, y tu objetivo es copiar o insertar cada fila tantas veces como indique el valor de la celda correspondiente en la columna D. Esto puede ser útil para la expansión de datos, preparar conjuntos de datos para pruebas, simular inventarios o generar líneas de pedidos repetidas. Lograr esto eficientemente sin repeticiones manuales ayuda a mantener la integridad de los datos y acelera considerablemente el flujo de trabajo, especialmente para tablas más grandes.

Screenshot showing data table with numbers in column D before duplicating rows based on values Arrow Screenshot showing data table after duplicating rows based on column D values in Excel

Duplicar filas varias veces basadas en valores de celdas con código VBA

Copiar e insertar filas basadas en un número específico de veces con una herramienta práctica: Kutools para Excel

Duplicar filas mediante la transformación de Power Query


Duplicar filas varias veces basadas en valores de celdas con código VBA

Si necesitas crear rápidamente duplicados de filas completas según los valores en una columna específica (por ejemplo, en la columna D), VBA ofrece una solución directa y eficiente. Este enfoque es particularmente valioso cuando se manejan grandes conjuntos de datos, ya que automatiza el proceso y ayuda a garantizar precisión. Sin embargo, trabajar con VBA requiere cierta familiaridad básica con la pestaña Desarrollador de Excel y comprender cómo ejecutar macros. La principal ventaja es la flexibilidad: el código se puede ajustar para adaptarse a diferentes rangos u objetivos de columnas. Por otro lado, si no te sientes cómodo con VBA o las políticas de seguridad bloquean las macros en tu entorno, considera una de las soluciones alternativas a continuación.

1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.

Código VBA: Duplicar filas varias veces basadas en el valor de una celda:

Sub CopyData()
'Updateby Extendoffice
    Dim xRow As Long
    Dim VInSertNum As Variant
    xRow = 1
    Application.ScreenUpdating = False
    Do While (Cells(xRow, "A") <> "")
        VInSertNum = Cells(xRow, "D")
        If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
           Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
           Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
           Selection.Insert Shift:=xlDown
           xRow = xRow + VInSertNum - 1
        End If
        xRow = xRow + 1
    Loop
    Application.ScreenUpdating = False
End Sub

3. Luego presiona la tecla F5 para ejecutar este código. Las filas completas se duplicarán varias veces según el valor de la celda en la columna D, cumpliendo con tus requisitos.

Nota: En el código anterior, la letra A representa la primera columna de tu rango de datos seleccionado, y D es la letra de la columna usada para el número de duplicaciones. Modifica estas letras según sea necesario para que coincidan con tu propia hoja de trabajo. Antes de ejecutar macros, recuerda hacer una copia de seguridad de tu libro, ya que las operaciones de macros no se pueden deshacer. Si aparece un mensaje de error, verifica si tu rango de datos seleccionado y las columnas objetivo son consistentes.

Copiar e insertar filas basadas en un número específico de veces con una herramienta práctica - Kutools para Excel

Si prefieres un método sin usar código, o te gustaría una interfaz fácil de usar para gestionar la duplicación por lotes, Kutools para Excel ofrece una solución práctica. Su función Copiar o Insertar Filas/Columnas Según Datos Especificados te permite copiar e insertar filas rápidamente según el número especificado en las celdas relevantes. Esto es ideal para aquellos que manejan regularmente este tipo de operaciones repetitivas de filas y necesitan un proceso más visual y personalizable. Kutools mantiene el diseño y formato de la tabla original durante la duplicación, reduciendo el riesgo de errores accidentales. Este método funciona sin problemas independientemente de tu experiencia con VBA y mejora significativamente la eficiencia para rangos de datos medianos a grandes.

Kutools para Excel ofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia. Integrado con capacidades de inteligencia artificial, Kutools automatiza las tareas con precisión, haciendo que la gestión de datos sea sencilla. Información detallada de Kutools para Excel...  Prueba gratuita...
  1. Haz clic en Kutools > Insertar > Copiar o Insertar Filas/Columnas Según Datos Especificados para habilitar esta función;
  2. Luego, elige la opción Copiar e insertar filas, y especifica las celdas del Rango de Inserción y Repetir Veces  por separado en el cuadro de diálogo. Confirma tus elecciones y haz clic en Aceptar.

Screenshot of Kutools for Excel Duplicate Rows/Columns feature dialog box


Duplicar filas mediante la transformación de Power Query

Power Query proporciona una solución robusta y repetible para duplicar filas basadas en un valor de columna, ideal para tablas más grandes o cuando necesitas actualizar datos con frecuencia. Al usar esta herramienta, puedes expandir filas según indicadores numéricos sin fórmulas ni código. Este método funciona bien para usuarios que quieren un proceso paso a paso visualmente explicativo y necesitan repetibilidad con actualizaciones futuras de datos.

1. Agrega tus datos a una Tabla de Excel (selecciona el rango y presiona Ctrl+T). Ve a Datos > Desde Tabla/Rango para cargar tu tabla en Power Query.

2. En el Editor de Power Query, selecciona la pestaña Agregar Columna y haz clic en Columna Personalizada.

3. Escribe la siguiente fórmula para generar una lista para cada fila según el valor en la columna D. ( Nota: Debes reemplazar [D] por el encabezado de tu columna real. Por ejemplo, aquí seleccionaré las Veces de Repetición y haré clic en el botón Insertar para reemplazar el argumento [D].)

List.Repeat({1}, [D])

set options in the Power Query Editor

4. Haz clic en el botón Expandir al lado de la nueva columna personalizada y haz clic en Expandir a Nuevas Filas.

Click the Expand button

5. Luego, puedes ver que los datos se han duplicado según los valores en la columna D, mira la captura de pantalla:

the data has been duplicated based on the values

6. Elimina las columnas auxiliares si es necesario, y haz clic en Cerrar y Cargar para devolver los datos a Excel.

Consejos: Cada vez que cambien tus datos de origen, simplemente actualiza la salida de Power Query para actualizar automáticamente las filas repetidas. Esto asegura eficiencia y precisión para procesos de datos continuos o automatizados. Power Query está integrado en Excel 2016 y versiones posteriores, y está disponible como un complemento gratuito en versiones anteriores. Si tu versión de Excel no tiene Power Query o no puedes crear consultas, considera usar una de las soluciones de fórmulas o VBA mencionadas anteriormente.

Las mejores herramientas de productividad para Office

🤖 Asistente de IA de Kutools: Revoluciona el análisis de datos basado en: Ejecución inteligente |Generar código |Crear fórmulas personalizadas |Analizar datos y generar gráficos |Invocar funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda con múltiples criterios | Búsqueda de múltiples valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente listas desplegables | Lista desplegable dependiente | Lista desplegable con selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Cambiar la visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de libros y hojas de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Encriptar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtro negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y mucho más
Utiliza Kutools en tu idioma preferido: ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...


Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
  • ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!