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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.10.2008, 08:53   #1
liliya_22
Новичок
Джуниор
 
Регистрация: 07.02.2008
Сообщений: 2
Вопрос EXCEL создать календарь

Можно ли создать своего рода календарик, который бы автоматически высчитывал определенное количество дней, скажем 20, и если этот день приходится на выходной, (не рабочий день) то показывал следующий рабочий день, Одним словом, нужно посчитать 20 календарных дней, и выдать рабочий день следующий за этим днем.
liliya_22 вне форума
Старый 28.10.2008, 09:40   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно создать функцию и использовать в обычном порядке. Например:
Код:
Function Date20(Cell As Date) As Date

    Select Case Weekday(DateAdd("D", 20, Cell), vbMonday)
        Case 6: Date20 = DateAdd("D", 22, Cell)
        Case 7: Date20 = DateAdd("D", 21, Cell)
        Case Else: Date20 = DateAdd("D", 20, Cell)
    End Select

End Function
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 28.10.2008, 10:57   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

=ЕСЛИ(ДЕНЬНЕД(ндт+20;2)>5; 8-ДЕНЬНЕД(ндт+20;2)+ндт+20; ндт+20)

где ндт - начальная дата (ссылка на ячейку с начальной датой), к которой прибавляется 20 дней.

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

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать через редактор Visual Basic функцию в Excel Dima007 Microsoft Office Excel 2 04.11.2008 20:04
Прога-календарь Кай Софт 3 21.08.2008 13:44
Как создать новый файл Word из макроса Excel? Dorvir Microsoft Office Excel 12 08.07.2008 16:50
Очень надо создать БД в Excel Умелец Microsoft Office Excel 3 06.08.2007 11:18