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

时间:2017-08-02 17:23:07

标签: excel excel-formula

我有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。

1 个答案:

答案 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相加以给出计数。

使用的公式:

  • SUMPRODUCT
  • AGGREGATE