Условное вычитание строки в таблице - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть таблица mx 4, состоящая из продаж с начала года по продуктам в месяц по подразделениям от A до D. Я хотел бы добавить столбец, который рассчитывает ежемесячные продажи по продуктам в месяц по подразделениям.

Не может быть двух строк, в которых месяц, раздел и продукт совпадают, поэтому каждая строка уникальна.

Я пытался использовать SUMIFS для индексации значения, но часть, которая вызывает у меня проблемы, заключается в том, что продукт может появиться в середине года, и продукт может иметь продажи в течение 3 месяцев, а затем не иметь продаж в течение 2 месяцев, прежде чем снова появиться.

Добавление нескольких «вспомогательных» столбцов - это нормально. Я не могу использовать VBA для этой конкретной задачи.

Заранее спасибо! enter image description here

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Поскольку продажи осуществляются с начала года, вы хотите только вычесть самую последнюю совпадающую сумму из текущей суммы. Один из способов найти самую последнюю подходящую сумму - использовать функцию «Большой» для «Агрегат», чтобы получить номер строки последней соответствующей строки:

=D2-IFERROR(INDEX(D:D,AGGREGATE(14,6,ROW(D$1:D1)/((B$1:B1=B2)*(C$1:C1=C2)),1)),0)

enter image description here

0 голосов
/ 20 февраля 2020

Можно использовать следующую формулу массива:

{=D2-SUMPRODUCT(IFERROR((B2=$B$1:B1)*(C2=$C$1:C1)*($E$1:E1);0))}

Формула массива после редактирования подтверждается нажатием ctrl + shift + enter

Заменить точку с запятой в формуле при необходимости.

enter image description here

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