нужно посчитать сколько смен в месяц каждый человек работает один например в воскресенье 5го числа сидоров работает один в первую смену(во вторую смену работают двое петров и бухлов) следующий раз он работает один во вторую смену 11го числа затем 18го в первую 24го во вторую и 31го в первую итого 5дней сидоров работал в одного вот эти 5ть дней и должны искаться автоматически EXCEL 2010
grt22, в какой столбец вам нужно вывести результат ? В вашем графике нет колонки кол-во смен по каждому сотруднику при условии что он работал один в смену я посчитал то что у вас было выделено красным.
grt22, сделал вам образец вложенной функции по 3 диапазонам , считаем по Сидорову, просматриваем 5, 6, 18 числа в итоге получаем, что за 3 рабочих дня Сидоров работал в первую смену 2 рабочих дня. Остальные диапазоны думаю сможете дописать сами, уж очень много там вложений получается.
это не то Мотя, вы посчитали сколько каждый отработал в первую и вторую смену а мне нужно чтобы посчиталось сколько каждый отработал смену в одного(без напарника) перечитай пример с "сидоровым", т.е. в строке с сидоровым должна появится цифра 5 там же под таблицей всё написано чего я хочу добиться
Это, не так уж - плохо! Просто, если формула останется после Вас - для простого Юзера... Он ее никогда - не поймет... И Вас будет вспоминать - "не добрым" словом!
Может кому-то пригодиться. Постарался объяснить, то что накалякал:
1)COUNT($D7:$AH7) - формула, которая высчитывает кол-во рабочих дней у заданного рабочего 2)SUMPRODUCT(($D$7:$AH$17<>"")*($D$7:$AH$17=$D7:$AH7)*1) - формула массива, в которой я могу указывать определенные условия по которым будет считаться, то что мне нужно. А что мне нужно: 2(а)($D$7:$AH$17<>"") - условие первое, мне нужны не пустые значения (то есть рабочие дни) 2(б)($D$7:$AH$17=$D7:$AH7)- условие второе, просмотри каждый заданный день из диапазона ($D7:$AH7), и сравни со всеми работниками ($D$7:$AH$17), есть ли совпадение в графике (если есть, тогда формула мне выдает истину) 2(г) умножаем на *1, чтобы вместо Ложь или Истина, формула мне выдала значение (истина=1, ложь=0) 3)-COUNT($D7:$AH7) - Так как во втором условии диапазон ($D$7:$AH$17) включает в себя и человека, по которому мы сравниваем совпадающие дни, то мы его исключаем, то есть вычитаем.
Итак на выходе формула SUMPRODUCT(($D$7:$AH$17<>"")*($D$7:$AH$17=$D7:$AH7)*1)-COUNT($D7:$AH7) мне выдает все совпадающие дни одного работника с его коллегами, но так как мне нужны только уникальные дни, я отнимаю сумму всех рабочих дней у работника от совпадающих дней: = COUNT($D7:$AH7) - SUMPRODUCT(...) .
Tefra написал: 2(г) умножаем на *1, чтобы вместо Ложь или Истина, формула мне выдала значение (истина=1, ложь=0)
- а зачем ? Уже есть перемножение результатов двух условий. Раскрываем скобки получим =2*COUNT(D11:AH11)-SUMPRODUCT((D$7:AH$17<>"")*(D$7:AH$17=D11:AH11))
Как альтернатива, но и не короче, да и MMULT не самая легкая. =SUM(--(MMULT(TRANSPOSE((D7:AH7<>"")*(D$7:AH$17=D7:AH7));ROW(B7:B17)^0)=1))
спасибо большое все способы работают, но как только в таблице появляется число со звёздочкой то формула перестаёт нормально просчитывать. можно ли как то сделать чтобы формула не делала различий между например 1 и 1*. вот к примеру в прикреплённой таблице формула в ячейках помеченных зелёным должна насчитать по 5 Сидорову и 4 Задову, но как только приписываешь к 1 или 2 звёздочку формула перестаёт нормально работать. имеется ввиду вот эта формула =СЧЁТЗ($D17:$AH17)-(СУММПРОИЗВ(($D$17:$AH$27<>"")*($D$17:$AH$27=$D17:$AH17)*1)-СЧЁТЗ($D17:$AH17))