Суммы с критериями перемещения - PullRequest
0 голосов
/ 15 января 2019

Мой лист Excel выглядит примерно так:

Рабочий лист:

enter image description here

Что я хотел бы сделать, так это сложить все значения Боба X1, которые больше, чем значения X2, X3 и X4 в их соответствующей строке. Таким образом, в этом случае 5 + 14 + 15 = 34, так как другие значения X1 Боба (1, 6, -5 и 0) меньше значений X2, X3 или X4 в одной строке с ними.

Я пробовал это:

=SUMIFS(B2:B11,A2:A11,"Bob",B2:B11,MAX(B2:E2))

Но это просто примет значение X1 в каждой строке, и вместо того, чтобы сравнивать его со значениями X2-4 в его строке, он, конечно, будет сравнивать его со значениями X2-4 в первой строке, что не является что я хочу. Я также попробовал некоторые другие формулы, используя массивы и OFFSET, но я никоим образом не смог "синхронизировать" значение X1 с соответствующей строкой.

Есть ли способ сделать это?

Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Это похоже на работу

= СУММ (ЕСЛИ (А2: А11 = "Боб", ЕСЛИ (В2: В11> = С2: С11, ЕСЛИ (В2: В11> = D2: D11, ЕСЛИ (В2: В11> = Е2: Е11, В2 : B11)))))

Введите в качестве формулы массива, используя CTRL, SHIFT и ENTER. Вокруг формулы появятся фигурные скобки.

enter image description here

0 голосов
/ 15 января 2019

Почему все так стремятся использовать формулы массивов? Вот решение, которое их избегает:

=SUMPRODUCT($B$2:$B$11*($A$2:$A$11="Bob")*($B$2:$B$11>$C$2:$C$11)*($B$2:$B$11>$D$2:$D$11)*($B$2:$B$11>$E$2:$E$11))

Просто умножьте диапазон, который вы хотите суммировать, по каждому из ваших критериев в пределах SUMPRODUCT.

enter image description here

0 голосов
/ 15 января 2019

Это должно работать с формулой массива (CTRL + SHIFT + RETURN).

{=SUM(IF(A2:A11="Bob",1,0)*IF(C2:C11<B2:B11,1,0)*IF(D2:D11<B2:B11,1,0)*IF(E2:E11<B2:B11,1,0)*B2:B11)}

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

...