KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo transponer celdas de una columna según los valores únicos de otra columna?

AutorXiaoyang Fecha de modificación

Supongamos que tiene un rango de datos con dos columnas y desea transponer los valores de una columna en filas horizontales, agrupados según los valores únicos de la otra columna, para obtener el resultado que se muestra a continuación. ¿Se le ocurre alguna forma eficaz de lograrlo en Excel?

Una captura de pantalla que muestra el resultado deseado tras transponer celdas basadas en valores únicos

Transponer celdas de una columna en función de valores únicos con fórmulas

Transponer celdas de una columna en función de valores únicos con código VBA

Transponer celdas de una columna en función de valores únicos con Kutools para Excel


Transponer celdas de una columna en función de valores únicos con fórmulas

Con las siguientes fórmulas matriciales, podrá extraer los valores únicos y transponer sus datos correspondientes en filas horizontales. Siga estos pasos:

1. Introduzca esta fórmula matricial: =ÍNDICE($A$2:$A$16;COINCIDIR(0;CONTAR.SI($D$1:$D1;$A$2:$A$16);0)) en una celda vacía, por ejemplo D2, y pulse Mayús + Ctrl + Intro simultáneamente para obtener el resultado correcto. Vea la captura de pantalla:

Una captura de pantalla que muestra la fórmula para extraer valores únicos con el fin de transponer datos

Nota: En la fórmula anterior, A2:A16 es el rango de la columna del que desea obtener los valores únicos, y D1 es la celda situada justo encima de aquella en la que se introduce la fórmula.

2. A continuación, arrastre el controlador de relleno hacia abajo hasta las celdas necesarias para extraer todos los valores únicos. Vea la captura de pantalla:

Una captura de pantalla que muestra los valores únicos extraídos mediante una fórmula

3. A continuación, introduzca esta fórmula en la celda E2:=IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0) y recuerde pulsar Mayús + Ctrl + Intro para obtener el resultado. Vea la captura de pantalla:

Una captura de pantalla que muestra la fórmula para transponer celdas en Excel basadas en valores únicos

Nota: En la fórmula anterior: B2:B16 es la columna de datos que desea transponer, A2:A16 es la columna en función de la cual desea transponer los valores, y D2 contiene el valor único que ha extraído en el paso 1.

4.A continuación, arrastre el controlador de relleno hacia la derecha hasta las celdas en las que desee mostrar los datos transpuestos, hasta que aparezca 0. Consulte la captura de pantalla:

Una captura de pantalla que muestra los datos transpuestos en Excel mediante fórmulas

5. A continuación, arrastre el controlador de relleno hacia abajo por el rango de celdas para obtener los datos transpuestos, tal como se muestra en la siguiente captura de pantalla:

Una captura de pantalla que muestra el resultado final de los datos transpuestos en Excel basados en valores únicos


Transponer celdas de una columna en función de valores únicos con código VBA

Es posible que las fórmulas le resulten difíciles de entender. En ese caso, puede ejecutar el siguiente código VBA para obtener el resultado deseado.

1. Mantenga pulsadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del Módulo.

Código VBA: Transponer celdas de una columna en función de valores únicos de otra columna:

Sub transposeunique()
'updateby Extendoffice
    Dim xLRow As Long
    Dim i As Long
    Dim xCrit As String
    Dim xCol  As New Collection
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    Dim xCount As Long
    Dim xVRg As Range
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count <> 2) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range is only one area with two columns ", , "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)
    xLRow = xRg.Rows.Count
    For i = 2 To xLRow
        xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
    Next
    Application.ScreenUpdating = False
    For i = 1 To xCol.Count
        xCrit = xCol.Item(i)
        xOutRg.Offset(i, 0) = xCrit
        xRg.AutoFilter Field:=1, Criteria1:=xCrit
        Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
        If xVRg.Count > xCount Then xCount = xVRg.Count
        xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
        xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
    Next
    xOutRg = xRg.Cells(1, 1)
    xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
    xRg.Rows(1).Copy
    xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
    xRg.AutoFilter
    Application.ScreenUpdating = True
End Sub

3. A continuación, pulse la tecla F5 para ejecutar este código. Aparecerá un cuadro de diálogo que le pedirá que seleccione el rango de datos que desea utilizar. Vea la captura de pantalla:

Una captura de pantalla de un cuadro de diálogo para seleccionar un rango de datos que transponer en Excel

4. A continuación, haga clic en el botón Aceptar. Aparecerá otro cuadro de diálogo que le pedirá que seleccione una celda donde colocar el resultado. Vea la captura de pantalla:

Una captura de pantalla de un cuadro de diálogo para seleccionar una celda de destino para los datos transpuestos en Excel

6. Haga clic en el botón Aceptar y los datos de la columna B se transpondrán según los valores únicos de la columna A. Vea la captura de pantalla:

Una captura de pantalla que muestra los datos transpuestos en Excel tras ejecutar código VBA


Transponer celdas de una columna en función de valores únicos con Kutools para Excel

Si dispone de Kutools para Excel, al combinar las utilidades Combinar filas avanzado y Dividir celdas, podrá completar esta tarea rápidamente sin necesidad de fórmulas ni código.

Kutools para Excelofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia.Integrado con capacidades de IA, Kutools automatiza tareas con precisión, haciendo que la gestión de datos sea sencilla.Información detallada de Kutools para Excel...         Prueba gratuita...

Tras instalar Kutools para Excel, siga estos pasos:

1. Seleccione el rango de datos que desea utilizar. (Si quiere conservar los datos originales, cópielos y péguelos primero en otra ubicación.)

2. A continuación, haga clic en Kutools > Combinar y dividir > Combinar filas avanzado. Vea la captura de pantalla:

Una captura de pantalla de la opción Combinar filas avanzadas en la pestaña Kutools de la cinta de opciones

3. En el cuadro de diálogo Combinar filas basado en columna, realice las siguientes operaciones:

(1.) Haga clic en el nombre de la columna en función de la cual desea transponer los datos y seleccione Clave principal;

(2.) Haga clic en otra columna cuyos datos desee transponer, pulse Combinar y elija un separador para los datos combinados, como un espacio, una coma o un punto y coma.

Una captura de pantalla del cuadro de diálogo Combinar filas según columna

4. A continuación, haga clic en el botón Aceptar y los datos de la columna B se combinarán en una sola celda según la columna A. Vea la captura de pantalla:

Una captura de pantalla que muestra los datos combinados en Kutools for Excel tras fusionar filas basadas en valores únicos

5. A continuación, seleccione las celdas combinadas y haga clic en Kutools > Combinar y dividir > Dividir celdas. Vea la captura de pantalla:

Una captura de pantalla de la opción Dividir celdas en la pestaña Kutools de la cinta de opciones

6. En el cuadro de diálogo Dividir celdas, seleccione Dividir en columnas en la opción Tipo y, a continuación, elija el separador que utilizó para combinar los datos. Vea la captura de pantalla:

Una captura de pantalla del cuadro de diálogo Dividir celdas

7. A continuación, haga clic en el botón Aceptar y seleccione una celda en la que colocar el resultado dividido en el cuadro de diálogo que aparece. Vea la captura de pantalla:

Una captura de pantalla del cuadro de diálogo para seleccionar la celda de destino

8. Haga clic en Aceptar y obtendrá el resultado que necesita. Vea la captura de pantalla:

Una captura de pantalla que muestra el resultado final de los datos transpuestos

¡Descargue y pruebe gratis Kutools para Excel ahora!


Demostración: Transponer celdas de una columna en función de valores únicos con Kutools para Excel

 
Kutools para Excel: ¡Más de 300 herramientas útiles al alcance de su mano! Disfrute de funciones potenciadas por inteligencia artificial para trabajar de forma más inteligente y rápida.¡Descárguelo ahora!

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose 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   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


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

  • Active 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos