Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo apilar rápidamente varias columnas en una columna en Excel?

en Excel, la función de Texto a columnas puede dividir una celda en múltiples columnas basadas en el delimitador, pero si hay alguna forma de apilar varias columnas en una columna como se muestra a continuación? En este artículo, presentaré algunos trucos para resolver esta tarea rápidamente.
doc stack columns a un 1

Apila varias columnas en una con fórmula

Apila varias columnas en una sola con VBA

Apila múltiples columnas en una sola con Transform Range buena idea3

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools for Excel trae las características avanzadas de 300 a Excel y aumenta su productividad en 80%
  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células 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 Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Kutools funciona con Office 2007-2019 y 365. Es compatible con todos los idiomas y es muy fácil de instalar o implementar. Funciones completas de prueba gratuita de 60-day.

Apila varias columnas en una con fórmula


1. Seleccione el rango que desea apilar e ingrese al Nombre de buzón para darle un nombre a este rango, y presione entrar llave. Ver captura de pantalla:
doc stack columns a un 2

2. A continuación, seleccione una celda en blanco que desea colocar los resultados, ingrese esta fórmula =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), prensa Entetecla r y arrastre el controlador de relleno hacia abajo hasta que aparezca un error. Ver captura de pantalla:
doc stack columns a un 3

En la fórmula, MyData es el nombre de rango que ha especificado en el paso 1.

Apila varias columnas en una sola con VBA

Aquí hay un código de VBA que puede ayudarlo también.

1. Prensa Alt + F11 teclas para mostrar Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Módulo, pegue el código debajo del Módulo.

VBA: apila columnas a uno

Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

doc stack columns a un 4

3. Prensa F5 clave para ejecutar el código, aparece un cuadro de diálogo para seleccionar los datos de origen y hacer clic OK, para seleccionar una celda para colocar los resultados. Ver captura de pantalla:
doc stack columns a un 5

4. Hacer clic OK. Ahora las columnas se han apilado en una columna.
doc stack columns a un 6


Apila múltiples columnas en una sola con Transform Range

Aplicar Kutools for Excel, Transform Range la utilidad también puede ayudarlo a resolver rápidamente este problema.

Kutools for Excel, con más de 300 Funciones prácticas, hace que sus trabajos sean más fáciles.

Después de instalar Kutools para Excel, haz lo siguiente:(Descarga gratuita Kutools for Excel ahora!)

Después de instalar Kutools para Excel, haz lo siguiente :(Descarga gratuita Kutools for Excel ahora!)

1. Seleccione los datos de las columnas que usa y haga clic Kutools > Rango > Transform Range. Ver captura de pantalla:
doc stack columns a un 8

2. En el Transform Range diálogo, verificar Rango a columna individual opción, y haga clic Ok, luego selecciona una celda para colocar los resultados. Ver captura de pantalla:
doc stack columns a un 9

3. Hacer clic OK. Ahora las columnas se han apilado en una sola columna.
doc stack columns a un 1


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células 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 Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Funciona con Office 2007-2019 y 365, y es compatible con todos los idiomas. Es fácil de implementar en su empresa. Funciones completas de prueba gratuita de 60-day.
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

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Susan Millard · 2 months ago
    I am using the Stack Multiple Columns Into One With Formula method and it worked perfectly, but I want it to maintain the formatting, i.e. some columns were bold & 1 was hyperlinks. Is there something that can be added to the formula to make this happen?
    • To post as a guest, your comment is unpublished.
      Sunny · 20 days ago
      Hi, Susan Milard, their formula can meet your need, you can use the VBA or the Transpose Range tool,both of them can satisfy you.
  • To post as a guest, your comment is unpublished.
    Tom · 6 months ago
    I am attempting to do this over a very large table (100s of columns and rows that are all linked to formulas. My excel will keep loading and then ultimately go to not responding. Is there a way to get past this? Thanks
    • To post as a guest, your comment is unpublished.
      Sunny · 3 months ago
      Hi, Tom, which method you apply does not work? The method three, transform range tool must can work.
  • To post as a guest, your comment is unpublished.
    Chris Blackburn · 6 months ago
    Hi, I'm looking to go a step further with this. I've used Stack Multiple Columns Into One With VBA, code and this works. I've used Tables as the source with this code and I get the list. Is there a way to automate running the Macro? So that when I add a new entry into the table the Macro automatically runs and keeps the resulting list up to date?
    • To post as a guest, your comment is unpublished.
      Sunny · 6 months ago
      Hi, Chris Blackburn, sorry I am affraid I cannot find a code can automatically run to update the result, maybe someone else can.
  • To post as a guest, your comment is unpublished.
    tom · 11 months ago
    Hi, is there a way to make the formula ignore any blank cells your data may contain?


    =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1),


    I am using a helper sheet to create a contiguous list for a data validation drop down list. Thanks in advance.
    • To post as a guest, your comment is unpublished.
      Sunny · 10 months ago
      Sorry, I am not good at formula, maybe you can try to use Kutools for Excel's Select Nonblank cells utility to select the unempty cells firstly, and copy and paste them to another location, then use above methods.
  • To post as a guest, your comment is unpublished.
    Gokce · 11 months ago
    I have data which ends at the same row but multiple columns in which I want them to be stacked in a sequence where B column data will go under A column data where the data ends for A column and C column data to go under A column data where the data from B column ends and so on. This way I will have data from multiple columns to fit into one column. How can I do that?
  • To post as a guest, your comment is unpublished.
    badusha · 1 years ago
    Hello , is there any to convert above data to following form ??
    1
    A
    Lilly
    2
    B
    Judy
    ...
  • To post as a guest, your comment is unpublished.
    John Smith · 1 years ago
    this is just a clickbait to have you download a paying software
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      The first download will be free to use in 60 days, after that, you can decide to pay for use or not.
  • To post as a guest, your comment is unpublished.
    Jon · 1 years ago
    you are stacking multiple rows into one column, not multiple columns... not what I was looking for.
    • To post as a guest, your comment is unpublished.
    • To post as a guest, your comment is unpublished.
      Phil · 1 years ago
      To stack columns A-P that are in blocks of 6 rows put this formulae in cell R1 and fill down

      =OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)
      • To post as a guest, your comment is unpublished.
        Miguel · 1 years ago
        Cancel that last one, missed the truncate step.
      • To post as a guest, your comment is unpublished.
        Miguel · 1 years ago
        Dang, now it doesn’t work! Tried on a new tab but it’s now back to stacking column contents in one in stead of originally row content.
      • To post as a guest, your comment is unpublished.
        Miguel · 1 years ago
        Thank you for posting this solution! In case anyone needs a space after/at the end of each block, just add an additional count to the rows, so going by the example above, instead of $A$6, write $A$7. It inputs a zero ‘0’ to the row but you can easily ‘Use selection for Find’ in Sublime to edit them out. If you know the solution which doesn’t add a zero, please post!?
        • To post as a guest, your comment is unpublished.
          Timkil · 9 months ago
          to output a blank cell instead of 0, do an IF function>0, TRUE-->output the original cell content, FALSE-->output ""

          =if(OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)>0,OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1),"")
      • To post as a guest, your comment is unpublished.
        Fish · 1 years ago
        This works perfect, thanks