根据Excel中的时间列更改日期列

时间:2012-07-20 08:11:29

标签: excel vba date time excel-vba

我的Excel宏一直处于问题状态,但我无法在任何地方找到解决方案。我想要做的是如下所述:

我有一张Excel表格,其中包含当月电视频道的EPG信息。 一列包括电视节目/活动的名称。在它旁边,另一列包括每个电视节目的相应开始时间(例如13:15)和第三列,其包括每个事件的相应日期(20/07/2012)。

问题是,00:00之后的一天不会改变,但它会在早上06:00改变。我想要一个搜索整个时间列的宏,找到00:00 06:00之间的任何时间并转到相应的日期单元格并更改日期(添加一天)。这有可能,怎么样?

1 个答案:

答案 0 :(得分:3)

您不需要VBA。在日期列之后插入一列。我现在假设您的时间在B列,而您的日期在C列。现在在您的新列D中放置公式

=IF(AND(B1 >= 00:00 and B1 < 06:00), C1 + 1, C1)

然后,如果您愿意,可以隐藏C列。并将D列的数字格式更改为日期。我不是100%肯定比较时间的语法,即A1 >= 00:00但是根据这个帖子:http://www.excelbanter.com/showthread.php?t=212849它应该是

=IF(AND(B1 >= TIME(0,0,0) and B1 < TIME(6,0,0), C1 + 1, C1)