Saltar al contenido

CONVERTIR COLUMNAS DE DATOS EN UNA FILA


danifuturo

Recommended Posts

publicado

Hola a todos,

Necesito saber como ORDENAR automáticamente una columna de filas, con varias celdas en horizontal, en UNA SOLA FILA

Lo mejor es consultar el fichero adjunto.

Fijaros en el bloque de datos amarillo y como debería quedar en verde.

Obviamente la columna de datos es mucho más grande pero eso sirve como ejemplo.

Muchas gracias!

 

 

 

DE COLUMNA A FILA.xlsx

publicado

Hola Víctor, con ENFILA no funciona (pone: #¿nombre?) pero con CONCAT, que es lo que sugiere el excel, sí lo 'enfila' pero el problema es que LO METE TODO EN UNA SOLA CELDA.

Y así no me sirve.

Lo necesitaría tal cual figura en el fichero adjunto, en fila pero cada dato en su celda, igual que figura en la columna de datos.

Muchas gracias porque es una aproximación.

publicado

@danifuturo La propuesta del maestro @Victor7 debería resolver lo explicado en la solicitud, si te devuelve NOMBRE es posible que sea por la versión de Excel que tienes. Por esta causa es importante mencionar en su perfil ese dato.

¿Podría poner cuál es? Así es posible que reciba otra opción de los maestros.

publicado
hace 16 horas, danifuturo dijo:

pone: #¿nombre?

Es el Excel 2021 

Gracias Israel ya lo he puesto en mi perfil.

Un saludo,

publicado

La fórmula de Victor hace lo que quieres, pero imagino que solo funciona con NSO 365.

Por si te interesa, te dejo una macro.

Sub ColumnaFila()
   For x = 1 To Range("A" & Rows.Count).End(xlUp).Row
      Range("A" & x).Resize(1, 3).Copy Range("G1").Offset(0, (x - 1) * 3)
   Next
End Sub

 

publicado

Te dejo una UDF equivalente a la función ENFILA() :

Function ENFILAMA(Rango As Range) As Variant
Dim xenfilaMA(), Celda As Range
i = -1
For Each Celda In Rango
   ReDim Preserve xenfilaMA(i + 1)
   xenfilaMA(UBound(xenfilaMA)) = Celda.Value
   i = i + 1
Next
ENFILAMA = xenfilaMA
End Function

Revisa la fórmula de G1.

DE COLUMNA A FILA.xlsm

publicado

Que tal a todos, me permito aportar otra posible solución empleando formulación:

=SI.ERROR(INDICE(Tabla1;ENTERO((COLUMNAS($G3:G3)-1)/COLUMNAS(Tabla1))+1;RESIDUO(COLUMNAS($G3:G3)-1;COLUMNAS(Tabla1))+1);"")

Cabe mencionar que el rango fue convertido en Tabla, de manera que la fórmula se comporte de manera dinámica en caso de incluir mas filas o columnas.

Espero les sea útil.

DE COLUMNA A FILA (SOLUCION).xlsx

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.