A menos que haja algo que você não esteja nos dizendo, não vejo utilidade para OR, AND ou MOD em sua fórmula. Na verdade, posso pensar em não condições sob as quais OR ou AND tenham qualquer propósito nessa fórmula específica - elas são multi-condicionais destinadas a avaliar mais de um critério e retornar um VERDADEIRO / FALSO se houver ( para OR) ou todas as condições (AND) são VERDADEIRAS. No entanto, você só tem um condicional para que OR e AND sempre avaliem o mesmo que o próprio condicional. O propósito do MOD aqui ainda é um pouco confuso. As chances são de que há algo nesses bits e / ou nos dados de origem que estão corrompendo seus resultados.
Eu mesmo, prefiro que o Excel me dê um TRUE / FALSE booleano simples em vez de "Sim" / "Não", pois torna o uso do valor da célula em outras fórmulas um pouco mais fácil. Por exemplo, se B1 tiver um booleano, posso usar apenas =IF(B1,"RUNNING SLOW!","Timely response!")
em vez de =IF(B1="Yes","RUNNING SLOW!","Timely response!")
. Também é mais simples escrever a fórmula inicial também - considere =A1=B1
vs. =IF(A1=B1,"Yes","No")
.
Contanto que seus tempos sejam formatados como tempos reais, isso deve funcionar muito bem para retornar um TRUE / FALSE booleano (suponha que o tempo esteja em A1):
=A1>=TIME(4,0,0)
Sevocêrealmentequiseraresposta"Sim" / "Não", envie-a para um IF:
=IF(A1>=TIME(4,0,0),"Yes","No")
EDITAR:Apósumaanálisemaisaprofundada,achoquepossoteradivinhadooenvolvimentodoMOD(OUeEseriamenteaindanãotemnenhumlugarlá).
SevocêestiverusandooMODpararetiraradatadeumvalordedata/hora,issopodeestarcausandooseuproblema.Nãoseiexatamentecomo,masesperoqueissotenhaalgoavercomanos/minutos/segundosbissextos,jáqueoExcelarmazenadatas&vezescombasenotempodecorridodesde1/1/1900(ish).Provavelmente,tambémháalgunserrosdearredondamentoenvolvidosemalgumlugaraolongodocaminho.
Especulaçãoàparte,aquiestáamaneiracorretaderetirarapartedadatadasuafórmula:
=TIME(HOUR(A1),MINUTE(A1),SECOND(A1))>=TIME(4,0,0)
E,sevocêaindaestiverapaixonadopor"Sim" / "Não":
=IF(TIME(HOUR(A1),MINUTE(A1),SECOND(A1))>=TIME(4,0,0),"Yes","No")
Para essa questão, podemos simplificar ainda mais:
=HOUR(A1)>=4
Ou ...
=IF(HOUR(A1)>=4,"Yes","No")
Observe que os valores possíveis para HOUR são 23. Mas, se você estiver usando um formato de data / hora real para seus dados de origem de qualquer maneira (e sua fórmula sugere muito bem que você é) isso não será questão.