因为时间都是用序列编号来表示的,所以可以用晚一些的时间减去早一些的时间,从而得到它们的差。例如,如果单元格A2包含5:30:00,单元格B2包含14:00:00,下面的公式返回结果08:30:00(一个8小时又30分的差):
=B2-A2
如果相减的结果是负数,这是一个无效时间。Excel显示一组#字号(######),因为这个没有日期的时间的日期系列编号为0。负的时间由负的系列编号产生,这是不允许的。
如果不考虑时间差方向,
可以使用ABS函数返回一个差的绝对值:Excel提示“不能更改数组的某一部分”是怎么回事?
问:当删除某个单元格中的公式或修改公式后按回车键,Excel提示“不能更改数组的某一部分”是怎么回事? 答:该单元格中的公式为数组公式,并且是多单元格数组公式,即该数组公式为位于多个单元格中的数组公式。如果要修改多单元格数组公式,可以先对某个单元格中的数组公式进行修改,修改完毕后不能直接按回车
=ABS(B2-A2)
这种“负时间”问题在计算累计时间时经常会出现,例如,计算在规定的开始和结束时间内的工作小时数。如果两个时间都在同一日,不会有问题。但是如果工作交接是在午夜,它的结果将是一个无效的负时间。例如,你在10:00 PM开始工作,在次日的6:00 AM结束工作。
在这种情况下, ABS函数(计算绝对值)不能成为一个选择,因为它将返回错误的结果(16小时)。下面的公式可以得出正确结果(A2值为10:00 PM,B2值为6:00 AM):
=(B2 (B2<A2)-A2)
此外,下列更简单的公式也可以做这件事:
=MOD(B2-A2,1)
怎样在Excel中每隔N列求和?
有时我们需要在Excel中对一行数值每隔N列求和,假如有20列数据,位于F6:Y6区域中,可以使用下面的数组公式: 从第6列开始,每隔3列求和,即求出第6、9、12、……列的和: =SUM(IF(MOD(COLUMN(F6:Y6),3)=0,F6:Y6,0)) 或: =SUM(IF(MOD(