Cool MEDIAN
формула.Но вы не можете использовать MEDIAN
по своему усмотрению с формулой массива, поскольку MEDIAN
всегда возвращает одиночный результат (не массив).
У меня есть решение вашей проблемы, но это несколько вяло / повторяющееся:
(я включил комментарии справа от формулы, чтобы объяснить, что происходит)
= IF(C18:C24>C8, // (For each cell in C18:C24) If the value is greater than C8
C8, // Then C8 is the upper bound
C18:C24) // Else, the specific value from C18:C24 is the upper bound
- // (minus sign)
IF(A18:A24<B8, // (For each cell in A18:A24) If the value is less than B8
B8, // Then B8 is the lower bound
A18:A24) // Else, the specific value from A18:A24 is the lower bound
Это возвращает массив перекрытий диапазонов дат, за исключением , что возможно, что эти результаты будут возвращать отрицательные числа (если перекрытие не происходит), но в этом случае вы хотите вернуть 0
.
Обойти это можно с помощью другого оператора IF
.
= IF(formula < 0, 0, formula)
Где formula
- первая формула, приведенная мной выше.
Примечание: Обычно в этой ситуации вы могли бы избежать ввода formula
дважды с помощью чего-то вроде этого:
= MAX(formula,0)
За исключением того, что это не сработает, когда formula
сам возвращает массив, так как MAX
возвращает только один результат.Это аналогичная проблема, с которой вы сталкиваетесь, прежде всего, с MEDIAN
.
В общем, без комментариев, это формула для суммирования значений:
= SUM(IF((IF(C18:C24>C8,C8,C18:C24)-IF(A18:A24<B8,B8,A18:A24))<0,0,
IF(C18:C24>C8,C8,C18:C24)-IF(A18:A24<B8,B8,A18:A24)))
Конечно, это формула массива, должна быть введена с помощью Ctrl + Shift + Введите вместо просто Введите .