Hola a todos!.
Como punto final a la serie de post dedicados a transponer un rango en horizontal según número de elementos repetidos, he decidido incluir una solución con fórmulas.
Y seguiremos utilizando el archivo de ejemplo del principio:
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2021/10/TRANSPONER-RANGO-EN-HORIZONTAL-SEGUN-NUMERO-DE-ELEMENTOS-REPETIDOS-CON-VBA.png?resize=394%2C811&ssl=1)
El proceso utiliza dos pasos para generar la información, en el primero aplicaremos la fórmula UNICOS para extraer los elementos únicos de la columna A:
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2021/11/TRANSPONER-RANGO-EN-HORIZONTAL-SEGUN-NUMERO-DE-ELEMENTOS-REPETIDOS-CON-FORMULAS1.png?resize=437%2C987&ssl=1)
Una vez que tenemos los únicos aplicaremos en E2 la siguiente fórmula:
=SI.ERROR(INDICE($B$2:$B$6500;AGREGAR(15;6;(FILA($A$2:$A$6500)-FILA($A$2)+1)/($A$2:$A$6500=$D2);COLUMNAS($B2:B2)));"")
Y a continuación arrastramos hasta la columna que creamos que es suficiente para contener todos los elementos (en este caso número de hijos).
Obteniendo así el resultado previsto:
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2021/11/TRANSPONER-RANGO-EN-HORIZONTAL-SEGUN-NUMERO-DE-ELEMENTOS-REPETIDOS-CON-FORMULAS2.png?resize=1024%2C910&ssl=1)
Ojo que se trata de una fórmula matricial y debe ser ejecutada como tal Control + Mayusc + Enter, pero al estar trabajando con office 365 no es necesario.
Básicamente lo que hacemos es obtener el número de fila en el que se encuentra cada elemento con la función agregar y una vez obtenida la coincidencia indicamos con la función INDICE el elemento que debemos mostrar. Y finalmente ocultamos los valores que no aplican.
Así es cómo se ve la tabla aplicando solo esa parte de la función (no he aplicado si.error para que se vea cómo que tras aplicar las primeras funciones):
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2021/11/TRANSPONER-RANGO-EN-HORIZONTAL-SEGUN-NUMERO-DE-ELEMENTOS-REPETIDOS-CON-FORMULAS3-1.png?resize=921%2C987&ssl=1)
Aunque sin duda, los métodos con Power Query y Python son los más rápidos (aunque aún no he probado con typescript ni con ADO), esta alternativa puede que también sea útil, y por eso la publico.
Y esto es todo, espero que os resulte interesante!!
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies