Tengo esta sencilla tabla de datos en Excel y necesito una fórmula para encontrar el monto total de hoy. Por lo tanto, sería una suma de todos los montos que caen entre las 00:00 y las 23:59 para la fecha de HOY(). ¿Cómo puedo hacer esto?
Para (posiblemente) complicar un poco las cosas, no puedo agregar más columnas a la hoja de cálculo de origen (la imagen a continuación). Todos los cálculos se hacen en una hoja separada. Por lo tanto, no puedo agregar otra columna a cada fila para agregar algunos números auxiliares/pasos provisionales. Lo ideal sería que todo fuera una gran fórmula que pueda incluir en una celda de una hoja separada.
Datos de ejemplo:
Respuesta1
Lo primero que debe averiguar es si sus fechas son texto o si son números formateados por Excel para mostrarse como fechas. Es una distinción muy importante y querrás la última, ya que te permite utilizar más fórmulas integradas de Excel. Algunas pruebas posibles son
- =ESTTEXTO(A2)
- =ESNÚMERO(A2)
- Cambie el formato de la celda a general y vea si el contenido mostrado cambia
Por el bien de esta solución, se asumirá que sus fechas son números. Si no es así, hay muchas preguntas/respuestas sobre cómo convertir fechas de texto a números/formato Excel.
ENTENDIENDO LA HORA/FECHA EN EXCEL
Excel almacena la fecha como un número entero. Es el recuento del número de días desde el 0 de enero de 1900. Entonces, 1 es el 1 de enero de 1900 (creo que el año de referencia es 1905, pero podría estar equivocado). Entonces, todas las fechas en Excel son simplemente números enteros con algún formato especial aplicado para mostrarlas de la manera que estamos acostumbrados a ver. Por otro lado, el tiempo se almacena como % de un día o, si lo prefiere, como decimal de un día. 0,5 representan medio día o almuerzo. Entonces, si solo necesita encontrar la fecha a partir de una fecha de tiempo mixto, debe eliminar solo la parte entera. por el contrario, si solo necesita tiempo, solo necesita eliminar la porción decimal.
Opción 1 SUMAPRODUCTO
SUMPRODUCT
es una función regular que realiza cálculos tipo matriz. Como tal, desea limitar la referencia de rango a aproximadamente sus datos y no utilizar referencias completas de columnas/filas. Si terminas haciendo esto más tarde, puedes atascar tu máquina con cálculos excesivos e inútiles en celdas vacías.
=SUMPRODUCT((INT($A$2:$A$12)=TODAY())*$B$2:$B$12)
La nota TODAY()
es una función volátil. Esto significa que vuelve a calcular cada vez que algo en la hoja cambia, incluso si no afecta la función. Una función no volátil (la mayoría de las funciones regulares) solo se recalcula cuando ocurre un cambio que las afecta. Como resultado, si copia una función volátil en muchas celdas, puede terminar atascando su computadora cada vez que se cambia/ingresa algo en una hoja.
Opción 2 - SUMIFS
SUMIFS
es una fórmula normal en la que puede utilizar referencias de columnas completas sin preocupaciones y mi opción preferida sobre cómo lidiar con esta situación. Esta fórmula toma la forma de:
SUMIFS(Range to be summed, range for condition 1, Condition 1 check, ..., range for condition n, Condition n check)
entonces, en su caso, desea verificar el inicio y el final del día, por lo que su fórmula tendrá que condicionar las comprobaciones y debería terminar luciendo algo como lo siguiente.
=SUMIFS($B$2:$B$12,$A$2:$A$12,">="&TODAY(),$A$2:$A$12,"<"&TODAY()+1)