excel 查找小于给定登录的给定时间的最长时间

excel lookup the maximum time that is less than a given time for a given login

login   data    time                    2:02:05PM
F   0.705280578   2:01:54 PM        A   
F   0.43345391    2:01:57 PM        B   
B   0.808904475   2:02:00 PM        C   
D   0.850244432   2:02:02 PM        D   
A   0.22279737    2:02:04 PM        E   
A   0.292236263   2:02:03 PM        F   
C   0.570515322   2:02:14 PM            
D   0.628746705   2:02:15 PM            
E   0.786526527   2:02:15 PM            
C   0.448511746   2:02:18 PM            
B   0.67269431    2:02:19 PM            
E   0.315507414   2:02:22 PM    

我正在寻找每个字母小于 2:02:05PM 的最长时间。所以我需要公式为 A 提供 2:02:04PM,因为这是小于 2:02:05PM 的 A 的最大值。查看图片以清楚地理解问题。该公式将进入 F2:F7.

您需要确保 F1 中的值实际上是一个时间,而不仅仅是看起来像时间的文本。在您提供的示例数据和屏幕截图中, F1 中的值是看起来像时间的文本。在时间值和 PM 之间放置一个 space 以更正它。

然后,在单元格 F2 中使用此公式并向下复制:

=IF(COUNTIFS($A:$A,$E2,$C:$C,"<"&$F)=0,"N/A",MAX(INDEX(($A:$A=$E2)*($C:$C<$F)*$C:$C,)))

当然,请根据您的实际数据调整范围。

如果"login"在A1中,将其输入F2并填写:

=IFERROR(1/(1/MAX(INDEX(($A:$A=E2)*($C:$C<$F)*$C:$C,))),"No login before "&TEXT($F,"h:mm:ss AM/PM"))