Excel IF И формула между двумя - PullRequest
0 голосов
/ 05 июля 2018

Я хотел бы иметь формулу, которая скажет мне, находится ли время в ячейке между 2 отдельными значениями в других ячейках, и вернуть значение, если так.

Я уже создал приведенный ниже код, но он вообще не возвращает никаких значений.

=IF(AND(F4>=$R$1,F4<P1),"Night Shift",IF(AND(F4>=$P$1,F4<$Q$1),"AM Shift",IF(AND(F4>=$Q$1,F4<$R$1),"PM Shift","")))

В этом примере значения ячеек (P1 = 06:00, Q1 = 14:00, R1 = 22:00). Значение в F4 составляет 00: 31: 38.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Я пошел немного другим путем, чем Скоттс.

  • A Ночная смена происходит, если время больше или равно 10:00, ИЛИ меньше 6 часов утра. =OR($F$4<$P$1,$F$4>=$R$1)
  • Сдвиг AM происходит, когда время больше или равно 6:00, И меньше, чем 2 часа дня.
    =AND($F$4>=$P$1,$F$4<$Q$1)
  • A PM Сдвиг происходит, когда время больше или равно 2PM, AND меньше 22:00. =AND($F$4>=$Q$1,$F$4<$R$1)

Соедините три условия вместе, и вы получите:

=IF(OR($F$4<$P$1,$F$4>=$R$1),"Night Shift",IF(AND($F$4>=$P$1,$F$4<$Q$1),"AM Shift",IF(AND($F$4>=$Q$1,$F$4<$R$1),"PM Shift","")))

Редактировать
Во время тестирования я ввел 00: 00: 00 в A1 и =A1+TIMEVALUE("00:01:00") в A2:A1440.
В 06: 00: 00 , 14: 00: 00 и 22: 00: 00 переключение смены произошло через минуту.
Однако, если я вручную набрал 06: 00: 00 , переключение произошло в час. Похоже, это связано с тем, что TIMEVALUE вычисляет 6 утра как 0.2499999 , а не 0.25 .

0 голосов
/ 05 июля 2018

Ваш первый AND нужно немного отрегулировать.

Excel видит ВРЕМЯ как долю от 1 целого дня. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *. <1005 * ", то, что вы понимаете на следующий день, как" 1004 ", Excel не знает и поэтому не увидит его больше <code>22:00

Нам также не нужно проверять на ночную смену. Это единственный оставшийся вариант, если время не указано ни в одном из других:

=IF(F4<>"",IF(AND(F4>=$P$1,F4<$Q$1),"AM Shift",IF(AND(F4>=$Q$1,F4<$R$1),"PM Shift","Night Shift")),"")

enter image description here


Вы также можете создать небольшую таблицу, такую ​​как:

0            6:00       14:00       22:00
Night Shift AM Shift    PM Shift    Night Shift

Затем используйте HLOOKUP для возврата правильного значения:

=HLOOKUP(F4,O1:R2,2,TRUE)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...