Функция массива с несколькими условиями для данных транзакции - PullRequest
0 голосов
/ 08 июля 2019

У меня есть таблица с идентификаторами клиента / контракта, которая содержит транзакции.У клиента есть как минимум один контракт (оболочка) и как минимум одна позиция контракта (если только контракт оболочки -> позиция контракта = контракт оболочки).«Контракт оболочки» является либо «платным», либо «бесплатным».

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

Как упоминалось ранее, у клиента всегда есть «контракт оболочки» и в рамках этого «контракта оболочки»нет, один или несколько дополнительных контрактов.

Мой вопрос теперь состоит в том, как мне написать формулу массива, которая дает мне для каждого клиента, является ли его контракт оболочки "платным" или "бесплатным".

В таблице с фиктивнойданные оболочки заключают контракт с "contract_id" 1. Результат формулы рабочего массива будет находиться в столбце "pay or free for contract_id = 1".

Поскольку вы можете видеть только те строки, которые включаютИД контракта 1 имеют отношение к соответствующему результату.Остальные строки можно игнорировать.

Я уже пробовал разные формулы массива, но он просто не будет работать так, как должен -.- Все остальные столбцы в файле полностью динамические, например, статус контракта столбца, которыйпроверяет последнюю дату транзакции для конкретного клиента и конкретного контракта.Только последняя формула не сработает.

С логической точки зрения формула будет работать примерно так:

= if customer_id="xyz",
 for each contract_id=1,
 check if contract status="active" or "in cancellation",
 "pay",
 otherwise "free".

pay of free for contract_id=1 customer_id contract_id contract status
pay                           xyz         1           active
pay                           xyz         2           cancelled
pay                           xyz         1           active
pay                           xyz         3           in cancellation
...