具有多种条件的交易数据数组函数

时间:2019-07-08 11:04:51

标签: excel vba excel-formula excel-2010

我有一个带有客户/合同ID的表,其中包含交易。客户拥有至少一个合同(外壳)和至少一个合同项目(如果只有外壳合同->合同项目=外壳合同)。 “空壳合同”是“付费”或“免费”。

每个客户,合同和合同项目可以出现多次。例如,客户可以取消合同项目,之后取回取消合同,或创建新的合同项目等。

如前所述,客户始终具有“空壳合同”,并且在该“空壳合同”中没有,一个或几个其他合同。

现在我的问题是如何编写一个数组公式,该公式可以为每个客户提供其外壳合同是“付款”还是“免费”的合同。

在带有伪数据的表中,shell合同是带有“ contract_id” 1的合同。工作数组公式的结果将在“ pay or free for contract_id = 1”列中。

如您所见,只有包含合同ID 1的行与相应的结果相关。其他行可以忽略。

我已经尝试了不同的数组公式,但是它不能按应有的方式工作-.-文件中的所有其他列都是完全动态的,例如列合同状态,用于检查特定客户的最后transaction_date和特定的contract_id。只是最后一个公式不起作用。

从逻辑的角度来看,该公式的工作方式如下:

= 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

0 个答案:

没有答案