我目前手头有一份列出合同的电子表格。我需要知道一份合同是续签的、新产品的还是公司的新合同。我目前正在努力理解其背后的逻辑,如果能得到任何帮助,我将不胜感激!
由于报告软件没有询问各种类型的合同,因此我得到的信息比我想要的少。
除了起始日期和结束日期外,每个客户都有唯一的标识符,每个产品都有指定的名称,每个合同都有唯一的编号以及当前的“状态”。对于具有多个不同版本的合同,我还添加了“最新版本”列
样本:
CompanyNumber Product Contract Number Version Status Latest version? Valid From Valid To
12345 A 9876A-BA 1 Active Yes 1/1/14 31/12/15
我需要做的是为New Customer
、、New to product
和生成额外的“是/否”列Renewal
。
这样,我就可以更轻松地为这三列创建月度报告,只需在数据透视表中对它们进行过滤即可。
我已经出于其他原因生成了几个额外的列,如下所示
Start date in this month? - End Date In This Month - Expires in next three months? - More than one version? - Existing Client > 365 days - Latest version?
我目前对续约的逻辑是首先检查具有相同公司编号的另一个条目是否在去年有结束日期,然后检查合同的最新版本是否从本月开始并且是最新版本,就像这样
If
unique company number = no, find if any duplicate result ended in the last year
AND
Contract Starts this month AND this entry is the latest version
= True, "YES"
False = "NO"
我不知道该怎么做!任何帮助我都非常感谢。
非常感谢
编辑。
经过几天的尝试,我终于走到了这一步。我认为它有效,但我不是 100% 确定
我开始尝试将其作为 if 函数,嵌套 and、countif(唯一公司编号)>1、countif(产品)>1、当前和最新版本函数如下: =IF(AND(COUNTIF(B:B,B10)>1,COUNTIF(C:C,C10)>1,(S10="Yes"),AA10=1),1,0)
答案以 1 或 0 的形式出现,因此我可以轻松地在数据透视表中使用结果。
如果有人想到更好的答案请告诉我:) -
第二次编辑
那个没有用,所以我做了更多的研究,发现这个公式不太起作用。
我决定创建一个“辅助”列,以便我们可以计算每个公司编号的每个产品的实例,但它计算公司编号的每个实例,而不仅仅是交叉引用产品的实例。
=SUM(IF(C:C=C28,IF(B:B=B28,1,0),0))
C:C
我存储产品编号的列在哪里以及B
它是唯一的公司参考。
答案1
很多时候,我会使用连接来组合数据元素,然后使用数据透视表来计算组合数据元素出现的次数,或者您可以使用 count if。例如,如果您试图找出公司(公司编号)是否是某个产品的新成员,那么您可以使用公式创建一个辅助列,=Concatenate(Company Number, Product)
在您的示例中,该公式将为您提供值12345A
。然后,您可以使用countif
或数据透视表来查看 1) 该公司是否是该产品系列的新成员 2) 开始日期(有效期从)等。