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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2010, 23:02   #1
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию подсчет рабочих дней

Помогите актуализировать подсчет чистых рабочих дней, полученных по формуле NETWORKDAYS (рус. ЧИСТРАБДНИ) с учетом государственных праздников?
Если подобный подсчет невозможен по этой формуле, то какие могут быть варианты? Например, нужно подсчитать количество рабочих дней с 01.12.2009 по 26.02.2010.
ruavia3 вне форума Ответить с цитированием
Старый 27.02.2010, 02:50   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот такая вышла формула:
Код:
=СУММПРОИЗВ((ДЕНЬНЕД(ДАТА(ГОД(R[-1]C[-1]);МЕСЯЦ(R[-1]C[-1]);СТРОКА(ДВССЫЛ(ДЕНЬ(R[-1]C[-1]) & ":" & RC[-1]-R[-1]C[-1]+ДЕНЬ(R[-1]C[-1]))));2)<6)*1)-СУММПРОИЗВ((R[2]C[-2]:R[11]C[-2]>=R[-1]C[-1])*(R[2]C[-2]:R[11]C[-2]<=RC[-1]))
см.вложение. ЧИСТРАБДНИ - считает все замечательно. только с учетом русского, украинского законодательства не учитывает того факта, что если праздник попал на выходной, то ближайший рабочий день считается выходным. приведенная выше формула учитывает "наши" нюансы.
правда есть и в этой формуле один косячок, обьясню на примере:
начальная дата 05.03.2009 конечная 09.03.2009 (понятно 08.03.2009 внесен в список праздников) - результат по ЧИСТРАБДНИ - 3 рабочих дня, по предлагаемой формуле - 2.
изменим период с 5 по 8 марта 2009 года. ЧИСТРАБДНИ выдаст 2, предлагаемая формула, увы, 1, потому что 8 марта попало в рассматриваемый период и было учтено, как выходной. Так что - такая себе формула, доверять ей тоже нельзя.
Вложения
Тип файла: rar Книга259.rar (8.2 Кб, 51 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.02.2010, 10:53   #3
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

спасибо, разобрался.

Последний раз редактировалось ruavia3; 27.02.2010 в 12:55.
ruavia3 вне форума Ответить с цитированием
Старый 27.02.2010, 13:08   #4
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

Вот список нерабочих праздничных дней
http://www.consultant.ru/online/base...se=LAW;n=19238
если они совпадают с сб. или вс., делаешь доп. прибавку (+1).
Всё решаемо стандартными формулами excel (без vba).
novak_26 вне форума Ответить с цитированием
Старый 27.02.2010, 17:30   #5
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Несовсем понятно, как по Вашей схеме определить эту субботу как рабочий день?
ruavia3 вне форума Ответить с цитированием
Старый 27.02.2010, 17:36   #6
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

теперь с примером
Вложения
Тип файла: rar раб_дни.rar (8.0 Кб, 44 просмотров)
novak_26 вне форума Ответить с цитированием
Старый 27.02.2010, 17:48   #7
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

файл, сохраненный в 2003 excel глючит (на функции чистрабдни). Выкладываю версию в 2007 excel.
Вложения
Тип файла: rar _раб_дни_.rar (11.6 Кб, 26 просмотров)
novak_26 вне форума Ответить с цитированием
Старый 27.02.2010, 18:16   #8
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

с учетом замечания от IgorGO про добавление выходных, совпавших с праздниками
Вложения
Тип файла: rar раб_дни_.rar (11.3 Кб, 83 просмотров)
novak_26 вне форума Ответить с цитированием
Старый 01.03.2010, 08:36   #9
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Выложите, пожалуйста, последний файл в excel 2003 (с учетом замечаний от IgorGO), т.к. у меня не открывается 2007
Я подключил функцию чистрабдни() через Сервис=>Надстройки подключить Analysis ToolPack - VBA
Если не сработает, прикрепите текст формулы.

Последний раз редактировалось ruavia3; 01.03.2010 в 08:40.
ruavia3 вне форума Ответить с цитированием
Старый 01.03.2010, 09:20   #10
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

ловите, в 2003 excel
Вложения
Тип файла: zip раб_дни_(2003_excel).zip (9.4 Кб, 96 просмотров)
novak_26 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск рабочих групп и компьютеров в них GAGARIN-NEW Общие вопросы Delphi 3 30.07.2011 12:02
2 рабочих стола??? Chudo4258 Помощь студентам 11 12.12.2009 20:01
как расчитать кол-во рабочих дней за"-" выходных??? ЦЕРЦЕЯ Microsoft Office Excel 5 30.11.2009 14:16
Распределение рабочих по станкам (С++) Destructor Помощь студентам 5 15.06.2009 20:59
Профилирование лопастей центробежных рабочих колёс Styu Общие вопросы Delphi 3 24.07.2007 13:56