Fórmula o Función para establecer diferencia entre 2 horas

Estoy tratando de establecer el tiempo transcurrido entre una hora dada y otra, en formato de celda [hh]:mm. Para el ejemplo, la Hora de Salida (H. Salida) está en C12 y la hora de entrada (H. Entrada), está en E12 y en en D2, quiero el resultado, es decir, cuanto tiempo transcurrió entre la hora de salida y la hora de entrada, en horas y minutos.

Para ello, estoy usando esta formula: =SI(Y(C12<>"";E12<>"");E12-C12;"")

Sin embargo, como pueden ver en el ejemplo, si C o E está vacío, me da un resultado y lo que deseo lograr, es que si C o E está vacío, entonces no me haga ningún cálculo, sino que me deje DE vacío.

2 respuestas

Respuesta
1

Replicando tu ejemplo, con los mismo datos y fórmula, he de decir que a mí no me suma cuando no hay hora de salida...

Por probar cosas, inténtalo con la fórmula "al revés", en vez de evaluar si hay valores en las dos celdas, mira si alguna está vacía:

=SI(O(C12="";E12="");"";E12-C12)

Sveinbjorn El Rojo, muchas gracias, ya había probado esta formula, pero hace lo mismo, si en C12 está vacío y en E12 no, me pone el valor de E12 y lo que necesito es que si uno de los dos está vacío, entonces me deje el campo D12="".

De todas formas muchas gracias, sigo necesitando la corrección.

Luis Carlos

Pues no sé qué decirte... Yo hice la prueba con ambas fórmulas en tres ordenadores distintos, con 3 versiones de Office distintas (2007, 2010 y 2013), y en las 3 me funcionan correctamente ambas fórmulas...

de pronto no te había dicho que las horas tanto de entrada como de salida, se obtienen automáticamente de una fórmula.  será que eso tiene algo que ver con el resultado ?

En principio no debería, a no ser que tu fórmula ponga en las celdas "vacías" un valor distinto a "", y por eso te fallen las fórmulas...

Respuesta
1

Si los valores en C y E los tomas por fórmulas, en lugar de vacías esas celdas pueden contener el valor "0" y tienes deshabilitado la opción "Mostrar un cero..."

Utiliza una fórmula validando que no esté ni vacía ni contenga 0: =SI(Y(C12<>"";C12<>0;E12<>"";E12<>0);E12-C12;"")

Suerte

Muchas gracias Gustavo Villalba, pero no me funciona aún.

Publica las fórmulas que tienes en C y E para ver qué otro valor te puede estar tomando

En C: =Si.Error(BuscarV($D$5&$E$8;Lunes!$E$2:G93;2;Falso);"-")

En D: =Si.Error(BuscarV($D$5&$E$8;Lunes!E2:G93;3;Falso);"-")

La única que se me ocurre es que te esté devolviendo error, entonces la fórmula en D sería =SI(Y(C12<>"";C12<>0;C12<>"-";E12<>"";E12<>0;E12<>"-");E12-C12;"") y si no otra alternativa sería verificar que sea un valor mayor que 0, algo así: =SI(Y(ESNUMERO(C12);C12>0;ESNUMERO(E12);E12>0);E12-C12;"")

¡Gracias! 

Te cuento que implementé las dos opciones y ninguna me da resultados. Todo me lo pone vacío.

SI gustas, te puedo enviar el fichero a tu correo.

Envíalo a [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas