在时间列的前面 做一个时间段的辅助转换……假设你的原数据在B、C列
A列为时段转换列 A1 输入计算时段的大小 比如你说的30秒 输入30……
A2 =ROUNDUP(INT((B2-$B$1)*24*3600)/$A$1,0)
然后 向下复制 ……
再以 A列来分类汇总 或者数据透视表 来求出各段时间内的 平均值……
这里更改A1的数值(秒) 可以改变 核算的周期……
不知道你补充的 很多个30秒是怎么回事,我的方法似乎与你的需求相近……按着这样把 时间 分段儿 后 你就可以计算每一段儿时间内的平均值了……分类汇总、数据透视 都可以……尝试一下吧 会有收获的……
假设时间在B2:B100中,后面的数据在C2:C100中,要求时间在2012年5月9日6:52分到53分的相应的C列数据之平均,D2中输入
=AVERAGE(IF((B2:B100<=DATE(2012,5,9)+TIME(6,53,))*(B2:B100>=DATE(2012,5,9)+TIME(6,52,)),C2:C100))
同时按下CTRL+SHIFT+回车,输入数组公式。
若要求时间改为6:52到6:52:30,改为
=AVERAGE(IF((B2:B100<=DATE(2012,5,9)+TIME(6,52,30))*(B2:B100>=DATE(2012,5,9)+TIME(6,52,)),C2:C100))
在d2输入:
=average(if((b$2:b$1000>=--"2012-05-09 06:52:00"+(row(a1)-1)*30/86400)*(b$2:b$1000<=--"2012-05-09 06:52:30"+(row(a1)-1)*30/86400),c$2:c$1000))
数组公式,按ctrl+shift+enter结束
下拉填充
d列数据即为每30秒对应的c列数据平均值(超始时间为2012-05-09 6:52:00)
数据透视图/表,对时间进行分组(选定步长)。