Sumar valores dentro de un marco de tiempo

-2

ingrese la descripción de la imagen aquíTengo 550 filas de datos que representan los tiempos de vuelo diarios. Cada vuelo, dependiendo del tipo de aeronave, requiere un cierto número de personas para asistir al vuelo. Esa tarea lleva 45 minutos. Por lo tanto, en cualquier momento del vuelo, habrá personas ocupadas con ese vuelo más cualquier vuelo dentro de los 45 minutos anteriores. Quiero obtener un recuento agregado del total de personas requeridas en cualquier momento del vuelo. También quiero tratar los 45 minutos como una variable de entrada para ver cómo los cambios en este tiempo de tarea afectan la demanda de mano de obra en cada tiempo de vuelo.

Aquí hay una maqueta de cómo se ven los datos:

     A            B         C.        D
1   2:30          4        0:45       4
2   2:45          3.                  7
3   3:15          2.                  9
4   3:30          4.                  9
5   3:35          5.                 11

La columna A contiene los tiempos de vuelo. La columna B contiene la cantidad de personas requeridas para ese vuelo. La celda C1 contiene el valor para el tiempo de la tarea. Quiero completar la columna D con el recuento agregado de personal requerido en cada tiempo de vuelo. El ejemplo se muestra con los resultados completados.

Un cálculo de muestra se vería así. Use la fila 4 como ejemplo. El tiempo de vuelo es a las 3:30. Basado en un tiempo de tarea de 45 minutos, todos los vuelos en o después de las 2:45 requerirían personas concurrentes. Hay tres vuelos de este tipo, 2:45, 3:15 y 3:30. La dotación de personal de la columna B para esos vuelos es 3, 2 y 4, por lo que el requisito total de dotación de personal en el momento del vuelo 3:30 es 9. Eso es lo que pasa en D4.

Si tuviera que cambiar el tiempo de la tarea en C1 a 30 minutos, solo calificarían los vuelos de 3:15 y 3:30, por lo que el total en D4 sería 6.

Lo he intentado SUMIFy SUMIFS. He agregado una fila con los datos (tiempo) menos y C1luego intenté sumar todo Bentre ese rango de tiempo. Parece que no puedo obtener la Bcolumna para agregar los datos.

Lo intenté

    =sumif(A:A,"<=A4",B:B)-sumif(A:A,"<=A4-C1",B:B)
Charles T
fuente
Estás dando la 0:45variable, ¿de dónde viene la variable 3:30? ¿Siempre va a funcionar la fórmula 3:30?
CharlieRB
@CharlieRB: Él dice en la pregunta que 3:30viene de la celda A4. Por qué está usando A4como ejemplo, lo que quiere que se haga en las filas 1, 2 y 3, y cuál es la relación entre A4y C1sigue siendo un misterio.
Scott
@CharlesT: No te disculpes por no poder comentar; Las aclaraciones a la pregunta deben presentarse como ediciones a la pregunta. Haga clic en el enlace "bandera" y solicite que se fusionen sus dos cuentas, para que pueda editar su pregunta directamente sin pasar por una revisión por pares. Luego trate de explicar lo que quiere con mayor claridad. Podría ser útil si incluyera una ilustración de la hoja completa, tal como la desea.
Scott
¿Puedes compartir la fórmula que probaste para ambos SUMIFy SUMIFS?
CharlieRB
Por favor, póngase en contacto con la pila Cambio de tener sus cuentas fusionado: superuser.com/contact
slhck

Respuestas:

0

Aquí hay una solución. Esta es la fórmula para D1. Ingrese y luego copie para otras celdas en D:

    =SUM(INDIRECT("b"&IF(ISNA(MATCH(A1-C$1,A$1:A1,0)),IF(ISNA(MATCH(A1-C$1,A$1:A1,1)),1,MATCH(A1-C$1,A$1:A1,1)+1),MATCH(A1-C$1,A$1:A1,0))):B1)

Esto es básicamente la lógica. Encuentra la primera fila que cumple con sus criterios y luego suma los valores en B entre allí y la fila actual. La forma en que encuentra la primera fila es mediante el uso de la función MATCH para comparar el tiempo en la columna A menos el tiempo en C1 con los valores de tiempo en las filas hasta e incluyendo la fila actual. MATCH no tiene una búsqueda de GE para valores en orden ascendente, por lo que utiliza una combinación de LE y EQ.

  • Si no hay nada LT, eso significa que la fila 1 es GE, entonces esa es la primera fila.
  • Si una fila es EQ, esa es la fila inicial.
  • Si una fila es LE pero no EQ, eso significa que la siguiente fila es la primera GE, entonces esa es la primera fila.
fijador1234
fuente
Wow ... funcionó. Tu leyenda Con mi pequeño conocimiento de Excel realmente entiendo eso.
Charles T
Lo siento, no permitirá editar mi último comentario. Presioné enter para bajar una línea. Wow ... funcionó. Tu leyenda Con mi pequeño conocimiento de Excel realmente entiendo eso. Muchas gracias. Sin embargo, una cosa que está haciendo es sumar el primer conjunto de datos fuera del rango. Ejemplo, son las 2:00 en mi hoja de cálculo, que debería sumar todo entre 1:45 y 2:00. Lo que está haciendo es recoger los datos a la 1:10. Este es el primer conjunto de datos fuera del rango. ¿Sabes algo que solucione eso? Espero que tenga sentido.
Charles T
Esta es una gran pregunta que no es tan única como apareció por primera vez. No creo que seas la única persona con este tipo de problema. Creo que fue rechazado porque era difícil de seguir, especialmente antes de agregar alguna aclaración. Envié algunas ediciones para que sea más fácil de entender.
fijador1234
Si todavía está usando 45 minutos, el rango debe comenzar a las 1:15. Sin embargo, 1:10 todavía está fuera del rango. Lo probé en condiciones como esa y funcionó. Me pregunto si, en el proceso de copia, uno de los rangos se corrompió. Mire la fórmula en la celda que está en mal estado y verifique que los rangos sean correctos.
Fixer1234
Sí, lo siento, fue un tipo incorrecto, el rango debería haber sido 1: 15-2: 00. Estoy tratando de localizarlo pero no puedo. He tenido que agregar algunos bloqueos de celdas mientras estoy arrastrando sobre diferentes rangos. Tal vez ahí es donde no está funcionando.
Charles T