Si necesitais mover el valor de las columnas en una misma celda de una fila basandose en otro valor de otra columna, a continuación podreis ver como lo podreis conseguir.
Veamos un ejemplo. Si partimos de una tabla de datos como la que se aprecia en la imagen. Nuestra intención es poner los valores de la tercera columna en la primera fila de cada uno de los grupos de fila que nos viene dado por la columna «Valor1»
De modo que el resultado que queremos conseguir, es el siguiente. Fijaros en las filas en negrita, en ellas hemos pasado los valores de la columna «ValorAPonerEnFila» y los hemos pasado a la primera celda de cada grupo (en este caso serparados por , pero podriamos poner cualquier caracter como separador.
La fórmula que nos va a permitir hacer esto será la siguiente =SI(B3<>B4;D3;CONCAT(E4;»,»;D3)). Con el simple uso de el SI y CONCAT, conseguiremos el objetivo buscado. Vamos a verlo con más detalle.
Primero, ponemos la condición donde evaluamos si estamos en el mismo grupo o es un grupo diferente B3<>B4, si es el caso, elegiremos el valor de la columna correspondiente sin concatenar, D3 si por el contrario es el mismo grupo, concatenaremos el valor que ya hemos puesto en la fila, luego una coma y por último el valor de la columna. CONCAT(E4;»,»;D3). Porúltimo, arrastraremos la formula hacia abajo por todas las columnas. Así conseguimos que se vaya añadiendo una columna en nuestra celda final, en cada paso que damos.
Una vez conseguido nuestro propósito, facilmente podemos variar el orden de nuestra celda resultado simplemente cambiando el orden de nuestra concatenación. De este modo, si cambiamos el E4 por el D3 dentro del concat, conseguiremos que cambie el orden de nuestra celda resultado.
En la imagen podeis ver como ahora el orden del resultado ha cambiado.
Lo mismo sucede, con el delimitador, simplemente cambiando la coma por un espacio conseguimos que el resultado tenga este aspecto.
Dejad vuestros comentarios.