|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.05.2010, 13:58 | #1 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 81
|
Аналог функции ЧИСТРАБДНИ
Коллеги, нужен макрос (или формула если это возможно) аналог функции ЧИСТРАБДНИ из надстройки "Пакет анализа". Здесь описание данной функции.
|
12.05.2010, 15:58 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
тестируйте,вроди бы работает
Код:
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 12.05.2010 в 16:05. |
12.05.2010, 16:40 | #3 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 81
|
Работает, но надо бы добавить возможность учета и праздничных дней...
|
12.05.2010, 17:48 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Раставте правильно праздники
Код:
Анализ,обработка данных Недорого
|
12.05.2010, 19:24 | #5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
или вот формула для определения количества выходных:
Код:
Подойдет, как для расчетов, так и для тестирования функции, которую doober написал. Интересно сколько будет отличий в определении количества этих самых дней. именованый диапазон "праздники" - надо бы дополнить и поправить под местное законодательство...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
12.05.2010, 19:49 | #6 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Да .С праздниками просквозил.Надо так
Код:
Анализ,обработка данных Недорого
|
12.05.2010, 22:10 | #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 рабочих. Т.к. функции независимые - значит в обоих по ошибке.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
13.05.2010, 06:54 | #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, а можешь изменить код чтобы праздничные дни брались из диапазона ячеек? |
13.05.2010, 07:04 | #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 года уже выходной его в расчет брать не надо. Проверка сделана с помощью той же функции чистрабдни и вручную. |
13.05.2010, 10:37 | #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 |