Я собираюсь предположить, что столбец A является реальным значением даты, отформатированным, чтобы показать также название дня. Это может быть сделано с пользовательским форматом DDD dd/mm .
В праздничные часы необходимо определить, является ли столбец А воскресным. Это можно сделать с помощью функции WEEKDAY() , которая возвращает 1 для воскресенья.
Вы также должны включить государственные праздники, которые Excel не обслуживает изначально, потому что праздники в каждой стране разные. Вы можете настроить список праздников на другом листе и дать этому списку имя диапазона (скажем, Holidays). Затем ваши расчеты должны определить, встречается ли столбец A в этом диапазоне. Используйте VLOOKUP() . VLOOKUP имеет особую причуду в том, что он будет возвращать #N/A если значение не найдено, поэтому вам нужно проверить наличие ошибки.
Таким образом, день является воскресным, если WEEKDAY(A13)=1 и выходным, если VLOOKUP(A13,Holidays,1,FALSE) не является ошибкой.
Ячейка I13 должна будет содержать условие, которое объединяет эти два теста. Вы можете просто добавить их вместе, если ваш список праздников не содержит воскресенья.
=IF(WEEKDAY(A13)=1,F13,0) + IF(ISERROR(VLOOKUP(A13,Holidays,1,FALSE)),0,F13)
Обратите внимание, что здесь я использовал F13 , общее количество часов, поскольку маловероятно, что работа в выходные дни будет иметь право на сверхурочные и праздничные премии, и я подозреваю, что сверхурочные - это простой расчет TimeOut - TimeIn - Breaks - DailyTimeToWork (который является постоянным набором в другом месте). Поскольку вопрос не определяет точные бизнес-правила, вам почти наверняка понадобится настроить эти предложения.