Рассчитать, увеличивается или уменьшается позиция на основе нескольких критериев в таблице Excel - PullRequest
0 голосов
/ 29 июня 2018

У меня есть данные в Excel как:

Open or Close?  Fruit   Person  Quantity
Open            Apple   Ann     -21900
Open            Banana  Fred    -1500
Open            Banana  Martha  -300
Close           Banana  Fred     0
Open            Apple   Fred     700
Close           Apple   Ann      0
Open            Apple   Fred    -1000
Open            Banana  Ann     -11000
Open            Apple   Ann     -61000
Open            Banana  Martha  -81000

Мне нужно указать, является ли последняя транзакция, основанная на определенных критериях, «открытием» или «закрытием» позиции. Итак, если у Энн есть -700 бананов и продано еще 200 бананов, у нее сейчас -900 бананов, и она «открывает» позицию. Если у нее -700 бананов и куплено 200 бананов, у нее сейчас -500 бананов, и она «закрывает» позицию.

Мне нужно динамически заполнить «Открыть или закрыть?» колонка. Я заполнил это там, чтобы люди знали, каковы правильные ответы.

Код должен учитывать «Персона» и «Фрукт». Словом, я представляю, что функция будет чем-то вроде «Возьмите абсолютное значение значения« Количество »(назовем его величиной А). Найдите самую последнюю строку до сих пор, где« человек »и« фрукты » совпадение, и если абсолютное значение этого «количества» (количество b) больше, чем абсолютное значение количества А., ответ должен быть «открытым», а если нет, он должен быть закрыт.

1 Ответ

0 голосов
/ 29 июня 2018

Возвращает то, что вы хотите, с предоставленными вами данными:

=IFERROR(IF(INDEX(D:D,AGGREGATE(14,6,ROW($D$1:D1)/(($B$1:B1 = B2)*($C$1:C1 = C2)),1))<D2,"Close","Open"),"Open")

enter image description here

...