top of page

ID por fechas

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


© 2019 Miguel Ángel Franco García

bottom of page