У меня есть формула, которая показывает часы и минуты того, сколько времени потребовалось, чтобы уведомить клиента. Мне нужно создать другую ячейку, чтобы сказать YES если это уведомление 4 часа или дольше.

У меня в настоящее время есть формула как это:

=IF(OR(AND(MOD(P2,1)>=TIME(4,0,0))),"YES","NO")

Где P2 - часы / минуты того, сколько времени потребовалось, чтобы уведомить клиента.

Эта формула работает так, как я хочу, за исключением того, что она равна 4 часам, она возвращает NO вместо YES .

Любая помощь приветствуется!

1 ответ1

0

Если вы что-то не говорите нам, я не вижу смысла в ИЛИ, И или МОД в вашей формуле. На самом деле, я не могу думать ни о каких условиях, при которых ИЛИ или И имеют какую-либо цель в этой конкретной формуле - они являются мультиусловиями, предназначенными для оценки более чем одного критерия и возврата ИСТИНА / ЛОЖЬ, если таковые имеются (для ИЛИ) или все (И Условия являются ИСТИННЫМИ. Однако у вас есть только одно условное выражение, поэтому OR и AND всегда будут оцениваться так же, как и само условное выражение. Цель MOD здесь все еще немного сбивает с толку. Скорее всего, в этих битах и / или в ваших исходных данных есть что-то, что портит ваши результаты.

Я предпочитаю, чтобы Excel давал мне простое логическое значение ИСТИНА / ЛОЖЬ вместо "Да" / "Нет", поскольку это немного облегчает использование значения ячейки в других формулах. Например, если у B1 есть логическое значение, я могу просто использовать =IF(B1,"RUNNING SLOW!","Timely response!") вместо =IF(B1="Yes","RUNNING SLOW!","Timely response!") Также проще написать начальную формулу - рассмотрим =A1=B1 против =IF(A1=B1,"Yes","No") .

Если ваше время отформатировано как фактическое, это должно работать нормально, чтобы вернуть логическое значение ИСТИНА / ЛОЖЬ (предположим, что время указано в А1):

=A1>=TIME(4,0,0)

Если вы действительно хотите получить ответ "Да"/"Нет", добавьте его в IF:

=IF(A1>=TIME(4,0,0),"Yes","No")


РЕДАКТИРОВАТЬ: После дальнейшего рассмотрения, я думаю, что я, возможно, догадался об участии MOD (ИЛИ и И серьезно все еще нет места там).

Если вы используете MOD для удаления даты из значения даты / времени, это может быть причиной вашей проблемы. Я не совсем уверен в том, как, но я ожидаю, что это может иметь какое-то отношение к високосным годам / минутам / секундам, поскольку Excel хранит даты и время на основе времени, прошедшего с 01.01.1900 (иш). Там, вероятно, также есть некоторые ошибки округления где-то по пути.

Помимо предположений, вот правильный способ вырезать часть даты для вашей формулы:

=TIME(HOUR(A1),MINUTE(A1),SECOND(A1))>=TIME(4,0,0)

И, если вы все еще влюблены в "Да"/"Нет":

=IF(TIME(HOUR(A1),MINUTE(A1),SECOND(A1))>=TIME(4,0,0),"Yes","No")

В этом отношении мы могли бы даже упростить дальнейшее:

=HOUR(A1)>=4

Или же...

=IF(HOUR(A1)>=4,"Yes","No")

Обратите внимание, что возможные значения для ЧАСА ограничены в 23. Но если вы все равно используете фактический формат даты / времени для своих исходных данных (и ваша формула довольно хорошо подразумевает, что вы это делаете), это не будет проблемой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .