EXCEL | 如何将多行重复的数据合并(或多行求均值合并)

任务场景: 在采集数据时,有些时候可能会对同一个样本进行多次采样,就导致该样本的某个指标值对应多个采样值(每次采样值都会有些许偏差),所以快速将多个采样值求均值合并为一行数据是很重要的操作。如果是列求值,就将下列函数中的行列调换就行了

EXCEL公式:

例如从A1开始,每三行求一次平均值并合并

=AVERAGE(OFFSET($A$1,(ROW()-1)*3,0,3,1))

(1) OFFSET(reference, rows, cols, [height], [width])  : 返回基于指定单元格或区域的偏移量的单元格或区域

  • reference(必需):作为起点的引用单元格或单元格范围。你希望从哪里开始偏移。
  • rows(必需):向上或向下偏移的行数。正数表示向下偏移,负数表示向上偏移。                                         (  ROW()-n 是表示从第n行开始,*n 是指以n行为一个周期处理数据 )
  • cols(必需):向左或向右偏移的列数。正数表示向右,负数表示向左。
  • height(可选):返回范围的行数。默认为 1 行。
  • width(可选):返回范围的列数。默认为 1 列。

(2) AVERAGE( )  :  对返回的数据求均值

需要注意的是,上述的公式在处理数据时有一个弊端,即该公式只能一列一列的处理数据,对于大量数据需要处理的任务还是很麻烦。

=AVERAGE(OFFSET( A$1,(ROW()-1)*3,0,3,1))

         解决的办法也很简单,因为上一个公式在选定起始位置时把列也固定了,所以只需删掉列前面的 $ 符号,然后输入公式后选中单元格直接往左拉,列数就会自动加了,也就实现了对多列数据同时操作。

最后,如果还需要规定最终求得值的小数点精确度,可以再加上 ROUND ( )   函数

=ROUND(AVERAGE(OFFSET( A$1,(ROW()-2)*3,0,3,1)), 2)

!但是上述的函数在操作方法上有个弊端

因为ROW()函数是会返回当前所在行数,所以上诉函数只能在那一行进行求值(例如1-3行的数据只能在第一行的位置进行输出),否则就会报错。

那如何在其余的位置进行输出呢

例如想要在第n行进行输出,然后原数据是从第m行开始求,就减去(n-m),总之就是让其从第m行开始捕获数据。

=AVERAGE(OFFSET(A$1,(ROW()-n)*3,0,3,1))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值