EXCEL:从id匹配的行返回值,date是最新的

我将不胜感激您的帮助创build以下EXCEL公式。 我有两张纸:资产和交易。

在“ 资产”表中 ,每个资产都有一个唯一的ID。 它看起来像这样:

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

TRANS表中有每个资产的交易logging。 但是,每个资产都有多个交易logging。

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

我需要确定将返回从TRANS表单列E的值,其中ID匹配和date是最新的[公式] 。 基本上,我需要知道资产现在在哪里。 到目前为止,我还没有成功。 我会很感激你的帮助。

谢谢 :)

使用这个数组公式:

 =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并填写

对于任何有兴趣的人来说,我都是这样用简单的公式来解决它的

TRANS工作表中创build新的隐藏列,将每个操作的ID和date组合在一起:

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

然后,我在ASSETS表中创build了两个隐藏的列。 F列finditemID的最近date:

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

G列组合itemID和相应的最近date:

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

最后,我能够使用[公式] VLOOKUP我正在寻找告诉我现在在哪里的项目:

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