我已经有了预定约会的列表,并且希望能够显示7小时30分钟至5:00下午之间 2小时约会的所有可能的时间段。视觉并且能够通过黑客获得它,但是我只需要阅读下表就可以使它工作
预定的约会
|---------------------|-------------------|
| Start Date/Time | End Date/Time |
| 6/12/2019 7:30 AM | 6/12/2019 8:30 AM |
| 6/12/2019 8:45 AM | 6/12/2019 9:15 AM |
| 6/12/2019 3:00 PM | 6/12/2019 3:30 PM |
| 6/12/2019 3:45 PM | 6/12/2019 4:15 PM |
| 6/12/2019 4:15 PM | 6/12/2019 5:00 PM |
|---------------------|-------------------|
预期结果:
答案 0 :(得分:1)
直接获得该列表将需要VBA,这是可能的,但是StackOverflow并不是为您服务的写代码。如果您坚持使用代码,我们会为您提供帮助,但是您首先需要知道如何编码,并已开始。
也就是说,如果您接受一个稍微简单的解决方案,那么一个公式可以为您提供所需的结果:
=AND((ROUND(Appointments[Start],4)>=ROUND(A1+Length/24,4))+(ROUND(Appointments[End],4)<=ROUND(A1,4)),ROUND(A1-TRUNC(A1),4)<=ROUND((17-Length)/24,4))
然后针对每个时间段填写该公式,对于可用时间段,它将为TRUE。
对于每个可能的时隙,该公式将检查所有现有约会是否在该时隙或该时隙之前完成,或者在该时隙之后2个小时或更长时间开始。它还会检查在每天下午5点结束之前还有至少2个小时的时间。该公式通过更改“长度”单元格中的值来处理新约会所需的不同长度。
添加了ROUND函数,以消除分数/时间的浮点精度问题,这些问题在每次2次相同时并不总是能够正确识别。