Добрый день! помогите сделать следующее: сотрудник ходит в смену. Но смена проставляется по разному. Когда 2 выходных впереди, проставляется 20 часовая днем и 6 ночью. Когда 1 выходной впереди, то 18 часов днем и 5 ночью. Теперь сам расчет: берутся рабочие календарные дни (выходные по календарю не включаются. В примере исключить дни 4,5,11,12,18,19,25,26,31) период когда сотрудник ходил по 20 часов - это 1,2,3,13,14,15,16,17,27,28,29 = 11 дней. Остальные попадают в период 18 часового дня - это 6,7,8,9,10,20,21,22,23,24,30 = 11. Далее 11*8 (часов. Это константа) / 20 (часы в день) = 4 полные смены (без округления до целого). 4*6 (часов ночные) = 24 (искомое значение). Далее все тоже самое но с 18 часовым днем. 11*8/18=4. 4*5=20. Теперь 24+20=44. Вот эту 44 нужно выставить в табель. Можно привязать вычисление к имеющейся кнопке
пример в файле
P.s. просто у меня 40 человек и каждого я руками просчитываю
Евгений Смирнов, то что нужно! Работает как задумано. Спасибо! Не заходила давно, это правда, но не потому что обиделась. Вам большой поклон что всё таки помогли. А могу еще одну последнюю задачу написать или нужно новую тему создавать?
Евгений Смирнов, я просто с макросами работать не умею. Но если не получиться без них, то можно попробовать разобраться как код применить к моей таблице
Здравствуйте! Как формулой прописать условие, когда требуется очистить содержимое столбца а потом его скрыть, если ячейка пуста. В файле имеется форма табеля, при вводе в ячейку AP2 первой даты необходимого месяца, даты в табеле автоматически проставляются. А в тех месяцах, где нет 31 числа и особенно февраль, ячейки пусты. Требуется зачистить содержимое этих столбцов, чтобы исключить попадание в расчет случайно оставшейся информации в этих столбцах от предыдущего месяца. А потом, после удаления содержимого их скрыть, т.к. в табеле они не нужны. Но когда числа появятся, показать их обратно естественно.
skais675, ну хорошо, если вы настаиваете, я попробую разобраться с ней, пересмотрев Ваше наставление. Как можно обратиться к Вам за частной консультацией, чтобы не засорять этот чат?
skais675, спасибо за предложение, но форму табеля необходимо предусмотреть именно ту, которая в примере. Мы руководствуемся приказом. И по сменникам, у нас все очень непонятно. Нет определенного алгоритма работы. Они могу ходит как сутки через двое несколько смен подряд, так и сутки через трое. Подход индивидуальный. Если каждый раз забивать схему сменника у вас в программе, дольше получиться. Но в целом очень хорошая идея. Может пригодиться кому.
А вот фишка с выбором месяца и года, когда в ячейках автоматом подсвечиваются выходные, заинтересовала. Можно будет не создавать кучу книг по месячно и не вбивать руками.
БMВ, Спасибо! Теперь считает как надо!!!! Тимофеев, Вам тоже большое спасибо! Но у меня еще есть задача посложнее. Если можно будет ее решить, Вы очень меня спасёте Необходимо следующее: сотрудник ходит в смену. Но смена проставляется по разному. Когда 2 выходных впереди, проставляется 20 часовая днем и 6 ночью. Когда 1 выходной впереди, то 18 часов днем и 5 ночью. Теперь сам расчет: берутся рабочие календарные дни (выходные по календарю не включаются. В примере исключить дни 4,5,11,12,18,19,25,26,31) период когда сотрудник ходил по 20 часов - это 1,2,3,13,14,15,16,17,27,28,29 = 11 дней. Остальные попадают в период 18 часового дня - это 6,7,8,9,10,20,21,22,23,24,30 = 11. Далее 11*8 (часов. Это константа) / 20 (часы в день) = 4 полные смены (без округления до целого). 4*6 (часов ночные) = 24 (искомое значение). Далее все тоже самое но с 18 часовым днем. 11*8/18=4. 4*5=20. Теперь 24+20=44. Вот эту 44 нужно выставить в табель.
P.s. просто у меня 40 человек и каждого я руками просчитываю
Почему я не могу эту формулу применить к своим ячейкам? при копировании вашей строчки вместо "ОБЪЕДИТЬ" у меня отображается "_xlfn.TEXTJOIN". И мало того, когда я пытаюсь прописать как у вас, на этом месте функции "ОБЪЕДИНИТЬ" у меня нет. А когда пытаюсь в вашем прикрепленном фале менять значения табельного времени, не просчитывает. Возвращает "#ИМЯ?"
Kuzmich, До такого уровня как Вы мне еще расти. Я не умею прописывать пользовательские функции Если подскажите куда Вписывать Ваш код, буду очень признательна
Wiss, Ваш вариант работает замечательно, только еще в дополнение нужно прибавить 3, которая стоит в ячейке R7 после "/". Это обязательное условие. Т.е. где стоят цифры и буквы, считать только цифры, а где стоят одни цифры в таком формате "7/3", то суммировать нужно обе.
Здравствуйте! Необходимо посчитать в табеле часы. Но в ячейках могут стоять как обычное число, так и совместно с символом "/". Например: " 11/ ддо". Т.е. при сумме чисел необходимо из этой ячейки взять цифру 11 и суммировать с остальными. Но есть еще условие. Если стоит например "6/3" то суммировать нужно как 6 так и 3