Я рекомендую вам сначала поместить ваши данные и критерии в таблицы, которые упростят организацию, ссылки и обновление. Чтобы сделать это быстро, выделите ваш диапазон, а затем Ctrl + T. Это откроет новую вкладку ленты для Table Design, и вы можете дать таблице имя. Я предпочитаю начинать все имена таблиц с t_. В приведенном ниже примере есть три таблицы:
1) t_BusinessHours
2) t_Holidays
3) t_Data_AcknowledgmentTimes
Для достижения желаемых результатов вам понадобится пара вложенных формул. Я разбил их, чтобы вы могли видеть, что делает каждая часть. Затем объедините их для одного столбца результатов. Как вы можете видеть, когда ваши данные находятся в таблицах, вы можете легко ссылаться на нужные вам части, используя имя таблицы и заголовки столбцов вместо букв / номеров строк.
После открытия?
=IF(TIME(HOUR(A2),MINUTE(A2),0)>=MIN(t_BusinessHours[Time]),"After Open","Before Open")
До закрытия?
=IF(TIME(HOUR(A2),MINUTE(A2),0)<MAX(t_BusinessHours[Time]),"Before Close","After Close")
Выходные
=IF(ISNUMBER(WEEKDAY(A2,2))>5,"Weekend","Weekday")
Отдых
=IF(COUNTIF(t_Holidays,EDATE(A2,0))>0,"Holiday","Not Holiday")
Соедините его (пример, не используйте этот - используйте тот, что ниже)
=IF(COUNTIF(t_Holidays,EDATE(A2,0))>0,"Holiday",
IF(ISNUMBER(WEEKDAY(A2,2))>5,"Weekend",
IF(AND(TIME(HOUR(A2),MINUTE(A2),0)<MIN(t_BusinessHours[Time]),
TIME(HOUR(A2),MINUTE(A2),0)>=MAX(t_BusinessHours[Time])),
"After Hours","During Business Hours")))
Результат (A2 в формуле выше заменяется ссылкой на таблицу)
=IF(COUNTIF(t_Holidays,EDATE([@[Start Time]],0))>0,"Holiday",
IF(ISNUMBER(WEEKDAY([@[Start Time]],2))>5,"Weekend",
IF(AND(TIME(HOUR([@[Start Time]]),MINUTE([@[Start Time]]),0)<MIN(t_BusinessHours[Time]),
TIME(HOUR([@[Start Time]]),MINUTE([@[Start Time]]),0)>=MAX(t_BusinessHours[Time])),"After Hours","During Business Hours")))