日期范围内的VLOOKUP日期
是否有更简单的方法来完成此任务?日期范围内的VLOOKUP日期
我想查看列表中的值和日期,并返回日期,如果它匹配或在原始日期的5天内。
到目前为止,我能做到这一点的唯一方法是创建一个助手键(A1)并在助手键列表(F:F)中查找助手键,并将IFERROR添加到再看一遍,但加1,依此类推。
实施例:
A B C D
1 table1_ky table1_id table1_dt vlookup
2 99941275 999 1/1/2013 1/3/2013
G H I
1 table2_ky table2_id table2_dt
2 99941277 999 1/3/2013
式在D2:
= IFERROR(VLOOKUP(TEXT(A2,0),F:H,3,0),IFERROR(VLOOKUP(TEXT( A2 + 1,0),F:H,3,0),IFERROR(VLOOKUP(TEXT(A2 + 2,0),F:H,3,0),“否”)))
我希望能够使“+1”的数量变化,因此我可以将日期范围更改为5,10,30等,而不必使用多达30条IFERROR语句。
在Excel中是否有一个函数可以做这样的事情?
我想尽量避免使用VBA。
你可以使用一个查找公式这样
=IFERROR(LOOKUP(2,1/(G$2:G$100=B2)/(H$2:H$100>=C2)/(H$2:H$100<=C2+5),H$2:H$100),"no")
这会发现在H2的最后日期:H100是C2和C2 + 5并在列G值也匹配之间 - 不需要任何“串联”的帮助列,您可以将5调整为您想要的任何值。
通过“最后”我的意思是在位置上 - 如果你想在多场比赛的情况下(这是您当前的公式做什么)的最早日期,然后切换到“数组公式”是这样的:
=IFERROR(SMALL(IF((G$2:G$100=B2)*(H$2:H$100>=C2)*(H$2:H$100<=C2+5),H$2:H$100),1),"no")
与CTRL + SHIFT 证实 + ENTER
谢谢巴尔Y!这工作得很好。我测试了不同的日期和变量,它是成功的。现在来分析一下它,看看它是如何工作的:) – amalyze 2013-03-21 23:06:22
......是您在升序/数据日期或降序 “随机” – 2013-03-21 22:02:41