ID por fechas
- Jaime Franco Jimenez

- 3 oct 2023
- 2 Min. de lectura
Tenemos el siguiente cuadro:

Debemos de crear un modelo, donde en una columna debemos de tener las fechas únicas, en horizontal los ID, y, debe de aparecer para cada fecha y cada ID, el valor correspondiente, el modelo debe de quedar como sigue:

En la celda I2, nos traemos las fechas únicas.
=UNICOS(B2:B10)

En la celda J2, abrimos un paréntesis, seleccionamos el rango B2:B10 e igualamos a I2 (primera fecha), cerramos paréntesis.
=(B2:B10=I2)
Obtenemos una matriz desbordada con VERDADERO donde hay coincidencia, y, FALSO donde no la hay.

Ponemos el símbolo de asterisco, abrimos otro paréntesis, seleccionamos el rango C1:G1 (ID), e, igualamos a J1 (ID1), cerramos paréntesis.
=(B2:B10=I2)*(C1:G1=J1)
Obtenemos una matriz desbordada con 1 donde hay coincidencia, y, 0 donde no la hay.

Si nos fijamos en el modelo la fecha 01/12/2023, aparece tres veces, pero, solo una de ellas tiene una letra, por lo que ponemos de nuevo un asterisco, abrimos otro paréntesis, seleccionamos el rango C2:G10, el signo de indistinto (<>) y blanco, es decir, comillas dobles, cerramos paréntesis.
=(B2:B10=I2)*(C1:G1=J1)*(C2:G10<>"")
Vemos que ahora solo aparece un 1, que es donde hay una letra.

Ahora, preguntamos si el resultado de la expresión anterior es igual a 1, que nos devuelva el rango C2:G10, en caso contrario, que devuelva un blanco.
=SI((B2:B10=I2)*(C1:G1=J1)*(C2:G10<>"");C2:G10;"")
Obtenemos una matriz desbordada con el valor para la fecha 01/12/2023 e ID1.

Hay que tener en cuenta que hay algunos ID que aparecen en la misma fecha, por lo que vamos a usar UNIRCADENAS después del signo igual, como argumento delimitador, entre comillas dobles ponemos coma, ignoramos celdas vacías, como argumento texto1, es el condicional SI.
=UNIRCADENAS(",";VERDADERO;SI((B2:B10=I2)*(C1:G1=J1)*(C2:G10<>"");C2:G10;""))
Fijamos las siguientes referencias.
=UNIRCADENAS(",";VERDADERO;SI(($B$2:$B$10=$I2)*($C$1:$G$1=J$1)*($C$2:$G$10<>"")=1;$C$2:$G$10;""))
Seleccionamos la expresión, pulsamos CTRL mas C para copiar, seleccionamos el rango donde pegar, y, pulsamos CTRL más V para pegar.
Pues, ya lo tenemos.

Miguel Angel Franco




Comentarios