Excel: сумма дублирует значения только один раз и только на видимых ячейках - PullRequest
0 голосов
/ 26 мая 2019

С учетом следующей таблицы FILTERED :

TYPE    NUM
A       3
A       3
A       3
B       5
B       5

Мне нужно найти сумму столбца NUM без учета повторяющихся значений. В настоящее время у меня есть следующее решение на основе другого сообщения:

=SUMPRODUCT(B2:B6/COUNTIFS(A2:A6,A2:A6))

В этом случае результат равен 8, что правильно, если фильтры не были применены.

Теперь, если я отфильтрую столбец, чтобы показать только A в TYPE, он все равно покажет мне 8. У меня проблема в том, что мне нужно скорректировать сумму в зависимости от того, что видно. После применения фильтра, чтобы показать только A , я должен получить 3, и если я фильтрую, чтобы показать только B , я должен получить 5. Я пробовал AGGREGATE и SUBTOTAL и нигде не получил.

Есть ли способ настроить приведенную выше формулу на VISIBLE только ячейки?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 мая 2019

Так что это довольно сложная формула, включающая в себя SUMPRODUCT(), SUBTOTAL() и OFFSET(). Больше информации здесь

Чтобы реализовать это в вашей ситуации, вы получите:

=SUMPRODUCT((B2:B6/COUNTIFS(A2:A6,A2:A6))*(SUBTOTAL(3,OFFSET(B2,ROW(B2:B6)-MIN(ROW(B2:B6)),0))))

Другой вариант будет (в вашем случае, если значения для каждого критерия одинаковы)

=SUMPRODUCT((A2:A6<>A3:A7)*(B2:B6)*(SUBTOTAL(3,OFFSET(B2,ROW(B2:B6)-MIN(ROW(B2:B6)),0))))

enter image description here

В моем примере я отфильтрую и A, и B

enter image description here

Формула для динамических диапазонов будет выглядеть так:

=SUMPRODUCT((B2:INDEX(B:B,COUNTA(B:B))/COUNTIFS(A2:INDEX(A:A,COUNTA(A:A)),A2:INDEX(A:A,COUNTA(A:A))))*(SUBTOTAL(3,OFFSET(B2,ROW(B2:INDEX(B:B,COUNTA(B:B)))-MIN(ROW(B2:INDEX(B:B,COUNTA(B:B)))),0))))
1 голос
/ 26 мая 2019

Итак, попробуйте это:

enter image description here

В раскрывающемся списке выбирается A или B, но вы можете это изменить.Формула:

=SUMIFS(B2:B6,A2:A6,D2)/COUNTIFS(A2:A6,D2)

Редактировать, основываясь на перечитывании вопроса, я думаю, что это может быть ближе:

enter image description here

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