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

Необходимо суммировать количество дней, в течение которых происходит конкретная переменная (животное).

Кроме того, необходимо суммировать общее количество часов.

В этом примере я знаю, что макропод происходит в 11 дней (все) и свинья на (1).Нужно тиражировать более 38 сайтов.

Оценить помощь

Excel screenshot

1 Ответ

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

Вот пример части ваших данных:

enter image description here

Формула в E2:

=SUM(--(FREQUENCY(IF($B$2:$B$18=D2,MATCH(DAY($A$2:$A$18),DAY($A$2:$A$18),0)),ROW($A$2:$A$18)-ROW($A$2)+1)>0))

Введите через Ctrl Shift Введите

и перетащите вниз

Если вы хотите адаптивный диапазон в вашей формуле, вы можете использоватьINDEX() в формуле, чтобы перейти к последней строке:

=SUM(--(FREQUENCY(IF($B$2:INDEX(B:B,COUNTA(B:B))=D2,MATCH(DAY($A$2:INDEX(A:A,COUNTA(A:A))),DAY($A$2:INDEX(A:A,COUNTA(A:A))),0)),ROW($A$2:INDEX(A:A,COUNTA(A:A)))-ROW($A$2)+1)>0))

Если вы хотите расширить эту логику, но с учетом определенного сайта, вы можете начать работать с булевой логикой.В моем случае:

enter image description here

Формула в G2:

=SUM(--(FREQUENCY(IF(($B$2:INDEX(B:B,COUNTA(B:B))=F2)*($C$2:INDEX(C:C,COUNTA(C:C))=E2),MATCH(DAY($A$2:INDEX(A:A,COUNTA(A:A))),DAY($A$2:INDEX(A:A,COUNTA(A:A))),0)),ROW($A$2:INDEX(A:A,COUNTA(A:A)))-ROW($A$2)+1)>0))

Снова введите через Ctrl Сдвиг Введите

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