Note: The other languages of the website are Google-translated. Back to English
Iniciar  \/ 
x
or
x
Registrarse  \/ 
x

or

¿Cómo transponer datos de una columna a una sola celda en Excel?

Cuando necesite transponer una lista de datos en una sola celda en una hoja de trabajo, normalmente, puede aplicar el Concatenar función para fusionar la lista de celdas en una celda, pero será complejo si es necesario combinar grandes datos. En este artículo, hablaré sobre algunos trucos rápidos para que resuelvas esta tarea en Excel.

Transponer datos de la columna a una sola celda con la función definida por el usuario

Transponer datos de la columna a una sola celda con Kutools para Excel


Excepto la función Concatenar para fusionar una lista de valores de celda, puede aplicar el siguiente código VBA para obtener el resultado lo más rápido posible.

1. Mantenga pulsado el ALT + F11 llaves, y abre 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 datos de la columna a una sola celda

Function transposeRange(Rg As Range)
'updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
        If Not IsEmpty(xCell.Value) Then
            xStr = xStr & xCell.Value & ","
        End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
End Function

3. Luego guarde y cierre este código, regrese a la hoja de trabajo e ingrese esta fórmula: = rango de transposición (A1: A10) en una celda en blanco para poner el resultado y presione Entrar clave, obtendrá todos los valores de celda en una columna que se han ubicado en una sola celda, vea la captura de pantalla:

doc transponer celdas en una celda 1

Nota:: En el código anterior, A1: A10 es el rango de la lista que desea transponer a una sola celda y, además, puede separar el contenido combinado con otros delimitadores, como coma, guión, espacio, etc., simplemente cambiando la coma en el script xStr = xStr & xCell.Value & ",".


Si tienes Kutools for Excel, con su poderosa herramienta-Combinar, puede combinar datos en una columna, fila o rango en una celda.

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, haz lo siguiente :( ¡Descarga gratis Kutools para Excel ahora! )

1. Seleccione la columna de datos que desea combinar en una celda.

2. Hacer clic Kutools > Fusionar y dividirCombine filas, columnas o celdas sin perder datos, ver captura de pantalla:

3. En el cuadro de diálogo emergente, seleccione Combinar en una sola celda bajo el Para combinar celdas seleccionadas de acuerdo con las siguientes opciones, y luego especifique un separador para separar el contenido combinado, vea la captura de pantalla:

doc transponer celdas en una celda 3

4. Luego haga clic Ok or Buscar botón, y obtendrá el siguiente resultado cuando lo necesite:

doc transponer celdas en una celda 4 2 doc transponer celdas en una celda 5

¡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.
    Sophie · 2 years ago
    Hi,

    Thanks a lot! I'm using your following function and it works very well. I would like to include an "if" function in the transposerange. What should I add to the function in VBA? Basically, it would work like a countif. So we would read the formula =transposerangeif(range,criteria).

    Thanks in advance!

    Function transposeRange(Rg As Range)
    'updateby Extendoffice 20151207
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
    If Not IsEmpty(xCell.Value) Then
    xStr = xStr & xCell.Value & ","
    End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
    End Function
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hello,Sophie,
      Could you give an example for your need, you can insert a screenshot here.
  • To post as a guest, your comment is unpublished.
    Eric · 3 years ago
    Thanks, this was very helpful.