Excel formula 根据唯一标识符和有效日期范围查找值

Excel formula 根据唯一标识符和有效日期范围查找值,excel-formula,Excel Formula,我遇到了vlookup的一个局限性,但我对数组公式和索引等其他公式还不够熟悉,无法自己解决这个问题,希望您能帮助我。我有一个参考表,其中包含唯一的对象ID代码和附加到这些对象的数据,这些数据仅在特定日期有效 例如,这是我的参考表-每个对象(ID)都有一个唯一的标识符,该标识符具有代码、动物、颜色可能有效的多个日期(基于每行数据的开始日期): 也就是说,在本例中,对于对象ID“3”,代码为1007、颜色为绿色、动物为大象的数据行的有效期为2010年8月15日至2011年9月26日。2011年9月2

我遇到了vlookup的一个局限性,但我对数组公式和索引等其他公式还不够熟悉,无法自己解决这个问题,希望您能帮助我。我有一个参考表,其中包含唯一的对象ID代码和附加到这些对象的数据,这些数据仅在特定日期有效

例如,这是我的参考表-每个对象(ID)都有一个唯一的标识符,该标识符具有代码、动物、颜色可能有效的多个日期(基于每行数据的开始日期): 也就是说,在本例中,对于对象ID“3”,代码为1007、颜色为绿色、动物为大象的数据行的有效期为2010年8月15日至2011年9月26日。2011年9月27日,这只动物从大象变成了美洲虎

在另一个表中,我想根据唯一标识符和此行的有效日期查找代码、动物、颜色值。我已经在这里突出显示的列中手动填写了一些期望值,但我希望找到一个自动完成此操作的公式,因为此文件有10k行。。。 正如您在对象ID“1”的第一行中所看到的,由于2009年1月5日介于2005年1月1日和2013年4月21日之间,因此2009年1月5日对对象“1”有效的数据是2005年1月1日的数据,即-代码:1002,颜色:红色,动物:狗


我知道可以使用IF函数来查看日期是否在某个范围内,但我不确定如何通过对象ID来执行该操作,因为每个对象都有不同的有效日期范围

根据评论更新:

=INDEX($I$2:$I$13,MATCH(A2&MAX(IF(($H$2:$H$13<=B2)*($G$2:$G$13=A2),$H$2:$H$13)),$G$2:$G$13&$H$2:$H$13,0),1)

=INDEX($I$2:$I$13,MATCH(A2&MAX)(如果($H$2:$H$13感谢您的快速回复@Mister 832!我尝试了这个公式,它返回了结果,但结果似乎与行在中的有效日期无关,而只是选择了与查找ID匹配的最后一行?[link]()例如,以红色突出显示的行应该对应于自2004年5月10日以来ID 3的数据,即1007、紫色、大象的数据,但它从2014年4月12日起提取数据。其余的看起来是正确的,但也是因为它们的日期是对象的最后一行。如何更新?我忘了提到,这是我的公式您提供的参数:=索引(C2:C13,匹配(G7和最大值)(如果(A2:A13=G7,B2:B13)),A2:A13和B2:B13,0),1)抱歉响应太慢,直到最近才从该项目转移到其他地方。谢谢,这非常有用!非常感谢!!!