Problema con fórmula =SI() anidada

En varias celdas de una hoja de cálculo, he utilizado fórmulas del tipo "=SI(***;**;**)" sin ningún problema, incluso anidando varias de ellas. Pero me encuentro con un caso que no me arroja los resultados correctos: Tengo dos celdas C90 y C91 con formato [h]:mm ya que cada una de ellas son el resultado de sumar datos de las celdas que se encuentran por encima en la columna C. En concreto C90 suma las horas del rango C1:C80 que corresponden a las celdas en las que la celda B de la misma fila toma el valor "en contra" y la C91 aquellas en las que la celda B de la misma fila toma el valor "a favor". Hasta aquí bien, en cada una aparece el número de horas (con el formato mencionado) correcto. Ahora bien, en la celda C93 he colocado la siguiente fórmula:

= SI(C90>C91;"en contra";SI(C90=C91; "igual";"a favor"))

Pero no funciona, aunque el número de horas de C90 sea igual al de C91, me aparece "a favor". Si funciona cuando es mayor o cuando es menor, pero no cuando es igual. ¿A qué puede deberse?

Respuesta
1

Como dice Iván, asegúrate que el formato de todas las celdas sea el mismo, porque la fórmula en sí es correcta y funciona.

¡Gracias! al final, lo he conseguido con la respuesta que me ha dado Ivan, y ahora funciona perfectamente. Muchísimas gracias por tu interés.

1 respuesta más de otro experto

Respuesta
1

Uf, esa es buena.
A mi alguna vez me ha pasado con números y el problema suele ser por decimales, a lo mejor la celda te muestra el valor 4 pero en una tienes 3,9999999 y en la otra 4,00000001, esto se soluciona cambiando la parte "C90=C91" por algo tipo "Redondear(abs(c90-c91);0)=0" y poniéndolo en la primera condición.. esto para números claro, en tu caso es más complejo al ser formato HHMM. Creo que internamente excel maneja el valor de tiempo como si fuera una fecha así que el valor 1 corresponde a 24 horas, 0,5 sería 12 horas.
Para tu caso supongo que necesitas precisión de minutos. Creo que si multiplicas la diferencia por 1440 (minutos en 24 horas) debería funcionar.
Quedaría algo así "Redondear(abs(c90-c91)*1440;0)=0"

¡Gracias! Una vez más has dado en el clavo, amigo. Funciona perfectamente con las indicaciones que me has dado. Muchísimas gracias.

Gracias a ti, un placer ayudar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas