Страницы: 1
RSS
VBA Количество дней между двумя датами в Excel без учета празников, VBA Количество дней между двумя датами в Excel без учета празников
 
Добрый вечер всем!

Наверное глупый вопрос, но как посчитать количество календарных дней между двумя датами в коде VBA без учета празничных?

Пример между датами 01.06.2017 и 30.06.2017 - должно быть не 30, а 29 дней (так как 12.06.2017 - праздник)
 
=РАБДЕНЬ.МЕЖД()
=ЧИСТРАБДНИ.МЕЖД(A1;B1;"0000000";F1:F10), в диапазоне F1:F10 список праздничных дат
Изменено: Sanja - 16.06.2017 19:16:59
Согласие есть продукт при полном непротивлении сторон
 
Чисто по памяти: Чистрабдни, рабдни - ну типа этого :) Формулисты поправят, если что.
Я сам - дурнее всякого примера! ...
 
Идём в "Приемы" и читаем эту статью. До конца.
 
Ух ты! Триплетом :) Вариант: ЧИСТРАБДНИ.МЕЖД
P.S. открыл-таки Экс :)
Изменено: kuklp - 16.06.2017 19:15:29
Я сам - дурнее всякого примера! ...
 
Ни один вариант не подходит.

Чисторабдни считает за минусом выходных, а тут календарные, а не рабочие нужно...



Так как есть два условия
1- это надо сделать в коде VBA (без участия листа)
2- мне нужна не просто разница между датами, а за минусом празничных дней...

формулой я нашел как это решить:
считаем количество праздничных дней входящих в период так - =СУММПРОИЗВ((ПраздникиРФ>=42887)*(ПраздникиРФ<=42916))
ПраздникиРФ - это именнованный массив с празничными датами
затем просто из одной даты отнимаем другую плюс 1 (так как конец не берет эксель) и отнимаем количество праздничных.

Но как это количество праздничных посчитать на VBA без листа?
Изменено: Леонид Коршак - 16.06.2017 19:30:49
 
Леонид Коршак, а где (не на листе) Вы предлагаете хранить праздничные дни?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
Леонид Коршак написал:
Ни один вариант не подходит
А Вы пробовали? См сообщение #2. Результат 29 дней. Или что-то недоговариваете?
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
А Вы пробовали? См сообщение #2. Результат 29 дней. Или что-то недоговариваете?
Великодушно прошу прощения...
Просто пока сегодня рылся в формулах уже пробовал подобную функцию но вариант с "0000000" она не принимала... Видать это как раз =РАБДЕНЬ.МЕЖД()

и тогда я и на VBA смогу ее вызвать через worksheetfunction.NetworkDays_Intl
 
Sanja,
Цитата
Sanja написал:
F1:F10 список праздничных дат
Что-то списочек короткий  ;)  
Алексей М.
Страницы: 1
Наверх