Note: The other languages of the website are Google-translated. Back to English
Iniciar sesión  \/ 
x
or
x
Regístrate  \/ 
x

or

¿Cómo transponer cada 5 o n filas de una columna a varias columnas?

doc transponer cada 5 filas 1

Supongamos que tiene datos largos en la columna A y ahora desea transponer cada 5 filas de la columna A a varias columnas, como transponer A1: A5 a C6: G6, A6: A10 a C7: G7, y así sucesivamente como se muestra la siguiente captura de pantalla. ¿Cómo podría hacer frente a esta tarea sin copiar y pegar repetidamente en Excel?

Transponer cada 5 o n filas de una columna a varias columnas con fórmula

Transponer cada 5 o n filas de una columna a varias columnas con código VBA

Transponer cada 5 o n filas de una columna a varias columnas con Kutools para Excel


En Excel, puede aplicar la siguiente fórmula para transponer cada n filas de una columna a varias columnas, haga lo siguiente:

1. Ingrese la siguiente fórmula en una celda en blanco donde desea colocar el resultado, C1, por ejemplo, = ÍNDICE ($ A: $ A, FILA (A1) * 5-5 + COLUMNA (A1)), ver captura de pantalla:

doc transponer cada 5 filas 2

<b>Nota</b>: En la fórmula anterior, AUTOMÓVIL CLUB BRITÁNICO es la referencia de columna que desea transponer y A1 es la primera celda de la columna utilizada, el número 5 indica la cantidad de columnas que ubicarán sus datos, puede cambiarlas según sus necesidades. Y la primera celda de la lista debe ubicarse en la primera fila de la hoja de trabajo.

2. Luego, arrastre el controlador de relleno a la derecha a cinco celdas y continúe arrastrando el controlador de relleno hacia abajo hasta el rango de celdas hasta que muestre 0, vea la captura de pantalla:

doc transponer cada 5 filas 3


Transforme cada 5 o n filas de una columna a varias columnas:

Para transformar cada 5 o n filas de una columna a varias columnas, Kutools for Excel's Transformar rango La utilidad puede ayudarlo a resolver este trabajo lo más rápido posible. También puede ayudarlo a transponer un rango de datos a una sola fila o columna. ¡Haga clic para descargar Kutools para Excel!

doc transponer cada 5 filas 10

Kutools for Excel: con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. ¡Descarga y prueba gratis ahora!


Si no puede aplicar la fórmula correctamente, el siguiente código VBA también puede ayudarlo.

1. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.

Código de VBA: transponer cada 5 o n filas de una columna a varias columnas:

Public Sub TransposeData()
'updateby Extendoffice
    Dim xLRow As Long
    Dim xNRow As Long
    Dim i As Long
    Dim xUpdate As Boolean
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select data range(only one column):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count > 1) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range only contain one column", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xLRow = xRg.Rows.Count
    For i = 1 To xLRow Step 5
        xRg.Cells(i).Resize(5).Copy
        xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
        xNRow = xNRow + 1
    Next
    Application.ScreenUpdating = xUpdate
End Sub

3. Después de pegar el código, presione F5 para ejecutarlo, y aparecerá un cuadro emergente para recordarle que seleccione la columna que desea transponer, vea la captura de pantalla:

doc transponer cada 5 filas 4

4. Luego haga clic OKy seleccione una celda donde desea poner el resultado en otro cuadro emergente, vea la captura de pantalla:

doc transponer cada 5 filas 5

5. Y haga clic en OK, los datos de la columna se han convertido a las cinco columnas que necesita, vea la captura de pantalla:

doc transponer cada 5 filas 6

<b>Nota</b>: En el código anterior, puede cambiar el número 5 a otro número que necesite.


Si tienes Kutools for Excel, Con su Transformar rango utilidad, puede transponer rápidamente una columna o fila a varias columnas y filas.

Kutools for Excel : con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. 

Después de instalar Kutools for Excel, haga lo siguiente:

1. Seleccione los datos en la columna y luego haga clic en Kutools > Gama o Rango > Transformar rango, ver captura de pantalla:

2. En la Transformar rango cuadro de diálogo, seleccione Columna única para rango Bajo el Tipo de transformación, y luego verifique Valor fijo bajo la Filas por registro, luego especifique el número de columnas a las que desea transponer en el Valor fijo cuadro, ver captura de pantalla:

doc transponer cada 5 filas 8

3. Y luego haz clic Ok , en el cuadro emergente, seleccione una celda para generar el resultado, vea la captura de pantalla:

doc transponer cada 5 filas 9

4. Luego haga clic OK y los datos de la columna se han transpuesto cada 5 filas como se muestra en la siguiente captura de pantalla:

doc transponer cada 5 filas 6

¡Descargue y pruebe Kutools para Excel ahora!


Kutools for Excel: con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. ¡Descarga y prueba gratis ahora!

Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office / Excel 2007-2019 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Características completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pradeep · 1 years ago
    Hi, How to do this for Colms to rows. Thank you
    • To post as a guest, your comment is unpublished.
      Jan steihn · 11 months ago
      I've rewritten the command to this one:
      =INDEX($A:$A,ROW(A1)+((COLUMN(A1)-2)*5))
      This executes it inverted.
      So:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      ...
      becomes
      1, 6
      2, 7
      3, 8
      4, 9
      5, ...
  • To post as a guest, your comment is unpublished.
    Maha · 1 years ago
    Thanks alot _/\_ Awesome job with =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
    worked perfectly
  • To post as a guest, your comment is unpublished.
    Arun Balaji VN · 1 years ago
    I tried only the the formula option and it worked great. Till now have been using (Transpose formula with ctrl+shift+enter) but there the disadvantage for we have delete many extra rows. when the rows to be transposed for large in the order of lakhs, then deleting them in excel is either impossible or takes a lot of time.
    this approach made the life easier by only copying the required rows... Thanks
  • To post as a guest, your comment is unpublished.
    Sian · 2 years ago
    This is fricking AWESOME!!! Thank you SO much. Your example was exactly what I needed and it worked beautifully.
  • To post as a guest, your comment is unpublished.
    hamidreza · 3 years ago
    =INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
    It was very simple and really useful. Thank you so much
  • To post as a guest, your comment is unpublished.
    Thank · 3 years ago
    It was great! Thank you! You saved me hours of manual work!
  • To post as a guest, your comment is unpublished.
    xplode · 3 years ago
    Thank you so much!
    It was really helpful. :)
  • To post as a guest, your comment is unpublished.
    MTVN · 4 years ago
    What formula to transpose every 5 rows to a single column?
  • To post as a guest, your comment is unpublished.
    hgimongu · 4 years ago
    Hi!

    May I ask you how to add Blank cell delimits records, instead of 5 as the data I am handling hasn't got fix number of rows. I believe the part which I should change may be around this part of the code:

    For i = 1 To xLRow Step 5
    xRg.Cells(i).Resize(5).Copy
    xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    xNRow = xNRow + 1

    Best
    • To post as a guest, your comment is unpublished.
      Mark.lewis2020 · 11 months ago
      I have the same issue , where the columns are not fixed, and there are empty lines, but I have a same character and end of each data set , that is "=" can I use this as delimiter , that breaks the loop, and next line is considered as new data set ?
    • To post as a guest, your comment is unpublished.
      Mark · 11 months ago
      did you get an answer for the same as i have the same issue , columns are not fixed in numbers, what should I do , can I use a particular character as a delimiter that breaks the loop and count next line and new data set ?