Как подсчитать в Excel 2003 сумму в форматированных и УФ ячейках формат ячеек столбца AT: дней (часов), в две строчки: верхняя дней (ячейки с данными), нижняя часов (их сумма)
Как подсчитать в Excel 2003 сумму в форматированных и УФ ячейках формат ячеек столбца AT: дней (часов), в две строчки: верхняя дней (ячейки с данными), нижняя часов (их сумма)Gold_Barsik
В файле две функции пользователя для подсчета часов. Первая в выходные, вторая в праздники. [vba]
Код
Function Holiday_Day(iRow As Long) As Long For Each iCell In Range("E" & iRow & ":AI" & iRow) If iCell.Interior.ColorIndex <> -4142 And IsNumeric(iCell) Then iSum = iSum + iCell Next Holiday_Day = iSum End Function Function Day_Off(iRow As Long) As Long For Each iCell In Range("E8:AI8") If Weekday(iCell, 2) > 5 And IsNumeric(Cells(iRow, iCell.Column)) Then iSum = iSum + Cells(iRow, iCell.Column) Next Day_Off = iSum End Function
[/vba] см.файл.
В файле две функции пользователя для подсчета часов. Первая в выходные, вторая в праздники. [vba]
Код
Function Holiday_Day(iRow As Long) As Long For Each iCell In Range("E" & iRow & ":AI" & iRow) If iCell.Interior.ColorIndex <> -4142 And IsNumeric(iCell) Then iSum = iSum + iCell Next Holiday_Day = iSum End Function Function Day_Off(iRow As Long) As Long For Each iCell In Range("E8:AI8") If Weekday(iCell, 2) > 5 And IsNumeric(Cells(iRow, iCell.Column)) Then iSum = iSum + Cells(iRow, iCell.Column) Next Day_Off = iSum End Function
Я конечно же не силён в Excel, но за сегодня "родил" этот файл, правда не полностью. теперь не могу раздвинуть числа и сделать их двух ярусными. А также что бы не писал в табель ЛОЖЬ. И не считал пустые форматированные ячейки.
Я конечно же не силён в Excel, но за сегодня "родил" этот файл, правда не полностью. теперь не могу раздвинуть числа и сделать их двух ярусными. А также что бы не писал в табель ЛОЖЬ. И не считал пустые форматированные ячейки.Gold_Barsik
С 1-го по 9-й, у работников суммарный учёт рабочего времени, поэтому выходные им не выходные. а вот 10-й работник работает по 5-ти дневке с выходными как белый человек (покрайней мере он так думает) :-))))
С 1-го по 9-й, у работников суммарный учёт рабочего времени, поэтому выходные им не выходные. а вот 10-й работник работает по 5-ти дневке с выходными как белый человек (покрайней мере он так думает) :-))))Gold_Barsik
Конечно я посмотрел, но зачем разделять выходные и праздничные дни, ведь оплата все равно одинаковая. Может можно их объединить для десятого и других работников, а для первых 9-ти оставить только праздничную версию?
При изменении месяца, праздничные числа остались без изменений (как будто 8 апреля праздник).
Конечно я посмотрел, но зачем разделять выходные и праздничные дни, ведь оплата все равно одинаковая. Может можно их объединить для десятого и других работников, а для первых 9-ти оставить только праздничную версию?
При изменении месяца, праздничные числа остались без изменений (как будто 8 апреля праздник).Gold_Barsik
Сообщение отредактировал Gold_Barsik - Воскресенье, 10.03.2013, 20:49
Function Day_Off2(iRow As Long) As Long For Each iCell In Range("E8:AI8") If (Weekday(iCell, 2) > 5 Or Cells(iRow, iCell.Column).Interior.ColorIndex <> -4142) And IsNumeric(Cells(iRow, iCell.Column)) Then iSum = iSum + Cells(iRow, iCell.Column) Next Day_Off2 = iSum End Function
[/vba] В ячейке пишите
Код
=Day_Off2(СТРОКА())+СЕГОДНЯ()*0
Что вы пишите в верхнем ярусе и что в нижнем? То что вы показали в файле 4.xls, в скобках количество часов в выходной 8 марта
Можно не разделять [vba]
Код
Function Day_Off2(iRow As Long) As Long For Each iCell In Range("E8:AI8") If (Weekday(iCell, 2) > 5 Or Cells(iRow, iCell.Column).Interior.ColorIndex <> -4142) And IsNumeric(Cells(iRow, iCell.Column)) Then iSum = iSum + Cells(iRow, iCell.Column) Next Day_Off2 = iSum End Function
[/vba] В ячейке пишите
Код
=Day_Off2(СТРОКА())+СЕГОДНЯ()*0
Что вы пишите в верхнем ярусе и что в нижнем? То что вы показали в файле 4.xls, в скобках количество часов в выходной 8 мартаAlexM
В верхнем дней, в нижнем в скобках часы. А 8 марта не смог покрасить УФом. :-( Day_Off2 нужно добавить, заменить частично или полностью? А в файле 4.xls, в скобках количество часов в праздничный день 8 марта
В верхнем дней, в нижнем в скобках часы. А 8 марта не смог покрасить УФом. :-( Day_Off2 нужно добавить, заменить частично или полностью? А в файле 4.xls, в скобках количество часов в праздничный день 8 мартаGold_Barsik
Прошу меня извинить если не смог пояснить, результат должен быть как BС В столбце АТ учитываю количество отработанных дней в праздники и в выходные. получается это 8 марта.
Первые девять работников календарных выходных не имеют, поэтому у них подсчёт производится только за праздничный день (8 марта). У десятого работника привлечение к работе только 17 марта, то бишь один день, а не 11 и отработано им 7 часов. Часы я смог подкорректировать, а как считать только 1 день привлечения (вместо 11-ти)?
Прошу меня извинить если не смог пояснить, результат должен быть как BС В столбце АТ учитываю количество отработанных дней в праздники и в выходные. получается это 8 марта.
Первые девять работников календарных выходных не имеют, поэтому у них подсчёт производится только за праздничный день (8 марта). У десятого работника привлечение к работе только 17 марта, то бишь один день, а не 11 и отработано им 7 часов. Часы я смог подкорректировать, а как считать только 1 день привлечения (вместо 11-ти)?Gold_Barsik
Цель № один правильный вариант. При удалении формата (заливки) 8 марта, ячейки очищаются (красиво). Но при вводе 10-му работнику часов в выходные дни, в столбцах АТ и ВС ни дни ни время не увеличиваются, хотя в дальних столбцах BD-BJ изменения происходят, а в BC не происходят.
Огромное спасибо за терпение!
Цель № один правильный вариант. При удалении формата (заливки) 8 марта, ячейки очищаются (красиво). Но при вводе 10-му работнику часов в выходные дни, в столбцах АТ и ВС ни дни ни время не увеличиваются, хотя в дальних столбцах BD-BJ изменения происходят, а в BC не происходят.Gold_Barsik
Сообщение отредактировал Gold_Barsik - Воскресенье, 10.03.2013, 23:32
При удалении формата (заливки) 8 марта, ячейки очищаются (красиво)
Не совсем автоматически, ну да ладно. В столбце АТ ваша формула с функцией пользователя и почему не считает не разбирался. В столбце BC и BD значение меняется синхронно с изменением значений в праздничный день, выходные и праздничный дни соответственно. Почему не работает у вас не понимаю.
Цитата (Gold_Barsik)
При удалении формата (заливки) 8 марта, ячейки очищаются (красиво)
Не совсем автоматически, ну да ладно. В столбце АТ ваша формула с функцией пользователя и почему не считает не разбирался. В столбце BC и BD значение меняется синхронно с изменением значений в праздничный день, выходные и праздничный дни соответственно. Почему не работает у вас не понимаю.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Посмотрите еще вариант решения. Из файла убраны все макросы и функции пользователя. Счет определяется формулами УФ Автоматически окрашиваются праздники, которые внесены в список в диапазоне BK1:BW1 Использованы именованные формулы, которые можно посмотреть в диспетчере имен.
Посмотрите еще вариант решения. Из файла убраны все макросы и функции пользователя. Счет определяется формулами УФ Автоматически окрашиваются праздники, которые внесены в список в диапазоне BK1:BW1 Использованы именованные формулы, которые можно посмотреть в диспетчере имен.AlexM