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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2012, 16:15   #1
semych_7y4
 
Регистрация: 10.01.2012
Сообщений: 9
По умолчанию Рассчет даты с учетом нестандартных выходных и праздников

задача: отсчитать необходимое количество рабочих дней от заданной даты и вывести полученную дату.

так как в этом году есть рабочие субботы и воскресенья, стандартный РАБДЕНЬ для решения не подходит.

решил пойти следующим путем:
каждой дате в году соответствует какой-либо порядковый день в году от (1 до 365). и соответственно каждый день либо 0-выходной, либо 1-рабочий.
в столбце А - порядковые номера дней в году. в столбце В единички и нолики.
во вложении пример таблицы. мне надо сделать следущее. в ячейке, допустим С1, константа какая-нибудь, необходимое для отсчета количество дней. в ячейку D1 я ввожу порядковый номер дня (любой). в ячейке Е1 эксель должен посчитать порядковый номер, который будет соответствовать если просуммировать С1 единичек из столбца В начиная со строки D1.
Вложения
Тип файла: rar Книга5.rar (2.1 Кб, 67 просмотров)
semych_7y4 вне форума Ответить с цитированием
Старый 10.01.2012, 18:32   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Синтаксис
РАБДЕНЬ(нач_дата;количество_дней;пр аздники)
видите третий необязательный параметр "праздники", соберите празники в диапазон и сошлитесь на него. все получится.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.01.2012, 19:16   #3
semych_7y4
 
Регистрация: 10.01.2012
Сообщений: 9
По умолчанию

эта функция мне известна. но она не подходит. во всяком случае в таком виде. в данном случае будут учитываться "праздники" и субботы с воскресеньями. но это не верно, т.к. в этом году есть рабочие дни выпадающие на 6 и 7 день недели.
по большому счету мне нужно нечто наподобие, но только календарь должен использоваться мой собственный
semych_7y4 вне форума Ответить с цитированием
Старый 10.01.2012, 19:27   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а вы праздники, которые выпали на 6, 7 день недели перенесите сразу на те даты, на которые их пересло правительство своими распоряжениями. эта информация не поддается программированию и требует внесения вручную.

удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.01.2012, 19:34   #5
semych_7y4
 
Регистрация: 10.01.2012
Сообщений: 9
По умолчанию

не совсем понял, как перенести. возьмем к примеру июнь этого года. выходными являются 10, 11, 12 июня (воскресенье, понедельник, вторник). я забиваю в праздники 11 и 12 число. если по указанной выше формуле к 08.06.2012 прибавить 7 рабочих дней, эксель выдаст 21.06.2012, но правильно будет 20.06.2012
semych_7y4 вне форума Ответить с цитированием
Старый 10.01.2012, 19:50   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

первым рабочим днем, из необходимых Вам семи, Вы считаете 8.06.2012 а эксель 9.06.2012, поэтому у него 7-й рабочий день - это 21, а у Вас 20.
проделайте для начала несколько вычислений на простых датах, без выходных и уловите закономерность (алгоритм).
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.01.2012, 19:56   #7
semych_7y4
 
Регистрация: 10.01.2012
Сообщений: 9
По умолчанию

игорь, я так же как и эксель считаю со следующего дня после 08.06 дня. просто эксель считает субботу (09.06), воскресенье (10.06) и 2 дня из списка праздников (11.06, 12.06), но суббота - рабочий день. отсюда и разница. посчитайте ради интереса по календарю
semych_7y4 вне форума Ответить с цитированием
Старый 10.01.2012, 20:05   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ясно, а вот такой возможности - обьявить субботу рабочим днем - не предусмотрено в ексель(((
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.01.2012, 20:17   #9
semych_7y4
 
Регистрация: 10.01.2012
Сообщений: 9
По умолчанию

вот поэтому я и решил сделать свой календарь в таком виде:
1-й день года - 0 (выходной); //01.01.12
2-й день года - 0 (выходной); //02.01.12
3-й день года - 0 (выходной); //03.01.12
...
10-й день года - 1 (рабочий); //10.01.12
11-й день года - 1 (рабочий); //11.01.12
12-й день года - 1 (рабочий); //12.01.12
13-й день года - 1 (рабочий); //13.01.12
14-й день года - 0 (выходной); //14.01.12 - суббота
15-й день года - 0 (выходной); //15.01.12 - воскресенье
...
и так далее до 365

так вот можно ли стандартными функциями эксель посчитать заданное количество единиц и вернуть на какой день года выпадает это число?

у меня пока единственное, что получилось, высчитать количество этих единиц (рабочих дней) между какими-нибудь конкретными датами
semych_7y4 вне форума Ответить с цитированием
Старый 10.01.2012, 20:51   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

набить эти данные - это труд.
а посчитать рабочие дни - это как два байта отослать...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация и оформление праздников в Санкт-Петербурге sistemferos Мультимедиа в Delphi 0 08.06.2010 00:41
Организация и оформление праздников в Санкт-Петербурге sistemferos Мультимедиа в Delphi 0 06.06.2010 16:56
Расчет даты без учета выходных! Доктор Microsoft Office Excel 4 20.05.2010 17:56
Поиск файла FileSystemObject, с учетом даты Rossoman Microsoft Office Excel 3 10.11.2009 06:14
ввод нестандартных символов Freedom Общие вопросы Delphi 10 16.11.2006 17:56