在数组中查找date范围 – Excel

面临的挑战是:如果假期date($ F)介于(A2:B2,A3:B3等)之间,我想将假日名称($ G到相关的原因列$ D&计数$ H关联的$ C列)

例如:假期'17是10/15/17 5天,因为它在17年10月3日和17年10月16日将数据复制到$ C和$ D列…我怎么办那??

在这里输入图像说明

您可以使用这两个数组公式 (单击Ctrl + Shift + Enter一起):

cell C2

 =IFERROR(INDEX($H$2:$H$11,SMALL(IF((A2<=$F$2:$F$11)*(B2>=$F$2:$F$11)>0,ROW($F$2:$F$11)-ROW($F$1),""),1)),0) 

cell D2

 =IFERROR(INDEX($G$2:$G$11,SMALL(IF((A2<=$F$2:$F$11)*(B2>=$F$2:$F$11)>0,ROW($F$2:$F$11)-ROW($F$1),""),1)),"") 

这两个公式做的是find第一个匹配并返回值。

另外,我注意到你的C9 and D12结果与我的不同。 不知道什么是错的,但我猜这是由于你在这里发布的样本数据。 无论如何,请尝试让我知道。

把它放在C2中,并复制到D2,然后复制下来:

=IFERROR(INDEX(H$2:H$4, POWER(SQRT(MAX(IF($F$2:$F$4-$A2>=0, IF($F$2:$F$4-$B2<=0, ROW($F$2:$F$4)-ROW($F$1))))-1), 2)+1), "")

$ C应该具有在$ H中find的值,$ D应该具有在$ G中find的值

在这里输入图像说明