2017-08-02 41 views
1

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

哪裏是你的數據,是日期排序,也可以是,能有多個'Values'爲同一'ID'和'日期'? – pnuts

+0

是的,我保持簡單,但因爲我用SQL來拉它,所以我可以通過ID命令日期。是的,對於相同的ID和多個日期可以有多個值。我只想看看最近的日期是否有大於X的值 – Phil

回答

2

假設您的值在考試中的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的最大日期正在確定。我假設這是你最近的日期。那個最大日期正在與產品一起使用。 sumproduct逐行執行檢查以查看各種邏輯檢查是否爲真(值爲1)或假(值爲0)。 *操作符在sumproduct中的行爲類似於AND語句。因此,只有與ID號相匹配且具有該ID的最大日期並且第三列中值爲2或更多的行才爲真。當將true與真相乘時,您得到的值爲1.當乘以true或false乘以false時,得到0. Sumproducts的最後一步是對1和0進行求和以給出您的計數。使用

公式:

  • SUMPRODUCT
  • 骨料
+0

太棒了!我通過測試運行它,它似乎很好。非常感謝! – Phil

相關問題