Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2009, 23:09   #1
Lena_5
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 10
Вопрос Электронный график рабочего времени

Гуру Excel, пытаюсь оптимизировать график для того, чтобы автоматически проверялся междусменный перерыв и мне нужна Ваша помощь.
Есть исходные данные, а именно смены:
1 смена с 7.00 до 16.00
2 смена с 14.00 до 23.00
3 смена с 9.00 до 18.00
в - выходной.

Напротив каждого сотрудника по дням стоят смены (в,1,2,3 и т.д.)

Как сделать так, чтобы Excel просчитывал разницу между сменами, а именно: 24-16+14 (24 - окончание предыдущей смены+начало текущей). Надеюсь это возможно.

Заранее спасибо.
Lena_5 вне форума Ответить с цитированием
Старый 11.09.2009, 23:52   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

разницу посчитать не проблема.
а дальше? куда девать полученные значения? файл нужен...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.09.2009, 20:33   #3
Lena_5
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 10
По умолчанию

Не получается прикрепить файл, он экселевский...
Lena_5 вне форума Ответить с цитированием
Старый 18.09.2009, 21:20   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

запаковать надо в архив
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.09.2009, 14:58   #5
Lena_5
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 10
По умолчанию

Grafik_na_10_chelovek.rar

Получилось!

Идея в том, чтобы выдавалось сообщение типа "Ошибка", если междусменный перерыв не соблюден. Например, у сотрудника 1 ноября стоит 2 смена (с 14 до 23), а затем 2 ноября составитель графика хочет поставить ему 1 смену, но т.к. м/сменный перерыв не соблюдается (менее 15 часов) 24-23+6,5, то ему выдается "Ошибка" и составитель должен поставить другую смену.

Последний раз редактировалось Lena_5; 19.09.2009 в 15:02.
Lena_5 вне форума Ответить с цитированием
Старый 19.09.2009, 18:56   #6
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Так пойдет?
Вложения
Тип файла: rar Grafik.rar (31.3 Кб, 107 просмотров)
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 20.09.2009, 15:04   #7
Lena_5
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 10
По умолчанию

DV68, спасибо огромное! Спасибо!!!!!
Если не сложно, то набрасай, пож-та, алгоритм действий как удалось добиться таких расчетов.
Lena_5 вне форума Ответить с цитированием
Старый 20.09.2009, 16:56   #8
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

В диапазоне В72:D76 создана доп таблица, примерно такая же, как и у Вас в "Условных обозначениях", только более удобная для Excel. "1" (в формуле считается как 24 часа) - ИНДЕКС($B$72:$D$76;ПОИСКПОЗ(D14;$B$ 72:$B$76;0);3) (ищем время окончания работы в предыдущий день), (если был выходной или отпуск и т.д., то возвращает "Н/Д", его мы закрашиваем потом УФ) + ИНДЕКС($B$72:$D$76;ПОИСКПОЗ(E14;$B$ 72:$B$76;0);2) (ищем время начала работы в соответственный день). Далее вступает в действие условное форматирование. В ячейке D77 внес "15:00". В УФ внес "Значение ячейки" < $D$77,поставил заливку красным цветом => а также => Формула: =ЕНД(E15) и поставил шрифт белый. Таким образом скрываем "Н/Д". Вот вроде и все.
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 20.09.2009, 19:52   #9
Lena_5
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 10
По умолчанию

DV68, еще раз спасибо огромнейшее!
Lena_5 вне форума Ответить с цитированием
Старый 21.09.2009, 01:04   #10
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Может уже и не совсем актуально, но реализация с помощью макроса данной задачи: при нарушении межсменного интервала - окно ошибки, значение, нарушающее условие, удаляется.
Макрос не проверяет заполненную таблицу, а только контролирует процесс ее заполнения.
Вложения
Тип файла: zip Grafik_na_10_chelovek.zip (34.3 Кб, 81 просмотров)
EugeneS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оцените систему трекинга рабочего времени timetracker Софт 2 07.07.2009 00:32
как рисовать график в режиме реального времени? помогите пожалуйста Master_S7 Общие вопросы Delphi 2 05.06.2009 22:04
Формула учета рабочего времени (опоздания и т.п.) LiveNote Microsoft Office Excel 1 02.04.2009 02:30
электронный каталог Iskin Microsoft Office Access 1 12.03.2009 18:51
Работа с String Grid - помогите написать "Табель рабочего времени" Deicider Помощь студентам 3 29.11.2006 20:59