En el siguiente ejemplo, tenemos una serie de fechas junto con su hora, un producto, y, una ventas, y, queremos saber cuáles fueron las ventas que se realizar en el día 2 de enero de 2021, entre las doce y la una del mediodía, y, la una y las dos del mediodía.
Tenemos la fecha y hora juntas, pero debemos de trabajar con la fecha por un lado, y, con la hora por otro lado.
Si seleccionamos la primera fecha, y, la ponemos en formato general, vemos que nos devuelve un numero decimal, donde la parte entera es la fecha, y, la parte decimal es la hora.
En una celda, voy a usar la función ENTERO aplicada a la celda A3, esta función nos devolverá la parte entera, como he hecho clic en la celda A3, me devuelve la columna de fecha y hora, porque el modelo esta en formato de tabla, y, se llama ventas.
Lo ponemos en formato de fecha corta.
=ENTERO(Ventas[@[Fecha y hora]])
Si a la celda A3, le resto la parte decimal, me devolverá la hora.
Lo ponemos en formato de hora.
Pues, con estos dos valores debemos de trabajar para realizar las comparaciones.
En la celda H3, voy a abrir un paréntesis, para poner la primera condición, que es que la columna fecha y hora, debe de ser igual al valor de la celda E3, es decir, la fecha.
=(ENTERO(Ventas[Fecha y hora])=E3
Obtengo una matriz desbordada con VERDADERO donde hay coincidencia en la fecha, y, FALSO donde no la hay.
Cierro paréntesis de la condición, pongo el símbolo de asterisco, que es igual que el operador lógico Y, es decir, devuelve VERDADERO si todas las condiciones se cumplen, y, abro otro paréntesis, para la siguiente condición, donde a la columna fecha y hora, le restamos la parte entera, y, debe de ser igual o mayor que el valor de la celda F3, es decir, la primera hora.
=(ENTERO(Ventas[Fecha y hora])=E3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])>=F3
Cerramos paréntesis de la condición, volvemos a poner el símbolo de asterisco, y, abrimos otro paréntesis, para la tercera condición, en este caso, la hora debe de ser menor o igual que la segunda hora, y, cerramos paréntesis de la condición.
=(ENTERO(Ventas[Fecha y hora])=E3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])>=F3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])<=G3)
Obtenemos una matriz desbordada con 1 donde hay coincidencia, y, 0 donde no la hay.
Ahora, con el condicional SI, voy a preguntar que si el resultado de la expresión anterior es igual a 1, que me devuelva la columna de ventas, en caso contrario, que ponga un texto en blanco.
=SI((ENTERO(Ventas[Fecha y hora])=E3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])>=F3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])<=G3)=1;Ventas[Ventas];"")
Me devuelve un solo valor, porque solo hay una coincidencia, pues, después del signo igual, uso la función SUMA para que me devuelva el total.
=SUMA(SI((ENTERO(Ventas[Fecha y hora])=E3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])>=F3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])<=G3)=1;Ventas[Ventas];""))
Fijamos E3, y, arrastramos una vez.
=SUMA(SI((ENTERO(Ventas[Fecha y hora])=$E$3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])>=F3)*(Ventas[Fecha y hora]-ENTERO(Ventas[Fecha y hora])<=G3)=1;Ventas[Ventas];""))
Ya tenemos las ventas realizadas para el día 2 de enero de 2021 entre ambas horas.
Veamos otra forma de hacerlo, si uno el valor de la celda E9 mas el valor de la celda F9, obtengo la fecha y la hora.
=E9+F9
Vamos a hacerlo con la función SUMAPRODUCTO, donde abro un paréntesis para poner la primera condición, que es la columna fecha y hora, debe de ser mayor o igual que E9 mas F9, y, cerramos paréntesis.
=SUMAPRODUCTO((Ventas[Fecha y hora]>=E9+F9)
Ponemos el símbolo de asterisco, abrimos un paréntesis, y, ponemos la siguiente condición, que es que la columna fecha y hora, debe de ser menor o igual que E9 mas G9, y, cerramos paréntesis.
=SUMAPRODUCTO((Ventas[Fecha y hora]>=E9+F9)*(Ventas[Fecha y hora]<=E9+G9)
Ponemos el símbolo de asterisco, abrimos un paréntesis y ponemos la columna de ventas, cerramos paréntesis de la condición, y, de la función.
=SUMAPRODUCTO((Ventas[Fecha y hora]>=E9+F9)*(Ventas[Fecha y hora]<=E9+G9)*(Ventas[Ventas]))
Aceptamos, y, tenemos el mismo resultado que el obtenido anteriormente.
Fijamos E9, y, arrastramos una vez, y, tenemos los mismos resultados.
=SUMAPRODUCTO((Ventas[Fecha y hora]>=$E$9+F9)*(Ventas[Fecha y hora]<=$E$9+G9)*(Ventas[Ventas]))
Comments