Excel:查找每行最接近(参考)的日期

Excel:查找每行最接近(参考)的日期

我不是 Excel 专家(远远不是),而且我一直在努力寻找以下问题的解决方案。我有一张表格,其中表示每个员工(B)的预定轮班日期(A),我正在尝试想出一个公式,其结果应该是(对于每一行)该员工在给定参考日期(F1)之后的下一个轮班。

我已经尝试(在网上找到)使用LARGE+ COUNTIF(下面的公式),但结果是每行的日期相同,而我想为每个员工找到“下一个日期”>参考日期(F1):

在此处输入图片描述

C 列中公式如下:

=IFERROR(LARGE($A$2:$A$12;COUNTIF($A$2:$A$12;">"&$F$1));"").

D 列是我想要获得的结果。

答案1

如果您FILTER列出员工列与当前行中的员工相匹配的行的日期列表,并且班次列中的日期大于参考日期,那么您将获得该员工的所有班次的列表,其中日期在参考日之后。“下一个”班次只是该列表中的最小日期。

因此,你可以使用这个:

=MIN(FILTER([Shift],([Emp]=[@Emp])*([Shift]>$F$2)))

在此处输入图片描述

答案2

不确定这是否是最好的解决方案,但您可以使用数组公式(使用Ctrl++输入,而不是常规的)Shift来完成:EnterEnter

=INDEX($A$2:$A$8,MATCH(1,($B$2:$B$8=B2)*($A$2:$A$8>TODAY()),0))

在此处输入图片描述


如果您的参考日期是F1

=INDEX($A$2:$A$8,MATCH(1,($B$2:$B$8=B2)*($A$2:$A$8>$F$1),0))

在此处输入图片描述

相关内容