расширяемая формула Excel для условных сумм по нескольким столбцам - PullRequest
2 голосов
/ 20 сентября 2019

У меня есть произвольное количество столбцов, по одному на каждый период, в котором предлагается курс, в хронологическом порядке, и произвольное количество строк, по одному на каждого уникального участника.Значения «1» для участия в этом месяце, «0» для неучастия.

Fall2019  Spring2019  Fall2018  Spring2018  Fall2017
1  1  0  1  0
0  1  1  1  1
0  1  1  1  1
0  1  1  1  1
0  1  0  1  1
0  1  1  0  0
0  1  1  0  0
0  1  1  0  0
1  0  0  0  0

Я хотел бы взять сумму в нижней части каждого столбца, сколько участников было первымвремя посещает этот период, то есть сумма «1», где все значения в строке справа от «1» равны «0».В данном наборе примеров значение Spring2018 должно равняться 1, значение Fall2018 должно равняться 3.

Нечто подобное приведенной ниже формуле будет работать для «Spring2018», если для сравнения есть только один предыдущий столбец:

=SUMPRODUCT((D2:D9)*(E2:E9=0))

Но эта формула не может быть «автозаполнена» или расширена на несколько столбцов ... т.е. ни один из этих вариантов не работает:

=SUMPRODUCT((C2:C9)*(D2:$E9=0))
=SUMPRODUCT((C2:C9)*(SUM(D2:$E9)=0))
=SUMPRODUCT((C2:C9)*(SUMIF(D2:$E9,"0")))

И хотя она будет работать, я НЕ хочу, чтобы пришлось вручнуюсоздать расширенные версии этой формулы, например

=SUMPRODUCT((C2:C9)*(D2:D9+E2:E9=0))
=SUMPRODUCT((B2:B9)*(C2:C9+D2:D9+E2:E9=0))
... and so on

Я пробовал несколько вариантов формул массива, sumproduct и sumif, но я действительно застрял.Любая помощь приветствуется.

1 Ответ

2 голосов
/ 20 сентября 2019

используйте эту формулу массива:

=SUM(A2:A10*(MMULT(--(B$2:$E$10=1),TRANSPOSE(COLUMN(B$2:$E$10)^0))=0))

Будучи формулой массива, она должна быть подтверждена Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here

...