2016-11-25 89 views
0

我會感激你的幫助創建下面的Excel公式。我有兩張表:資產和交易。EXCEL:從行返回值,其中ID匹配和日期是最新的

資產片,每個資產具有唯一的ID。它看起來像這樣:

A  C  ... H 
------------------------ 
ID ASSET  WHERE 
1  ntbk  [formula] 
2  tablet  [formula] 
3  headset [formula] 

TRANS張有每個資產交易的記錄。但是,每個資產都有多個交易記錄。

A   E   G 
-------------------------------- 
AssetID TransDate Where 
    1  20161101  storage 
    3  20161103  Johnny B. Good 
    1  20161106  Joe Smith 

我要確定[配方〕這會從TRANS片塔E返回值,其中ID匹配和日期是最新的。基本上,我需要知道資產是現在。到目前爲止,我還沒有成功。我會很感激你的幫助。

謝謝:)

回答

1

使用此數組公式:

=INDEX(TRANS!$E$2:$E$1000,MAX(IF(TRANS!$A$2:$A$1000=B2,ROW(TRANS!$C$2:$C$1000)-ROW(INDEX(TRANS!$C$2:$C$1000,1,1))+1))) 

穿上它,按CTRL + SHIFT + ENTER 向下填充

+0

感謝您的投入。但是,該公式無法正常工作。它顯示從TRANS表的最新記錄值,而不是從最近日期的行值:/ – phaphaya

0

任何有興趣,這我是如何解決它使用簡單的公式:

TRANS片組合每個操作的ID和日期創建新的隱藏柱:

=IF(A2="";"";"id" & A2 & "date" & E2) 

然後,我在資產片創建了兩個隱藏的列。 列F查找最近的日期爲ITEMID:

=IF(A2="";"";"id" & A2 & "date" & F2) 

最後,我能夠使用VLOOKUP爲[公式:

{=IF(A2="";"";MAX(IF(trans!$A$2:$A$1000=assets!A2;trans!$E$2:$E$1000)))} 

G列到ITEMID和相應的最近期的日期相結合]我一直在尋找告訴我在哪裏,現在是項目:

=IF(A42="";"";VLOOKUP(G42;trans!$B$2:$G$1000;6;FALSE))