为A列中的每个日期填写B列中的时间范围

时间:2013-07-25 12:05:55

标签: excel-vba excel-formula vba excel

我需要在excel中生成这样的东西。对于“日期”列中的每个日期,我需要在13:00到22:00之间填充时间间隔为15分钟。注意:D列中的日期不是连续的。它们必须从可以驻留在另一列/工作表中的列表中获取。 任何帮助都表示赞赏。

Date, Time
1 apr-2013, 13:00
1-apr-2013, 13:15
..
..
..
1-apr-2013, 22:00
2-apr-2013, 13:00
..
2-apr-2013, 22:00
8-apr-2013, 13:00
.
8-apr-2013, 22:00

2 个答案:

答案 0 :(得分:0)

此公式可能适合您。它将检查前一行中的日期是否等于当前行中的日期;如果不是,则将时间设置为开始时间(13:00)。如果是,那么它会在当前行上方增加15分钟。

=IF(A2<>A1,TIME(13,0,0),B1+TIME(0,15,0))

此公式可以放在所有日期旁边(时间列中)

答案 1 :(得分:0)

您可以在VBA中使用DateAdd功能。 http://www.techonthenet.com/excel/formulas/dateadd.php

例如,这会将单元格A1中的日期复制到A2并向其添加15分钟

Range("A2") = DateAdd("n", 15, Range("A1"))