请教Excel的时间处理(取整)问题.

如果有一个时间序列如下左列,如何写入公式使其能够得到右边的值?原则为如果分钟为00,则时间减0:02;如果分钟为02-05,则分钟位为00;如果分钟为06-09,则分钟位为05.
14:00 13:58
14:01 14:00
14:02 14:00
14:03 14:00
14:04 14:00
14:05 14:00
14:06 14:05
14:07 14:05
14:08 14:05
14:09 14:05
14:10 14:08
14:11 14:10
14:12 14:10
抱歉我问题没说清楚,应该是如果分钟为00或10以及10的倍数,则时间减0:02. 比如14:10就为14:08

假如你的数据是A1开始的A列中,在后面一空列的第一行写入公式,并把单元格设置成13:08样式的时间格式:
=IF(MINUTE(A1)<1,A1-"0:2",IF(MINUTE(A1)<=5,TIME(HOUR(A1),,),IF(MINUTE(A1)<9,TIME(HOUR(A1),5,),A1)))
向下复制公式就可以了
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-01
=IF(MOD(MINUTE(A31),5)=0,TIME(HOUR(A31),MINUTE(A31)-2,SECOND(A31)),TIME(HOUR(A31),INT(MINUTE(A31)/5)*5,SECOND(A31)))

A31为时间所在的单元格

一楼的公式遇到分钟为10分、20分这种情况时答案是错误的。本回答被提问者采纳
第2个回答  2010-09-01
其实一楼已为正解,但还有一个情况:那就是当时间为0:00:00时,公式出错。为谨慎起见公式改为:
=IF(AND(HOUR(A1)=0,MINUTE(A1)=0),TIME(23,58,0),IF(MINUTE(A1)=0,TIME(HOUR(A1)-1,58,0),TIME(HOUR(A1),INT(MINUTE(A1)/5)*5,0)))
第3个回答  2010-09-01
日期放再A3 里, B3 输入 =IF(MINUTE(A3)=0,TIME(HOUR(A3)-1,58,0),TIME(HOUR(A3),INT(MINUTE(A3)/5)*5,0)) 格式设置为时间
第4个回答  2010-09-01
=IF(MOD(MINUTE(A1),10),TIME(HOUR(A1),INT(MINUTE(A1)/10)*10+(MOD(MINUTE(A1),10)>5)*5),A1-"0:2")
相似回答