Excel – 在数组列表中查找date

如果E2中的date是某人作为年假的date,那么我需要在单元格E3中input文本'AL'。

单元格A3:B11列出了某人作为年假的开始date和结束date。 见下文。

在这里输入图像说明

我需要一种检查date是否在(包括)这两个date的数组之间的方法,对于单元格A3:B11中的每个date。

注意:单元格A5有一天有人拿了年假,只需要一个开始date。

编辑:我可以使用以下algorithm的第一行(A3:B3)

=IF(SUMPRODUCT((ROW(INDIRECT(A3&":"&B3))=E3)*1)=1,"AL","") 

我仍然坚持申请所有可能的行

使用您的示例工作表,在单元格E3中使用公式

= IF(AND($ E $ 2> = A3,$ E $ 2 <= B3), “AL”, “ – ”)

然后,您可以根据需要将其应用到多行。 如果你需要将它拖到右边,跨列,那么一定要切换单元格引用(即在单元格F2,G2,H2等中使用(= IF(AND A3,$ F $ 2 <= B3), “AL”, “ – ”)

这种方法唯一的问题是,你只需要填写结束date叶只持续一天。 因此,只需将2017年7月7日复制到B列即可

PS如果你的意思是“arrays”在官方的Excelarrays公式意义上,那么解决scheme是不同的。

我相信在Hoejanson的帮助下我find了一个解决scheme。

 =IF(SUMPRODUCT(((A3:A11<=E3)*1),((B3:B11>=E3)*1))=1,"AL","") 

这将意味着确保开始date和结束date在只有一天的时间内完成,所以B5单元将不得不等于07/07/2018才能运行。

编辑:find一种方法,只允许添加开始列中的date。

 =IF(SUMPRODUCT((A3:A11<=E3*B3:B11>=E3)+(A3:A11=E3*B3:B11=""))=1,"AL","") 

这就是说,如果A列的date小于E3的值,而C列的date大于评估的真或假。 那么+意思是“OR”,其中列A的date等于E3,列C中的对应行是空的。 希望这有助于任何人search类似的答案。