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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2010, 09:27   #1
Наркыз
 
Регистрация: 02.10.2010
Сообщений: 7
Печаль дается две даты, высчитать переработанное время.

дается время 8:00 и 17:20
нужно в результате чтоб вышло 1:20
получается он работал больше на 1 час 20 мин.

8 часовое рабочее время.
а если сотрудник проработал меньше, например с 8 00 до 13:00
то должно выходить -3.
воскресенье отдыхаем, там ничего не пишется, а так же праздники. но если пусто то минус 8 часов.
Помогите пожалуйста никак сделать не могу.
вот пример ..
Вложения
Тип файла: zip пример.zip (9.4 Кб, 20 просмотров)
Наркыз вне форума Ответить с цитированием
Старый 02.10.2010, 11:56   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сделано для 5 первых дней.
копируйте любую группу, начиная с 2 числа дальше. все должно работать.
Вложения
Тип файла: rar книга413.rar (8.2 Кб, 22 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.10.2010, 12:49   #3
Наркыз
 
Регистрация: 02.10.2010
Сообщений: 7
По умолчанию

не может же быть во времени -2,67
Наркыз вне форума Ответить с цитированием
Старый 02.10.2010, 13:42   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

замените формат итоговых ячеек на чч:мм, для отрицательных значений получите ############# - невозможно отобразить.
а -2.67 часа - это недоработано 2 часа 40 минут.
Если для Вас невмоготу перевести 2.67 часа в часы:минуты, есть такой выход: держать две итоговых ячейки после каждого дня - одну назвать "переработано", вторую - "недоработано", написать формул, которые их будут конкретно заполнять. Тогда у этих ячеек может быть формат чч:мм.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.10.2010, 14:03   #5
kim2
Форумчанин
 
Регистрация: 23.03.2010
Сообщений: 101
По умолчанию

Может так?
Вложения
Тип файла: rar книга4132.rar (8.6 Кб, 25 просмотров)
kim2 вне форума Ответить с цитированием
Старый 02.10.2010, 14:08   #6
Наркыз
 
Регистрация: 02.10.2010
Сообщений: 7
По умолчанию

не получаетсяяя...
мне нужно чтоб было и то что недоработали, выходило минус 2,40..
а потом, в конце месяца высчитывалось.... столько часов недоработка, столько переработал. и в общем все суммировал и получилось, в конце месяца столько то часов сверхурочно проработал
Наркыз вне форума Ответить с цитированием
Старый 02.10.2010, 14:48   #7
kim2
Форумчанин
 
Регистрация: 23.03.2010
Сообщений: 101
По умолчанию

Наркыз
Как известно, Эксель отказывается отображать отрицательное время. Поэтому приходится извращаться для этого.
Чтобы посчитать итоговую сумму, не обязательно ссылаться на эти ячейки, а подсчитать все скопом.
Например использовать СУММЕСЛИ(диапазон_условий;"выход";д иапазон суммирования)-СУММЕСЛИ(диапазон_условий;"вход";ди апазон суммирования).... ну и так далее.
Дерзайте.
kim2 вне форума Ответить с цитированием
Старый 03.10.2010, 02:16   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

написал я формулу, которая считает переработанные (недоработанные) часы за месяц (точнее половина формулы считает часы, а вторая половина - показывает их в формате чч:мм
Код:
=ЕСЛИ(СУММ(ЕСЛИ(НЕ(ЕОШ(СМЕЩ(RC[1];;1;;СЧЁТ(RC[1]:RC[92])/2*3)-СМЕЩ(RC[1];;;;СЧЁТ(RC[1]:RC[92])/2*3)));СМЕЩ(RC[1];;1;;СЧЁТ(RC[1]:RC[92])/2*3)-СМЕЩ(RC[1];;;;СЧЁТ(RC[1]:RC[92])/2*3)-1/3*(ДЕНЬНЕД(СМЕЩ(R1C[1];;;;СЧЁТ(RC[1]:RC[92])/2*3);2)<>7)*(СМЕЩ(R1C[1];;;;СЧЁТ(RC[1]:RC[92])/2*3)>0)))<0;"-";"+") & ТЕКСТ(ABS(СУММ(ЕСЛИ(НЕ(ЕОШ(СМЕЩ(RC[1];;1;;СЧЁТ(RC[1]:RC[92])/2*3)-СМЕЩ(RC[1];;;;СЧЁТ(RC[1]:RC[92])/2*3)));СМЕЩ(RC[1];;1;;СЧЁТ(RC[1]:RC[92])/2*3)-СМЕЩ(RC[1];;;;СЧЁТ(RC[1]:RC[92])/2*3)-1/3*(ДЕНЬНЕД(СМЕЩ(R1C[1];;;;СЧЁТ(RC[1]:RC[92])/2*3);2)<>7)*(СМЕЩ(R1C[1];;;;СЧЁТ(RC[1]:RC[92])/2*3)>0))));"ччч:мм")
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 03.10.2010 в 02:20.
IgorGO вне форума Ответить с цитированием
Старый 04.10.2010, 09:09   #9
Наркыз
 
Регистрация: 02.10.2010
Сообщений: 7
По умолчанию

ЛЮДи.. такое ощущение что это какие то китайские ироглифы ))..
IgorGO вставила эту формулу, так он мне 00 отобразил..
объясните чайнику, и покажите в екзеле сразу..
Не могу отчет сдать по сотрудникам (((...
Наркыз вне форума Ответить с цитированием
Старый 04.10.2010, 17:03   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
такое ощущение что это какие то китайские ироглифы ))..
это нормально, у меня те же ощущения
Цитата:
вставила эту формулу, так он мне 00 отобразил..
а вот это не хорошо... там формула массива, ввод завершается волшебной комбинацией клавиш Ctrl+Shift+Enter и будет Вам счастье!
Цитата:
объясните чайнику, и покажите в екзеле сразу..
очень мне не хотелось за Вас всю работу делать, но... см.вложение
и последнее, если работник не вышел на работу, а должен был, то надо в ячейки вход, выход нолики поставить, тут же в +/- увидите -8:00, а итоговое количество перереработанных (недоработанных) часов уменьшится на 8 часов.
Вложения
Тип файла: rar книга413.rar (8.4 Кб, 29 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 04.10.2010 в 17:18.
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Две даты tools SQL, базы данных 5 17.06.2010 16:06
Вывести фамилии и даты рождения студентов, не получивших ни одной оценки 3 за все время обучения Гробовщик Общие вопросы C/C++ 1 14.01.2010 14:16
Высчитать радиус окружности Anyken Фриланс 4 25.06.2009 10:30
Как высчитать опыт? [Smarik] Паскаль, Turbo Pascal, PascalABC.NET 5 22.02.2008 22:34
дается строка Edit1(произвольная) Вывести в поле Edit2 строку наоборот RocKy Общие вопросы Delphi 16 23.07.2007 02:23