Tenemos el modelo con el que suelo trabajar, ventas de productos, en diferentes centros comerciales, provincias, y, fechas.
Queremos saber, cuando fue la primera venta de cada mes.
Vamos a crear el cuadro, vamos a extraer cada mes de cada fecha en vertical, para ello, voy a hacer uso de la función TEXTO, de forma matricial.
En la celda I3, escribimos el signo igual, seguido de la función TEXTO, y, abrimos un paréntesis.
=TEXTO (
Como argumento valor, seleccionamos la columna de fecha.
=TEXTO(Tabla1[Fecha];
Como argumento formato, ponemos cuatro MMMM.
=TEXTO(Tabla1[Fecha];"mmmm"
Cerramos paréntesis, y, aceptamos.
=TEXTO(Tabla1[Fecha];"mmmm")
Tenemos una matriz desbordada, con todos los meses, pero repetidos, por lo que después del signo igual, usamos la función UNICOS.
=UNICOS(TEXTO(Tabla1[Fecha];"mmmm"))
Ahora, tenemos los meses únicos, desde enero a diciembre.
Lo siguiente va a ser construir los años únicos, pero en horizontal, para ello, en la celda J2, escribimos de nuevo el signo igual, seguido de la función TEXTO, y, abrimos un paréntesis.
=TEXTO (
Como argumento valor, volvemos a seleccionar la columna de fechas.
=TEXTO(Tabla1[Fecha];
Como argumento formato, entre comillas dobles, ponemos cuatro AAAA.
=TEXTO(Tabla1[Fecha];"AAAA"
Cerramos paréntesis, y, aceptamos.
=TEXTO(Tabla1[Fecha];"AAAA")
Tenemos una matriz desbordada con los años en vertical, pero repetidos, pues después del signo igual, usamos la función UNICOS.
=UNICOS(TEXTO(Tabla1[Fecha];"AAAA"))
Ahora, usamos la función TRANSPONER, para colocar los años en horizontal.
=TRANSPONER(UNICOS(TEXTO(Tabla1[Fecha];"AAAA")))
Ya tenemos realizado el cuadro.
Pues, empecemos.
Primero, voy a preguntar si el mes de la columna fecha, es igual al valor de la celda I3, en ese caso, que me devuelva la columna fecha.
=SI(TEXTO(Tabla1[Fecha];"mmmm")=I3;Tabla15[Fecha])
Obtenemos una matriz desbordada, con las fechas que corresponden al mes de enero, pero de todos los años, y, queremos los meses de enero del primer año, que es el año 2017, por lo que debemos de poner una segunda condición, dentro del SI, entonces, después del argumento prueba lógica, vamos a poner esta segunda condición, y, en caso de no haber coincidencia, que ponga un texto en blanco.
=SI(TEXTO(Tabla1[Fecha];"mmmm")=I3;SI(TEXTO(Tabla1[Fecha];"aaaa")=J2;Tabla1[Fecha];"");""))
Aceptamos, y, tenemos las fechas de los meses de enero del año 2017.
Ahora, después del signo igual, vamos a usar la función MIN, para quedarnos con la fecha mínima, y, tenemos la primera venta para el mes de enero, del año 2017.
Ahora, vamos a arrastrar tanto hacia abajo, como hacia la derecha, pero antes, debemos de fijar la columna de la referencia I3, para que, al copiar hacia la derecha, la columna no se actualice, y, la fila de la referencia J2, para que, al copiar hacia abajo, la columna no varie.
=MIN(SI(TEXTO(Tabla1[Fecha];"mmmm")=$I3;SI(TEXTO(Tabla1[Fecha];"aaaa")=J$2;Tabla1[Fecha];"");""))
Seleccionamos la función, pulsamos CTRL mas C, para copiar, seleccionamos todo el rango, y, pulsamos CTRL mas V, para pegar, y, tenemos la primera venta para cada mes de cada año.
Ahora, lo vamos a realizar con la función FILTRAR.
Vamos a filtrar la columna fecha, por las mismas condiciones usadas anteriormente, pero, para este caso, queremos que nos devuelva la columna fecha, producto, y, total, lo vamos a hacer para los años 2017, 2018, y, 2019.
Como he dicho, FILTRAR, va a tener las mismas condiciones usadas anteriormente, cada condición debe de ir entre paréntesis, separado por el símbolo de asterisco, y, nos va a devolver todas las columnas.
=FILTRAR(Tabla1;(TEXTO(Tabla1[Fecha];"mmmm")=I3)*(TEXTO(Tabla1[Fecha];"aaaa")=J2))
Voy a volver a usar la función FILTRAR, para filtrar la expresión anterior, donde como argumento include, voy a usar una constante de matriz, para indicar que columnas debe de devolver, cero significa que no debe de aparecer, y, 1 que si debe de aparecer.
=FILTRAR(FILTRAR(Tabla1;(TEXTO(Tabla1[Fecha];"mmmm")=$I3)*(TEXTO(Tabla1[Fecha];"aaaa")=J$2));{1\0\0\1\0\0\1})
Ahora, debemos de quedarnos con la fecha mínima, como las fechas están ordenadas, voy a usar la función INDICE, para que me devuelva la primera fila.
=INDICE(FILTRAR(FILTRAR(Tabla1;(TEXTO(Tabla1[Fecha];"mmmm")=$I3)*(TEXTO(Tabla1[Fecha];"aaaa")=J$2));{1\0\0\1\0\0\1});1)
Ya lo tenemos, lo siguiente es copiar la función, y, pegarla, quedando como sigue.
Comments