如果数字大于一个数字,我如何只计算最新值?

我有3列:

ID Date Value 100 1/1/17 2 200 1/2/17 3 100 2/1/17 1 

如果最近date的值大于或等于2,我需要一个公式来计算

上例中的结果是:

 ID Count 100 0 200 1 

因为在1/1/17时值是2,所以在2/1/17后面的值是1所以0。

假设您的示例中的值在AC列中,请在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的最大date。 我假设这是你最近的date。 那个最大date正在和这个产品一起使用。 sumproduct执行逐行检查以查看各种逻辑检查是否为真(值为1)或为假(值为0)。 *操作符在sumproduct中performance得像AND语句。 因此,只有与ID号码匹配且具有该ID的最大date并且在第三列中具有值2或更大的值的行是真实的。 当真乘以true时,得到的值为1.当乘以真假或假乘虚假时,得到0.总结最后一步是将1和0相加以给出你的计数。

使用的公式:

  • SUMPRODUCT
  • 骨料