Подсчет количества вхождений на основе критериев - PullRequest
0 голосов
/ 20 июня 2019

У меня есть простой фрейм данных с 4 столбцами даты, имени, позднего входа и раннего ухода.Я пытаюсь подсчитать количество поздних / ранних случаев для конкретного человека за последние 30 дней.

Я пытался использовать count и countif, но безуспешно.

Date     Name    Late    Leave
08/01    John    9:05    
         Sue    10:01
08/02    Bob             4:51    
08/03    Sue     9:16
         John            3:10
08/04
08/05    Bob     9:19
08/06    Sue             3:30

Я пытался =countifs(B2:B8,B2,C2:D8,"<>"), но получил ошибку значения.Я также пытался использовать формулу массива, такую ​​как {=count(if(B2:B8=B2,C2:D8))}, но я не получаю желаемых результатов.Я даже не пытался включить 30 дней назад, так как я даже не могу заставить его работать должным образом в его текущем состоянии.

Например, я хотел бы рассчитать:

John had a total of 2 late/leave early in the month of August
Sue had a total of 3 late/leave early in the month of August
etc.

Ответы [ 2 ]

1 голос
/ 20 июня 2019

COUNTIFS требуют, чтобы диапазоны были одинакового размера.Вам нужно будет сделать два и сложить их вместе:

=COUNTIFS(B:B,F2,C:C,"<>")+COUNTIFS(B:B,F2,D:D,"<>")

enter image description here

0 голосов
/ 20 июня 2019

Для максимальной точности вам необходимо заполнить даты в каждой ячейке.

В приведенных ниже формулах замените $ G $ 1 на ячейку, содержащую целевую дату или Today ().

Чтобы получить число вхождений за 30 дней до целевой даты, какуказано в вопросе, используйте эту формулу:

=COUNTIFS(
$B$2:$B$9,$F4,$C$2:$C$9,"<>""",$A$2:$A$9,">="&$G$1-30,$A$2:$A$9,"<="&$G$1)+
COUNTIFS(
$B$2:$B$9,$F4,$C$2:$C$9,"<>""",$D$2:$D$9,">="&$G$1-30,$A$2:$A$9,"<="&$G$1)

enter image description here

Однако, если вы ищете количество вхождений в месяце целидату, используйте эту формулу:

=COUNTIFS(
$B$2:$B$9,$F4,$C$2:$C$9,">0",$A$2:$A$9,">="&EOMONTH($G$1,-1)+1,$A$2:$A$9,"<"&EOMONTH($G$1,0)+1)+
COUNTIFS(
$B$2:$B$9,$F4,$D$2:$D$9,">0",$A$2:$A$9,">="&EOMONTH($G$1,-1)+1,$A$2:$A$9,"<"&EOMONTH($G$1,0)+1)

enter image description here

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