Sumproduct - подсчет равных пар чисел (и их фильтрация) - PullRequest
1 голос
/ 09 января 2020

В столбцах D & E у меня есть список очков за игру, где D - это очки за, а E - это очки против, вот так

D    E
1    3
4    2
3    3
3    1

Я пытаюсь создать формулу, которая отображает выигрыш Запись / draw / loss, основанная на том, больше или меньше столбец D, равен или меньше столбца E. В этом примере будет отображаться 2 / 1 / 1.

Пока у меня есть

=(SUMPRODUCT(--(D12:D200>E12:E200)))&" / "&SUMPRODUCT(--(D12:D200=E12:E200))&" / "&(SUMPRODUCT(--(D12:D200<E12:E200)))

Но есть две проблемы. Во-первых, все пустые строки считаются равными, поэтому результат получается как 2 / 186 / 1.

Во-вторых, в другом столбце у меня есть список дней недели, и я бы хотел бы иметь возможность отфильтровывать строки по дням и иметь результаты отражать это. У меня есть разные формулы, использующие SUBTOTAL вместо SUM для подсчета общего количества баллов, что работает отлично. Но я не знаю, какое эквивалентное изменение мне нужно сделать для моей формулы. Любая помощь будет оценена.

1 Ответ

1 голос
/ 09 января 2020

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

=SUMPRODUCT(ISNUMBER(D12:D200)*(--(D12:D200=E12:E200)))

enter image description here

Второй вопрос касается фильтрации строк по дням недели. Вот вид до применения фильтра «День» - как вы можете видеть, у нас есть 5 побед (синий), 4 др aws (оранжевый) и 3 поражения (зеленый).

enter image description here

Вам нужно использовать следующую формулу, чтобы сделать SUMPRODUCT dynamici c (то есть она будет реагировать на фильтрацию строк):

=SUMPRODUCT(SUBTOTAL(3,OFFSET(F12:F200,ROW(F12:F200)-ROW(F12),,1)),--(D12:D200>E12:E200))&" / "&SUMPRODUCT(SUBTOTAL(3,OFFSET(F12:F200,ROW(F12:F200)-ROW(F12),,1)),ISNUMBER(D12:D200)*(--(D12:D200=E12:E200)))&" / "&SUMPRODUCT(SUBTOTAL(3,OFFSET(F12:F200,ROW(F12:F200)-ROW(F12),,1)),--(D12:D200<E12:E200))

Вот результат только для Понедельник:

enter image description here

...