Я знаю, как это сделать с помощью пользовательской функции / скрипта, но мне интересно, можно ли это сделать с помощью встроенной формулы.
У меня есть список задач с датой начала и концасвидание.Я хочу вычислить фактическое количество рабочих дней (NETWORKDAYS
), потраченных на все задачи.
- Рабочие дни могут перекрываться, поэтому я не могу просто подсчитать количество дней, потраченных на каждую задачу
- Могут быть пробелы между задачами, поэтому я не могу просто найти разницу между первым началом и последним концом.
Например, давайте использовать эти:
| Task Name | Start Date | End Date | NETWORKDAYS |
|:---------:|------------|------------|:-----------:|
| A | 2019-09-02 | 2019-09-04 | 3 |
| B | 2019-09-03 | 2019-09-09 | 5 |
| C | 2019-09-12 | 2019-09-13 | 2 |
| D | 2019-09-16 | 2019-09-17 | 2 |
| E | 2019-09-19 | 2019-09-23 | 3 |
Вот это визуально:
Сейчас:
- Если вы наберете
NETWORKDAYS
, вы получитеполучите 15 - Если вы вычислите
NETWORKDAYS
между 2019-09-02 и 2019-09-23, вы получите 16
Но фактическая продолжительность равна 13:
- A и B немного перекрываются
- Существует разрыв между B и C
- Существует разрыв между D и E
Если бы я былчтобы написать собственную функцию, я бы взял все даты, отсортировал их, нашел перекрытия и удали их, а также учел пробелы.
Но мне интересно, есть ли способ рассчитать фактическую продолжительность, используя встроенные формулы?