我有 5 个学生在本周有 2 个开始时间(4 个从上午 8 点开始,1 个从上午 11 点开始)。
目标:比较 的到达时间字段每个 STARTS AT 字段的学生,并计算所选日期内迟到的次数。计数出现在 NO OF LATENESS DURING THE WEEK 字段中。
Master
表 master sheetStudent DATE Arrival time
Paul 2017-08-22 08:10:21
Paul 2017-08-23 08:11:52
Paul 2017-08-24 13:17:06
Lola 2017-08-22 08:04:50
Emilie 2017-08-22 08:27:54
Emilie 2017-08-23 08:50:33
Coco 2017-08-22 07:41:24
Coco 2017-08-23 07:47:17
Coco 2017-08-24 07:46:45
Jack 2017-08-22 10:00:38
Jack 2017-08-23 11:07:42
Jack 2017-08-24 11:00:27
enter image description here
Planning_and_lateness tracker
床单[计划和迟到跟踪表][3] OP 中未提供引用
Staff Starts at No. of lateness during the week
Paul 08:00:00
Lola 08:00:00
Emilie 08:00:00
Coco 08:00:00
Jack 11:00:00
计数应出现在
No. of lateness during the week
中 field 。我想要它的 VBA 代码。我迷失在海上。
最佳答案
我不明白你为什么要为此使用 VBA。在我看来,Excel 已经足够好了。这是我的建议。在第一张表的主数据中添加 3 列。
正确时间 ||周数 ||晚的?
正确时间:
=IF(B7="Jack";TIME(11;0;0);TIME(8;0;0))
周数:
=WEEKNUM(C7)
晚的?
=D7>E7
在第二张表上,只有一个包含此数据的数据透视表。周数应该在列中,迟到应该在报告过滤器中(在过滤器中选择了 Late=TRUE),学生应该在行标签中,值也应该包含学生编号(学生编号计数)
如果需要,您可以使用偏移函数将数据透视表设置为具有动态源,或者您可以在需要计算时更新数据透视表的源。
关于excel - VBA Excel_比较和计数: Compare cells from two sheets and make a count for lateness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45881331/