Указание разных выходных с помощью ЧИСТЫХ ДНЕЙ (Microsoft Excel)
Сунил может использовать функцию ЧИСТРАБДНИ, чтобы вернуть количество обычных рабочих дней между двумя датами. Функция предполагает, что суббота и воскресенье не являются рабочими днями, но в организации Сунил только воскресенье считается нерабочим днем. Он задается вопросом, есть ли способ использовать NETWORKDAYS и указать, что только воскресенье должно быть исключено из возвращаемого счетчика.
Это можно определить с помощью формулы, основанной на функции ЧИСТРАБДНИ. Предполагая, что начальная дата находится в A1, а конечная дата — в B1, следующая формула проверяет дни между двумя датами и по существу возвращает количество не воскресных дней в этом диапазоне:
=NETWORKDAYS(A1,B1)+SUMPRODUCT(--(WEEKDAY (ROW(INDIRECT(A1&":"&B1)))=7))
Конечно, поскольку воскресенье — единственный исключаемый день недели, вы можете просто пропустить использование NETWORKDAYS и использовать SUMPRODUCT, чтобы выяснить, следует ли считать день или нет:
=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A1&":"&B1)))>1))
Если вы ожидаете, что в диапазоне могут быть праздники, и что эти праздники находятся в названном диапазоне «праздники», вам нужно вернуться к использованию ЧИСТРАБДНИ в формуле:
=NETWORKDAYS(A1,B1,holidays)+SUMPRODUCT(-- (WEEKDAY(ROW(INDIRECT(A1&":"&B1)))=7),-- (NOT(ISNUMBER(MATCH(ROW(INDIRECT(A1&":"&B1)) ,holidays,0)))))
Конечно, если вы используете последние версии Excel (начиная с Excel 2010), вы можете использовать функцию NETWORKDAYS.INTL, которая выполняет больше функций, чем более старая функция NETWORKDAYS. Самая большая разница между ними заключается в том, что NETWORKDAYS.INTL позволяет указать, как функция должна обрабатывать выходные. Так, например, в случае Сунила, когда «выходными» следует считать только воскресенье, вы можете использовать следующую формулу:
=NETWORKDAYS(A1,B1,11,Holidays)
Обратите внимание, что единственное различие между этой и полной версией функции ЧИСТРАБДНИ — это включение нового третьего параметра. В этом случае значение 11 указывает на то, что только воскресенья должны считаться выходными, но вы можете использовать любые другие значения параметров в зависимости от ваших потребностей.
Number |
Weekend Days |
|
1 |
Saturday, Sunday |
|
2 |
Sunday, Monday |
|
3 |
Monday, Tuesday |
|
4 |
Tuesday, Wednesday |
|
5 |
Wednesday, Thursday |
|
6 |
Thursday, Friday |
|
7 |
Friday, Saturday |
|
11 |
Sunday |
|
12 |
Monday |
|
13 |
Tuesday |
|
14 |
Wednesday |
|
15 |
Thursday |
|
16 |
Friday |
|
17 |
Saturday |
С NETWORKDAYS.INTL вы также можете совершать другие магические действия, но лучше оставить это для другого ExcelTips.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (12450) применим к Microsoft Excel 2007, 2010, 2013 и 2016.
Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Specifying_Different_Weekends_with_NETWORKDAYS [Указание разных выходных с помощью NETWORKDAYS]
.