EXCEL也有大量的数据运算函数,如果应用得当,就会高文本数据处理的效率。其中,EXCEL的offset()函数同行、等间隔地获取最大、最小值和平均值。这在获取特定间隔的采样数据特征时尤为方便。
1. offset()函数介绍
功能:以指定的(单元格或相连单元格区域的引用)为参照,通过给定偏移量得到新的引用。返回的引用可以是一个单元格也可以是一个区域(可以指定行列数)。既然能够得到一个多行列的区域,那也就可以求该区域的统计特征了。
reference: 参照单元格或引用。
rows: 行偏移量,正数(代表在参照单元格的下方),负数(代表在参照单元格的上方)。
cols: 列偏移量 ,正数(代表在参照单元格的右边)或负数(代表在参照单元格的左边)。
height: 返回几行(必须为正数),即所要返回的引用区域的行数。
weight: 返回几行(必须为正数),即所要返回的引用区域的列数。
2. 等间隔获取数据特征
下图列表中index为数据的索引,Tsmax为某地最大气温,现在的需求是每隔5个索引求最大气温的均值,并放在Tsmax_5列中。
下面使用offset方法快速获取等间的均值:
等间隔:offset($B$2, (row(B2)-1)*5, 0, 5, 1)
上式中, $B$2以B2单元格为参照固定不变,(row(B2)-1)*5表示向下偏移的行数,0表示列不偏移(即还在B列),5表示从偏移后的位置向下取5行,1表示取一列(即还在B列)。这样,我们便从第一个元素B2开始,得到了第七和第十一元素间的数值。
求平均:average(offset($B$2, (row(B2)-1)*5, 0, 5, 1) )
求最大:max(offset($B$2, (row(B2)-1)*5, 0, 5, 1) )
求最小:min(offset($B$2, (row(B2)-1)*5, 0, 5, 1) )
通过上式便可得到特定间隔的均值了,通过下拉的方式扥到整列数据的特定间隔均值。具体验证方式见下方图片。
细心的同学会发现第一个5行数字没有自动填充上,这也算是这个函数的缺点吧,不过也不碍事,我通过average()顺带求出来就行了。