Sumif не возвращает значение

Привет, у меня есть два листа. Рабочий лист A выглядит так: Q1 должен суммировать значения из рабочего листа B между 01.07.2015 и 30.09.2015.

    Name |  Q1
Doe, John|  15

С добавлением дополнительных строк и столбцов.

Рабочий лист два выглядит так

Date     | Doe, John | ...
7/1/2015 | 3         | ...
7/2/2015 | 3         | ...
7/3/2015 | 3         | ...
7/4/2015 | 3         | ...
...                  | ...
9/30/2015| 3         | ...

Где столбец даты - это каждая дата, увеличенная на один день, а каждая строка - с каждым именем человека.

Я пытаюсь суммировать числа между двумя датами на листе A и пытаюсь выполнить функцию sumifs, но, похоже, она не работает. У меня есть формула:

=sumifs(Attendance!$B$2:$BS$552, Attendance!1:1, Summary!$A2, Attendance!A:A, and(Attendance!A:A>"7/1/2015", <"10/1/2015"))

В основном я пытаюсь выяснить, в каком столбце находится Доу, Джон, а затем суммировать все значения в этом конкретном столбце в пределах заданной границы. Единственный способ, который я знаю, как это сделать он динамически (без использования макроса) должен выполнять смещение, но это не возвращает имя строки, а возвращает индекс строки. Мне не очень помогает знать, что Доу, Джон находится в индексе 2, потому что, если я хочу суммировать все значения во 2-м столбце, мне нужно сделать что-то вроде sum (B: B), а не sum (2: 2)


person bdpolinsky    schedule 18.10.2016    source источник
comment
Вы не используете И таким образом, просто добавьте критерий: =SUMIFS(Attendance!$B$2:$BS$552,Attendance!1:1,Summary!$A2,Attendance!A:A,">7/1/2015",Attendance!A:A," <10/1/2015")   -  person Scott Craner    schedule 18.10.2016
comment
Привет, используя эту формулу = sumifs (Attendance! $ B $ 2: $ BS $ 552, Attendance! 1: 1, $ A2, Attendance! A: A, ›= 7/1/2015, Attendance! A: A,‹ 10/1 / 2015) есть ошибка   -  person bdpolinsky    schedule 18.10.2016
comment
Цитаты должны охватывать весь критерий, это >="7/1/2015" должно быть ">=7/1/2015", а <"10/1/2015" должно быть "<10/1/2015".   -  person Scott Craner    schedule 18.10.2016
comment
= СУММЕСЛИМН (посещаемость! $ B $ 2: $ BS $ 552, посещаемость! 1: 100, $ A2, посещаемость! A: A, ›= 01.07.2015, посещаемость! A: A,‹ 01.10.2015). ошибка # Значение!   -  person bdpolinsky    schedule 18.10.2016
comment
Почему бы просто не использовать сводную таблицу. Dates ► Строки, Каждые column Header ► Значения и группируйте даты по кварталам.   -  person Ron Rosenfeld    schedule 19.10.2016


Ответы (1)


Вместо этого используйте СУММПРОИЗВ:

=SUMPRODUCT(($B$1:$C$1=E3)*($A$2:$A$13<DATE(2015,10,1))*($A$2:$A$13>=DATE(2015,7,1))*B2:C13)

введите описание изображения здесь

person Scott Craner    schedule 18.10.2016
comment
Спасибо за помощь. Я слышал, что функция sumproduct очень полезна, но у меня никогда не было возможности использовать ее лично. Можете ли вы объяснить по-английски, что происходит в приведенной выше формуле? Я попытался применить его как таковой: = SUMPRODUCT ($ A $ 2: $ A $ 61 = A2, посещаемость! A2: A552 ›= date (2015,7,1) Attendance! A2: A552‹ date (2015,10,1) , Attendance! $ B $ 2: $ BS $ 552) и excel возвращает #value! Я не хочу больше отнимать ваше время и не хочу, чтобы вы отвечали за меня на вопрос. - person bdpolinsky; 18.10.2016
comment
Если вы посмотрите на мой, я перемножил логические значения. Вам нужно сделать это, чтобы превратить ИСТИНА / ЛОЖЬ в 1/0 соответственно. Если вы хотите поставить , между ними, вам нужно будет выполнить некоторую математику для каждого, чтобы выполнить переход от логического значения к битовому. =SUMPRODUCT(1*($A$2:$A$61=A2), 1*(Attendance!A2:A552>=date(2015,7,1)),1*(Attendance!A2:A552<date(2015,10,1)),Attendance!$B$2:$BS$552) Это беспорядок, и поэтому я просто перемножил их все вместе. @bdpolinsky - person Scott Craner; 18.10.2016
comment
В качестве альтернативы вы можете сделать это с помощью СУММЕСЛИМН: =SUMIFS(INDEX($B:$C,,MATCH(F3,$B$1:$C$1,0)),$A:$A,"<10/1/2015",$A:$A,">=7/1/2015") - person tigeravatar; 19.10.2016