如何在Excel格式的考勤表中按人名取当日最早值和最晚值?

左边的表格是打卡的记录,因为有人重复打卡,所以要取打卡的最早值和最晚值。
我想按照打卡ID和日期,分别把取到的最早值和最晚值放在右边的表格那里。其中G3取当日的最早值,G4取当日的最晚值。

G3=MIN(IF(($A$2:$A$12=F3)*($C$2:$C$12=G$2)*$D$2:$D$12>0,$D$2:$D$12,9^9))

G4=MAX(($A$2:$A$12=F3)*($C$2:$C$12=G$2)*$D$2:$D$12)

数组公式三键结束

取值范围自己修改一下,公式可以下拉右拉

追问

我按照你的方法设置,结果显示的结果是“#####”
鼠标停在相应的单元格,提示“将为负值或太大的日期和时间显示为#####”

难道我设置的格式出错了?

追答

截个图,我看看,连你填的公式发一下,
是三键结束输入的么?按Ctrl+Shift+Enter组合键结束
出现######这种情况可能是你的表格里没有值

追问

是按按Ctrl+Shift+Enter组合键结束的

追答

表格太窄了吧,拉宽一点试试

追问

拉宽了还是不行,要不你给你的邮箱我,我发给你看看

追答

要么就是格式问题,你发吧五二〇〇九六六六二

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-31
在G3单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向右填充公式
=MIN(IF(($A:$A=$F3)*($C:$C=G$2),$D:$D))
在G4单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向右填充公式
=MAX(IF(($A:$A=$F3)*($C:$C=G$2),$D:$D))追问

我用你给的答案复制过去,显示的结果是00:00

难道我的格式设置错误了?

追答

数组公式,按Ctrl+Shift+Enter组合键结束

追问

我按了啊 还是不行

按了后G3的显示内容如下:

本回答被网友采纳
第2个回答  2015-07-31
G3输入公式:
=IF(MOD(ROW(),2),MAX(IF(($A$2:$A$1000=LOOKUP(9^9,$F$1:$F3))*($C$2:$C$1000=G$2),$D$2:$D$1000)),MIN(IF(($A$2:$A$1000=LOOKUP(9^9,$F$1:$F3))*($C$2:$C$1000=G$2),$D$2:$D$1000)))
公式以CTRL+SHIFT+ENTER三键结束。
将公式向右向下复制。
第3个回答  2019-12-05
从后面的时间点进行排序,很快就可以完成,通常在网上搜一下快捷键就可以实现。
第4个回答  2015-07-31
用Match和Index函数组合使用就能得到你要的效果,Match函数能在后面显示升序还是降序。