Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Создание таблицы участников по значению есть ли рабочие часы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Создание таблицы участников по значению есть ли рабочие часы
sneg1987 Дата: Суббота, 11.01.2025, 03:15 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Доброй ночи всем. Ребята подскажите как быть пожалуйста. Имею табель учёта рабочего времени на 100 человек. Стандартно ФИО должность и месяц. А в столбцах даты, на пересечении даты и строки с месяцем имеем количество часов рабочего времени. Раньше я сортировал вручную все и работал с теми у кого на определенную дату стояли рабочие часы. Допустим 5 января у всех кто работал и есть цифра 8,9,10,11, 12 часов создавал таблицу и с ними можно создавать список тех кто участвовал в тренировке по тушению пожара.
Как можно сделать этот список автоматом? В файле фамилии толькько две
К сообщению приложен файл: chislo_mesjaca_wps_office.xlsx (317.4 Kb)


Сообщение отредактировал sneg1987 - Суббота, 11.01.2025, 06:43
 
Ответить
СообщениеДоброй ночи всем. Ребята подскажите как быть пожалуйста. Имею табель учёта рабочего времени на 100 человек. Стандартно ФИО должность и месяц. А в столбцах даты, на пересечении даты и строки с месяцем имеем количество часов рабочего времени. Раньше я сортировал вручную все и работал с теми у кого на определенную дату стояли рабочие часы. Допустим 5 января у всех кто работал и есть цифра 8,9,10,11, 12 часов создавал таблицу и с ними можно создавать список тех кто участвовал в тренировке по тушению пожара.
Как можно сделать этот список автоматом? В файле фамилии толькько две

Автор - sneg1987
Дата добавления - 11.01.2025 в 03:15
bigor Дата: Суббота, 11.01.2025, 22:25 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1299
Репутация: 249 ±
Замечаний: 0% ±

нет
sneg1987, если фамилии заполнить во всех строках, то можно так:
Код
=IFERROR(INDEX($B$3:$B$26;AGGREGATE(15;6;ROW($A$1:$A$24)/(ISNUMBER($D$3:$AH$26)/($C$3:$C$26=$C$30)/($D$2:$AH$2=$E$30));ROW(A1)));"")
К сообщению приложен файл: chislo_mesjaca_wps_office_1.xlsx (17.1 Kb)
 
Ответить
Сообщениеsneg1987, если фамилии заполнить во всех строках, то можно так:
Код
=IFERROR(INDEX($B$3:$B$26;AGGREGATE(15;6;ROW($A$1:$A$24)/(ISNUMBER($D$3:$AH$26)/($C$3:$C$26=$C$30)/($D$2:$AH$2=$E$30));ROW(A1)));"")

Автор - bigor
Дата добавления - 11.01.2025 в 22:25
bmv98rus Дата: Воскресенье, 12.01.2025, 10:46 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4129
Репутация: 770 ±
Замечаний: 0% ±

Excel 2013/2016
А есл оставить как есть то
Код
=IFERROR(INDEX(B:B;AGGREGATE(15;6;LOOKUP(ROW($3:$26)*ISNUMBER(INDEX($D$3:$AH$26;;$E$30))*($C$3:$C$26=$C$30);ROW(C$3:C$26)/($B$3:$B$26<>""));ROWS($32:32)));"")
К сообщению приложен файл: example3041.xlsx (18.7 Kb)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеА есл оставить как есть то
Код
=IFERROR(INDEX(B:B;AGGREGATE(15;6;LOOKUP(ROW($3:$26)*ISNUMBER(INDEX($D$3:$AH$26;;$E$30))*($C$3:$C$26=$C$30);ROW(C$3:C$26)/($B$3:$B$26<>""));ROWS($32:32)));"")

Автор - bmv98rus
Дата добавления - 12.01.2025 в 10:46
_Boroda_ Дата: Понедельник, 13.01.2025, 12:57 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16754
Репутация: 6542 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Еще вариант для как есть. Немассивный
Код
=ЕСЛИОШИБКА(ИНДЕКС(B:B;АГРЕГАТ(15;6;СТРОКА($3:$26)/(D$2:AH$2=E$30)/(C$3:C$26=C$30)*1^D$3:AH$26;СТРОКА(A1))-МЕСЯЦ(1&C$30)+1);"")
К сообщению приложен файл: example3041_1.xlsx (17.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант для как есть. Немассивный
Код
=ЕСЛИОШИБКА(ИНДЕКС(B:B;АГРЕГАТ(15;6;СТРОКА($3:$26)/(D$2:AH$2=E$30)/(C$3:C$26=C$30)*1^D$3:AH$26;СТРОКА(A1))-МЕСЯЦ(1&C$30)+1);"")

Автор - _Boroda_
Дата добавления - 13.01.2025 в 12:57
bmv98rus Дата: Понедельник, 13.01.2025, 22:24 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4129
Репутация: 770 ±
Замечаний: 0% ±

Excel 2013/2016
*1^D$3:AH$26
хитро, но как следствие медленнее .


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
*1^D$3:AH$26
хитро, но как следствие медленнее .

Автор - bmv98rus
Дата добавления - 13.01.2025 в 22:24
sneg1987 Дата: Вторник, 14.01.2025, 02:36 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

bmv98rus, спасибо кэп :) очень помог. Да и всем спасибо кто ответил, низкий поклон !
Единственное не совсем понял как разделить работников если человек работает ночью. Сейчас считает только тех кто работает в день,игнорируя ночных работников. У ночных ставят цифру с индексом "н",например 12н
В идеале разделить работников на 2 столбца, в 1 только дневники, во 2 все кто в ночь.
 
Ответить
Сообщениеbmv98rus, спасибо кэп :) очень помог. Да и всем спасибо кто ответил, низкий поклон !
Единственное не совсем понял как разделить работников если человек работает ночью. Сейчас считает только тех кто работает в день,игнорируя ночных работников. У ночных ставят цифру с индексом "н",например 12н
В идеале разделить работников на 2 столбца, в 1 только дневники, во 2 все кто в ночь.

Автор - sneg1987
Дата добавления - 14.01.2025 в 02:36
bigor Дата: Вторник, 14.01.2025, 08:45 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1299
Репутация: 249 ±
Замечаний: 0% ±

нет
sneg1987, для дневных вышеприведенные формулы, для ночных на базе формулы bmv98rus,
Код
=IFERROR(INDEX(B:B;AGGREGATE(15;6;LOOKUP(ROW($3:$26)*(RIGHT(INDEX($D$3:$AH$26;;$E$30);1)="н")*($C$3:$C$26=$C$30);ROW(C$3:C$26)/($B$3:$B$26<>""));ROWS($32:32)));"")
 
Ответить
Сообщениеsneg1987, для дневных вышеприведенные формулы, для ночных на базе формулы bmv98rus,
Код
=IFERROR(INDEX(B:B;AGGREGATE(15;6;LOOKUP(ROW($3:$26)*(RIGHT(INDEX($D$3:$AH$26;;$E$30);1)="н")*($C$3:$C$26=$C$30);ROW(C$3:C$26)/($B$3:$B$26<>""));ROWS($32:32)));"")

Автор - bigor
Дата добавления - 14.01.2025 в 08:45
_Boroda_ Дата: Вторник, 14.01.2025, 12:19 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16754
Репутация: 6542 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Код
=ЕСЛИОШИБКА(ИНДЕКС(B:B;АГРЕГАТ(15;6;СТРОКА($3:$26)/(D$2:AH$2=E$30)/(C$3:C$26=C$30)*1^ПОИСК("*н";D$3:AH$26);СТРОКА(A1))-МЕСЯЦ(1&C$30)+1);"")
К сообщению приложен файл: example3041_2.xlsx (19.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Код
=ЕСЛИОШИБКА(ИНДЕКС(B:B;АГРЕГАТ(15;6;СТРОКА($3:$26)/(D$2:AH$2=E$30)/(C$3:C$26=C$30)*1^ПОИСК("*н";D$3:AH$26);СТРОКА(A1))-МЕСЯЦ(1&C$30)+1);"")

Автор - _Boroda_
Дата добавления - 14.01.2025 в 12:19
sneg1987 Дата: Вторник, 14.01.2025, 23:10 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

bigor, _Boroda_, спасибо работает hands , только вот какой нюанс. Люди которые имеют число рабочих часов 4н,11н и 12н то они участвуют в тренировке.
То есть 4н только начали ходить в ночные смены и у них 1 января например рабочее время с 20.00 до 24.00, а дальше идут другие сутки т.е 2 января. Вот им и закрыли 4н за 1 января.
То же самое с 11н и 12н. Они 1.01 отработали 7н, (типа обед у некоторых ночью :D ), 8н (работяги не обедают :D (с 00.00 до 8 утра). И вечером пришли, поучаствовали в тренировке и получили ещё 4н. В итоге 11н или 12н за 1января.
А вот люди с 7н и 8н они 1 января в тренировке принимать участие не будут. Они отработали с 00.00 до 8 утра и ушли отсыпаться. А тренировка то вечером 01.01.
Вот как бы их убрать из формулы? :'(


Сообщение отредактировал sneg1987 - Среда, 15.01.2025, 00:32
 
Ответить
Сообщениеbigor, _Boroda_, спасибо работает hands , только вот какой нюанс. Люди которые имеют число рабочих часов 4н,11н и 12н то они участвуют в тренировке.
То есть 4н только начали ходить в ночные смены и у них 1 января например рабочее время с 20.00 до 24.00, а дальше идут другие сутки т.е 2 января. Вот им и закрыли 4н за 1 января.
То же самое с 11н и 12н. Они 1.01 отработали 7н, (типа обед у некоторых ночью :D ), 8н (работяги не обедают :D (с 00.00 до 8 утра). И вечером пришли, поучаствовали в тренировке и получили ещё 4н. В итоге 11н или 12н за 1января.
А вот люди с 7н и 8н они 1 января в тренировке принимать участие не будут. Они отработали с 00.00 до 8 утра и ушли отсыпаться. А тренировка то вечером 01.01.
Вот как бы их убрать из формулы? :'(

Автор - sneg1987
Дата добавления - 14.01.2025 в 23:10
bigor Дата: Среда, 15.01.2025, 08:44 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 1299
Репутация: 249 ±
Замечаний: 0% ±

нет
sneg1987, если исключить только 7н и 8н, то в лоб можно так
Код
=IFERROR(INDEX(B:B;AGGREGATE(15;6;LOOKUP(ROW($3:$26)*(RIGHT(INDEX($D$3:$AH$26;;$E$30);1)="н")*((RIGHT(INDEX($D$3:$AH$26;;$E$30);2))<>"7н")*((RIGHT(INDEX($D$3:$AH$26;;$E$30);2))<>"8н")*($C$3:$C$26=$C$30);ROW(C$3:C$26)/($B$3:$B$26<>""));ROWS($32:32)));"")
 
Ответить
Сообщениеsneg1987, если исключить только 7н и 8н, то в лоб можно так
Код
=IFERROR(INDEX(B:B;AGGREGATE(15;6;LOOKUP(ROW($3:$26)*(RIGHT(INDEX($D$3:$AH$26;;$E$30);1)="н")*((RIGHT(INDEX($D$3:$AH$26;;$E$30);2))<>"7н")*((RIGHT(INDEX($D$3:$AH$26;;$E$30);2))<>"8н")*($C$3:$C$26=$C$30);ROW(C$3:C$26)/($B$3:$B$26<>""));ROWS($32:32)));"")

Автор - bigor
Дата добавления - 15.01.2025 в 08:44
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!