Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel中的特定日期和时间范围_Excel_Excel Formula - Fatal编程技术网

Excel中的特定日期和时间范围

Excel中的特定日期和时间范围,excel,excel-formula,Excel,Excel Formula,我每天从早上8点到晚上8点每小时有12个活动 我在Excel电子表格中有两列:“日期和时间”和“说明” 我需要为格式中“日期和时间”列的每个单元格添加日期和时间戳 16/11/2011 08:00 所以前12个细胞看起来是这样的: 16/11/2011 08:00 16/11/2011 09:00 16/11/2011 10:00 16/11/2011 11:00 16/11/2011 12:00 16/11/2011 13:00 16/11/2011 14:00 16/11/2011 15:

我每天从早上8点到晚上8点每小时有12个活动

我在Excel电子表格中有两列:“日期和时间”和“说明”

我需要为格式中“日期和时间”列的每个单元格添加日期和时间戳

16/11/2011 08:00
所以前12个细胞看起来是这样的:

16/11/2011 08:00
16/11/2011 09:00
16/11/2011 10:00
16/11/2011 11:00
16/11/2011 12:00
16/11/2011 13:00
16/11/2011 14:00
16/11/2011 15:00
16/11/2011 16:00
16/11/2011 17:00
16/11/2011 18:00
16/11/2011 19:00
16/11/2011 20:00
第二天就要到了:

17/11/2011 08:00
17/11/2011 09:00
17/11/2011 10:00
17/11/2011 11:00
17/11/2011 12:00
17/11/2011 13:00
17/11/2011 14:00
17/11/2011 15:00
17/11/2011 16:00
17/11/2011 17:00
17/11/2011 18:00
17/11/2011 19:00
17/11/2011 20:00

有没有办法让我在几个月内自动填写该列?

将您的第一个日期放入单元格
A1

16/11/2011 08:00
在单元格
A2
及以下,添加公式:

=A1+TIME(IF(HOUR(A1)=20,12,1),0,0)
然后把你的公式拖到你需要的地方

[编辑]稍微解释一下公式:为了保持公式非常简单,它非常具体。
意味深长地说,

  • 公式从上一个日期开始
    A1+
  • 然后,它会添加一些小时(使用
    TIME
    函数),但不会添加分钟或秒(
    0,0)
    ,即参见公式的结尾
  • 要选择要添加的小时数,它会检查上一个日期小时是否为
    8pm
    (即
    hour(A1)=20
    )。
    • 如果是这样,它将添加
      12
      小时,以便新日期为第二天上午
      8am
    • 如果不是,则只添加
      1
      小时(下一个事件)
[编辑2]跳过周末的新公式(它检查上一个日期是否是星期五(
WEEKDAY=6
),小时是否是晚上8点(
hour(A1)=20
)。如果是这样,它会增加两天(只需添加
2
,因为Excel中的日期存储为序列号,单位为天)


你的问题不是很清楚:只有一次(我建议使用复制粘贴,这样做比写问题更快)所以我想你需要用某种宏来重复它?我每天有12个事件,所以一年有4380个事件。这很难复制/粘贴每个事件的日期和时间。是的,我需要重复。你有任何编程技能吗。如果有,用C#编写一个小程序来创建一个CSV文件并在Ex中导入cel.不会有太多工作。我认为你的解决方案接近完美,但它会给我语法错误。对不起,当我国际化我的公式时,我留下了一些分号
。英文版的Excel使用的是coma
。我已经编辑了我的答案。请你解释一下公式好吗?20,12,1实际上是什么意思?如果我想要两个小时的休息时间?这是一个很好的解释。有没有办法在公式中跳过周末?你真是太棒了!非常感谢你为我节省了几个小时的时间。
=A1+TIME(IF(HOUR(A1)=20,12,1),0,0) + IF(AND(HOUR(A1)=20,WEEKDAY(A1)=6),2,0)