|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.01.2012, 16:15 | #1 |
Регистрация: 10.01.2012
Сообщений: 9
|
Рассчет даты с учетом нестандартных выходных и праздников
задача: отсчитать необходимое количество рабочих дней от заданной даты и вывести полученную дату.
так как в этом году есть рабочие субботы и воскресенья, стандартный РАБДЕНЬ для решения не подходит. решил пойти следующим путем: каждой дате в году соответствует какой-либо порядковый день в году от (1 до 365). и соответственно каждый день либо 0-выходной, либо 1-рабочий. в столбце А - порядковые номера дней в году. в столбце В единички и нолики. во вложении пример таблицы. мне надо сделать следущее. в ячейке, допустим С1, константа какая-нибудь, необходимое для отсчета количество дней. в ячейку D1 я ввожу порядковый номер дня (любой). в ячейке Е1 эксель должен посчитать порядковый номер, который будет соответствовать если просуммировать С1 единичек из столбца В начиная со строки D1. |
10.01.2012, 18:32 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Синтаксис
РАБДЕНЬ(нач_дата;количество_дней;пр аздники) видите третий необязательный параметр "праздники", соберите празники в диапазон и сошлитесь на него. все получится.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
10.01.2012, 19:16 | #3 |
Регистрация: 10.01.2012
Сообщений: 9
|
эта функция мне известна. но она не подходит. во всяком случае в таком виде. в данном случае будут учитываться "праздники" и субботы с воскресеньями. но это не верно, т.к. в этом году есть рабочие дни выпадающие на 6 и 7 день недели.
по большому счету мне нужно нечто наподобие, но только календарь должен использоваться мой собственный |
10.01.2012, 19:27 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
а вы праздники, которые выпали на 6, 7 день недели перенесите сразу на те даты, на которые их пересло правительство своими распоряжениями. эта информация не поддается программированию и требует внесения вручную.
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
10.01.2012, 19:34 | #5 |
Регистрация: 10.01.2012
Сообщений: 9
|
не совсем понял, как перенести. возьмем к примеру июнь этого года. выходными являются 10, 11, 12 июня (воскресенье, понедельник, вторник). я забиваю в праздники 11 и 12 число. если по указанной выше формуле к 08.06.2012 прибавить 7 рабочих дней, эксель выдаст 21.06.2012, но правильно будет 20.06.2012
|
10.01.2012, 19:50 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
первым рабочим днем, из необходимых Вам семи, Вы считаете 8.06.2012 а эксель 9.06.2012, поэтому у него 7-й рабочий день - это 21, а у Вас 20.
проделайте для начала несколько вычислений на простых датах, без выходных и уловите закономерность (алгоритм).
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
10.01.2012, 19:56 | #7 |
Регистрация: 10.01.2012
Сообщений: 9
|
игорь, я так же как и эксель считаю со следующего дня после 08.06 дня. просто эксель считает субботу (09.06), воскресенье (10.06) и 2 дня из списка праздников (11.06, 12.06), но суббота - рабочий день. отсюда и разница. посчитайте ради интереса по календарю
|
10.01.2012, 20:05 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
ясно, а вот такой возможности - обьявить субботу рабочим днем - не предусмотрено в ексель(((
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
10.01.2012, 20:17 | #9 |
Регистрация: 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 так вот можно ли стандартными функциями эксель посчитать заданное количество единиц и вернуть на какой день года выпадает это число? у меня пока единственное, что получилось, высчитать количество этих единиц (рабочих дней) между какими-нибудь конкретными датами |
10.01.2012, 20:51 | #10 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
набить эти данные - это труд.
а посчитать рабочие дни - это как два байта отослать...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Организация и оформление праздников в Санкт-Петербурге | 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 |