имеем заполненную таблицу на первом листе"сверхурочка" с часами по дням, далее данные переносятся в таблицу на лист "расчет" необходимо рассчитать сумму: первые два часа дня умножаем на полуторный коэффициент, все последующие – на коэффициент 2
тоесть, в ячейке "СУММА" =сумма первых двух часов одного дня, помноженная*1.5 *на тариф *на коэф (Q*R*2 часа*1.5)+ сумма оставшегося времени в этот же день,умноженная на два на тариф и коэф(Q*R*оставшееся время*2) и потом прибавляем такойже расчет по всем последующим дням
в свое время здесь на форуме, мне помогли с написанием формулы на примере одного работника
Код
=СУММ(ЕСЛИОШИБКА(--ТЕКСТ(МУМНОЖ(ТРАНСП(Таблица18[[1]:[30]]*(Таблица18[Ф. И. О.]=B7)*(Таблица18[р/р]=расчет!D6&"/"&ОТБР(расчет!Q4*100)));Таблица18[год]^0*2)-1;"0;\0;\0");))*Q6*R6
но как ее транслировать на остальные заполненные ячейки я не осознал
помогите пжслт
Добрый вечер, уважаемые форумчане!
имеем заполненную таблицу на первом листе"сверхурочка" с часами по дням, далее данные переносятся в таблицу на лист "расчет" необходимо рассчитать сумму: первые два часа дня умножаем на полуторный коэффициент, все последующие – на коэффициент 2
тоесть, в ячейке "СУММА" =сумма первых двух часов одного дня, помноженная*1.5 *на тариф *на коэф (Q*R*2 часа*1.5)+ сумма оставшегося времени в этот же день,умноженная на два на тариф и коэф(Q*R*оставшееся время*2) и потом прибавляем такойже расчет по всем последующим дням
в свое время здесь на форуме, мне помогли с написанием формулы на примере одного работника
Код
=СУММ(ЕСЛИОШИБКА(--ТЕКСТ(МУМНОЖ(ТРАНСП(Таблица18[[1]:[30]]*(Таблица18[Ф. И. О.]=B7)*(Таблица18[р/р]=расчет!D6&"/"&ОТБР(расчет!Q4*100)));Таблица18[год]^0*2)-1;"0;\0;\0");))*Q6*R6
но как ее транслировать на остальные заполненные ячейки я не осознал
мне надо, например, если заполнены ячейки столбца "G", то необходимо производить расчет в ячейках столбца "Н", и соответственно, если ячейки столбца "K" -то в ячейках столбца "L"; если ячейки столбца "S" -то в ячейках столбца "T"; если ячейки столбца "W" -то в ячейках столбца "X" по следующим условиям: например, G7>0, то ищем на странице "DATA_Tech" строку с "работником6", с разрядом работ "р/р"="3/4" и за каждый день производим расчет перебором каждой ячейки от "Н" до"AL" =сумма(Если(Н15>2;((2*1,5*E7*F7)+((H15-2)*2*E7*F7)));Н15*1,5)+ Если(I15>2;((2*1,5*E7*F7)+((I15-2)*2*E7*F7)));I15*1,5)+ ( и так далее до... Если(AL15>2;((2*1,5*E7*F7)+((AL15-2)*2*E7*F7)));AL15*1,5)) - это я создаю расчет. что первые два часа считаются по тарифу в полуторном размере, а остальные в двойном. и если человек отработал меньше двух часов, то просто будет умножаться на полуторный тариф.
вот и думаю, как создать поиск по условию заполнения определенной ячейки (например,G7) и далее прописать в формулу сумму всех переборов ячеек с первого числа до 31 (то есть от 'H' до 'AL' )
замудренно?
могу как-то еще расписать алгоритм, и разбить задачу
Pelena, добрый вечер, не совсем то,
мне надо, например, если заполнены ячейки столбца "G", то необходимо производить расчет в ячейках столбца "Н", и соответственно, если ячейки столбца "K" -то в ячейках столбца "L"; если ячейки столбца "S" -то в ячейках столбца "T"; если ячейки столбца "W" -то в ячейках столбца "X" по следующим условиям: например, G7>0, то ищем на странице "DATA_Tech" строку с "работником6", с разрядом работ "р/р"="3/4" и за каждый день производим расчет перебором каждой ячейки от "Н" до"AL" =сумма(Если(Н15>2;((2*1,5*E7*F7)+((H15-2)*2*E7*F7)));Н15*1,5)+ Если(I15>2;((2*1,5*E7*F7)+((I15-2)*2*E7*F7)));I15*1,5)+ ( и так далее до... Если(AL15>2;((2*1,5*E7*F7)+((AL15-2)*2*E7*F7)));AL15*1,5)) - это я создаю расчет. что первые два часа считаются по тарифу в полуторном размере, а остальные в двойном. и если человек отработал меньше двух часов, то просто будет умножаться на полуторный тариф.
вот и думаю, как создать поиск по условию заполнения определенной ячейки (например,G7) и далее прописать в формулу сумму всех переборов ячеек с первого числа до 31 (то есть от 'H' до 'AL' )
замудренно?
могу как-то еще расписать алгоритм, и разбить задачу nespica2012
теперь надо подумать, как создать условия для поиска нужной строки
для ячейки "Н7" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 3/4 ( но там могут быть этой группе и разряд работ р/р=4/4, в ячейке "Н8", значит необходимо будет искать строку работника6, с разрядом работ р/р=4/4)
для ячейки "L9" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 4/8
для ячейки "T6" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 3/16 ( но там могут быть этой группе и разряд работ р/р=4/16, в ячейке "T7", да плюс коэффициент (1.1 и 1.5 для ячеек 'T8','T9', )
для ячейки "Х8" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 3/24 с коэффициентом 1.1 ( но там могут быть этой группе и разряд работ р/р=4/24, в ячейке "Х7" с коэффициентом 1, да плюс разряд работ р/р=3/24 с коэффициентом 1 для ячейки 'Х6')
теперь надо подумать, как создать условия для поиска нужной строки
для ячейки "Н7" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 3/4 ( но там могут быть этой группе и разряд работ р/р=4/4, в ячейке "Н8", значит необходимо будет искать строку работника6, с разрядом работ р/р=4/4)
для ячейки "L9" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 4/8
для ячейки "T6" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 3/16 ( но там могут быть этой группе и разряд работ р/р=4/16, в ячейке "T7", да плюс коэффициент (1.1 и 1.5 для ячеек 'T8','T9', )
для ячейки "Х8" ищем строку соответствующую критериям работника6, с разрядом работ р/р= 3/24 с коэффициентом 1.1 ( но там могут быть этой группе и разряд работ р/р=4/24, в ячейке "Х7" с коэффициентом 1, да плюс разряд работ р/р=3/24 с коэффициентом 1 для ячейки 'Х6')nespica2012
Сообщение отредактировал nespica2012 - Понедельник, 14.02.2022, 20:48
после некоторых раздумий, решил разбить алгоритм и упростить задачу, как мне казалось, но зашел в тупик)) решил прописать расчет сразу на листе ввода, а в таблицу уже собираю данные с первого листа.
во вложении файл, формула написана для примера на несколько дней (1-4,15), но если ее дописывать на все дни (с 1 по 31 числа), то она становится очень очень громоздкой. можно ли упростить?
я это я еще в середине пути...потом надо прописать еще условия для некоторой категории работников, да плюс вводить условия если меняется вид работ в течении смены может уже шагать по пути VBA ?
после некоторых раздумий, решил разбить алгоритм и упростить задачу, как мне казалось, но зашел в тупик)) решил прописать расчет сразу на листе ввода, а в таблицу уже собираю данные с первого листа.
во вложении файл, формула написана для примера на несколько дней (1-4,15), но если ее дописывать на все дни (с 1 по 31 числа), то она становится очень очень громоздкой. можно ли упростить?
я это я еще в середине пути...потом надо прописать еще условия для некоторой категории работников, да плюс вводить условия если меняется вид работ в течении смены может уже шагать по пути VBA ?nespica2012
Вариант в файле, только Ваши примеры расчётов расходятся с описанием. Вы пишете, что остаток часов надо умножать на 2, а в примерах расчёта не умножаете. И ещё, если часов не может быть меньше 2, то формула значительно сократится
Вариант в файле, только Ваши примеры расчётов расходятся с описанием. Вы пишете, что остаток часов надо умножать на 2, а в примерах расчёта не умножаете. И ещё, если часов не может быть меньше 2, то формула значительно сократитсяPelena
проконсультируйте, пжлст, почему при любом "движении"(изменении часов, добавлении строк и т.д) на листе с данными - на листе "расчет" пропадают суммы в ячейках?
ПыСы: с умножением на 2, да, мой косяк, конечно надо))
Pelena, спасибо большое за отклик
проконсультируйте, пжлст, почему при любом "движении"(изменении часов, добавлении строк и т.д) на листе с данными - на листе "расчет" пропадают суммы в ячейках?
ПыСы: с умножением на 2, да, мой косяк, конечно надо)) nespica2012