Подсчет последовательных значений на основе нескольких критериев - PullRequest
0 голосов
/ 01 мая 2020

Я хочу сосчитать последовательных сотрудников (Col D), которые обслуживают определенного c поставщика, исходя из того, что сборы превышают 20 000 (Col G)

У меня есть эта формула Col G, и перетащите ее down:

{=SUMPRODUCT(($A$2:A2=A2)*($D$2:D2=D2)*($G$2:G2="Yes")*(ROW($G$2:G2)>MAX(IF(($A$2:A2=A2)*($D$2:D2=D2)*($G$2:G2="No"),ROW($G$2:G2)))))}

Однако это приводит к подсчету ошибок, когда персонал повторяется на том же клиенте через x лет и не сбрасывает счет.

enter image description here

Строка 7 должна отображаться как 1, а не как 5.

Если кто-то может помочь отредактировать эту формулу, чтобы она сбрасывалась после того, как другой персонал подойдет в течение нескольких лет?

Ответы [ 2 ]

1 голос
/ 01 мая 2020

@ Ответ Эдварда выглядит хорошо. Альтернатива (Excel 2019, O365):

=IFS(G2="No","",OR(AND(G2="Yes",A1&D1<>A2&D2),AND(G2="Yes",SUMPRODUCT((($A$1:A1&$D$1:D1)=A2&D2)*1)=0)),1,AND(G2="Yes",SUMPRODUCT((($A$1:A1&$D$1:D1)=A2&D2)*1)>0),E1+1)

Выход: Accum

Лист.v2

РЕДАКТИРОВАТЬ : для более старых версий Excel:

=IF(G2="No","",IF(OR(AND(G2="Yes",A1&D1<>A2&D2),AND(G2="Yes",SUMPRODUCT((($A$1:A1&$D$1:D1)=A2&D2)*1)=0)),1,IF(AND(G2="Yes",SUMPRODUCT((($A$1:A1&$D$1:D1)=A2&D2)*1)>0),E1+1)))
0 голосов
/ 01 мая 2020

Пока у вас есть строка 1 без данных, как, возможно, заголовки. Затем в E2 поместите

 =sum(if((A2=A1)*(B2=B1)*(D2=D1)*(G2="Yes")*(DatedIF(C1,C2,"y")=1),E1+1,1))

и вставьте его до конца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...