2015-09-02 3 views
0

Я использую эту формулу, чтобы определить, является ли дата столбцом F после даты в столбце G, но до даты в столбце G + 3 рабочих дня.Sumproduct, включая функцию рабочего дня

я использовал следующую формулу, которая работала достаточно хорошо:

=SUMPRODUCT(($F$5:$F$1000>$G$5:$G$1000)*($F$5:$F$1000<($G$5:$G$1000+3))) 

Но я понял, что не приходится на выходные в финале «+3».

Так что я попытался это:

=SUMPRODUCT(($F$5:$F$1000>$G$5:$G$1000)*($F$5:$F$1000<(WORKDAY($G$5:$G$1000,3)))) 

И это возвращает #VALUE! Это происходит толчок ли я Ctrl + Сдвиг + Введите или нет.

Как это сделать, пожалуйста?

+0

Предоставьте дополнительную информацию. – ManishChristian

+0

Я использую эту формулу для определения, является ли дата столбцом F после даты в столбце G, но до даты в столбце G + 3 рабочих дней. – jpf

+0

Попробуйте вставить знак '+' в формулу для преобразования диапазона в массив: 'WORKDAY (+ $ G $ 5: $ G $ 1000,3)' –

ответ

1

В соответствии с назначением @Tim функция workday не может принимать диапазон. Но вы можете имитировать то, что вам нужно с помощью функции weekday с помощью этого:

If(weekday(G2:G5; x)>=y;5;3) 

Где x это ваш код воскресенье, y в среду. Если ваш рабочий день больше, чем в среде, то вы подведете 5, а не 3.

=SUM(IF($F$2:$F$3 > $G$2:$G$3; 1; 0)* 
    IF($F$2:$F$3 < $G$5:$G$1000 + IF(WEEKDAY($G$2:$G$3)>= Y ;5;3); 1; 0)) 

Будни делают принять ряд, и он возвращает диапазон будней. Когда вы вычисляете if (который также принимает диапазон), вы создаете матрицу 0/1 (которая похожа на вашу матрицу индикаторов строк, где условие активно). Если вы * обе матрицы условий, у вас будут остальные строки, которые соответствуют обоим условиям. И, наконец, если вы примените сумму, вы получите счет.

Это способ для имитации sumproduct, когда у вас есть условия, которые требуют формулы

Вы должны будете использовать Ctrl + Shift + Enter.

03/09/2015 02/09/2015 
07/09/2015 03/09/2015 

Используя эту дату я получил результат 2. Что является правильным, обе даты больше, чем их партнеров, но ниже, чем их партнеры + 3-х рабочих дней

PS: Я использую испанский Excel, так это может быть ошибки формулы перевода

0

аргумент WORKDAY не может принять диапазон (например, $G$5:$G$1000 в вашем коде). Я не совсем уверен, что вы пытаетесь сделать без каких-либо подробностей и некоторых выборочных данных, так что это лучшая помощь, которую я могу вам дать.

1

Lori_m, в комментариях к моему вопросу при условии, рабочий ответ:

Попробуйте вставить знак + в формулу, чтобы преобразовать диапазон массива: трудодень (+ $ G $ 5 : $ G $ 1000,3) - lo ri_m 17 часов назад

Спасибо.

Смежные вопросы