2016-11-25 57 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))