![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 81
|
![]()
Коллеги, нужен макрос (или формула если это возможно) аналог функции ЧИСТРАБДНИ из надстройки "Пакет анализа". Здесь описание данной функции.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
тестируйте,вроди бы работает
Код:
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 12.05.2010 в 16:05. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 81
|
![]()
Работает, но надо бы добавить возможность учета и праздничных дней...
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Раставте правильно праздники
Код:
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
или вот формула для определения количества выходных:
Код:
Подойдет, как для расчетов, так и для тестирования функции, которую doober написал. Интересно сколько будет отличий в определении количества этих самых дней. именованый диапазон "праздники" - надо бы дополнить и поправить под местное законодательство...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Да .С праздниками просквозил.Надо так
Код:
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
я у себя уже ошибку нашел:
=ЦЕЛОЕ((B1-A1+1)/7-(ДЕНЬНЕД(B1;2)<ДЕНЬНЕД(A1;2))*1)*2. .. =ЦЕЛОЕ((B1-A1+1)/7-(ДЕНЬНЕД(B1;2)<=ДЕНЬНЕД(A1;2))*1)*2... doober, с 25 апр. по 9 мая - у нас разные результаты. у меня 7 выходных, 8 рабочих. у тебя ровно наоборот: 8 выходных, 7 рабочих. Т.к. функции независимые - значит в обоих по ошибке.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 81
|
![]()
IgorGO, формула почему-то дает с 01.05.2010 по 31.05.2010 гг. 8 выходных без праздников. А макрос doober 10 выходных. Правильно 10 выходных (ручной подсчет) или для проверки с использованием функции чистрабдни =ДЕНЬ(ДАТА(2010;5;31))-ЧИСТРАБДНИ(ДАТА(2010;5;1);ДАТА(2010 ;5;31))
doober, а можешь изменить код чтобы праздничные дни брались из диапазона ячеек? |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 81
|
![]()
doober, в коде надо сделать проверку на день недели праздничного дня. Иначе с 01.05.2010 по 31.05.2010 с праздниками
Holi.Add "01.05.2010" Holi.Add "02.05.2010" Holi.Add "9.05.2010" получается что выходных дней 13 а на самом деле 02.05.2010 года уже выходной его в расчет брать не надо. Проверка сделана с помощью той же функции чистрабдни и вручную. |
![]() |
![]() |
![]() |
#10 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
согласен, опять ошибка.
запишите в С1 вот это: Код:
1. правильно считает 2. намного короче (это очень существенно для меня лично) 3. простой алгоритм и один недостаток: та формула была сделана на логике, и подсчет осуществлялся за счет математических формул, а эта на тупом переборе всех дат входящих в интервал с проверкой - а не суббота ли или воскресенье данная дата.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аналог функции ЧИСТВНДОХ | Mint86 | Microsoft Office Excel | 7 | 13.05.2010 08:41 |
аналог функции case | redfield | Microsoft Office Excel | 3 | 05.05.2010 12:25 |
Аналог этой функции на C | killer12rus | Помощь студентам | 1 | 20.03.2010 15:23 |
Аналог функции ИЛИ (OR) на VBA | Andrey3055 | Microsoft Office Excel | 4 | 03.11.2009 13:47 |
Аналог функции WriteProcessMemory | KleoY | Win Api | 10 | 31.03.2009 01:17 |