我有3列:
ID Date Value
100 1/1/17 2
200 1/2/17 3
100 2/1/17 1
如果最新日期的值大于或等于2
,我需要一个公式来计算上例中的结果是:
ID Count
100 0
200 1
因为在2017年1月1日,当值为2时,2/1/17的后一个值为1,所以为0。
答案 0 :(得分:1)
假设您的值位于示例中的A-C列中,请在D列中生成唯一ID列表。假设您的第一个唯一ID位于D1中,请将以下公式放在空白单元格中并复制下来。
=SUMPRODUCT((D1=A:A)*(AGGREGATE(14,6,(D1=A:A)*B:B,1)=B:B)*(C:C>=2))
sumproduct和aggregate都是在其()内执行数组操作的函数。使用聚合函数,将确定ID的最大日期。我假设这是你最新约会的意思。然后该最大日期与sumproduct一起使用。 sumproduct正在逐行检查以查看各种逻辑检查是否为真(值为1)或为假(值为0)。 *运算符的行为类似于sumproduct中的AND语句。因此,只有与ID号AND匹配且具有该ID的最大日期且第三列中的值为2或更多的行才为真。当将true乘以true时,得到的值为1.将true乘以false或将false乘以false得到0.副产品的最后一步是将1和0相加以给出计数。
使用的公式: