如何基于Size列分组自动计算多列活动价格平均值并生成新表?
解决按特定尺寸自动计算价格列平均值的方案
嘿,我猜你用的是Excel或者Google Sheets这类常用电子表格工具吧?下面给你两种简单易上手的实现方式,完全能满足你新建表自动统计的需求:
方法一:用AVERAGEIF快速实现单条件平均值
这是最直接的方式,适合只按「尺寸」这一个条件统计的场景:
假设你的源数据存在Sheet1,新建的统计表格在Sheet2:
- 先在Sheet2的A列列出你要统计的目标尺寸(比如A2填112,A3填132,A4填160)
- 在Sheet2的B2单元格(对应源表J列的平均值)输入公式:
=AVERAGEIF(Sheet1!$I:$I, $A2, Sheet1!$J:$J) - 把这个公式向右拖到E列(对应源表M列),再向下拖到对应尺寸的行,所有目标尺寸的各活动价格平均值就自动算出来啦!
公式小解释:
Sheet1!$I:$I:锁定源表的尺寸列,拖动公式时不会跑偏$A2:锁定列,拖动行时会自动匹配当前行的目标尺寸Sheet1!$J:$J:要计算平均值的价格列,向右拖动时会自动切换成K、L、M列
方法二:用AVERAGEIFS留足扩展空间
如果之后你想加更多筛选条件(比如同时限定活动时间),AVERAGEIFS会更灵活,就算单条件用也完全没问题:
在Sheet2的B2单元格输入:
=AVERAGEIFS(Sheet1!$J:$J, Sheet1!$I:$I, $A2)
用法和AVERAGEIF一模一样,只是参数顺序反过来了(先写要计算的数值范围,再写条件范围和条件)。
小技巧:避免无数据时的错误提示
如果某个尺寸在源表里没有对应价格,公式会返回#DIV/0!,看着有点闹心,用IFERROR包裹一下就能解决:
=IFERROR(AVERAGEIF(Sheet1!$I:$I, $A2, Sheet1!$J:$J), "无对应数据")
进阶:做个可选择的下拉尺寸列表
要是不想手动输入尺寸,还能整个下拉菜单,选完自动更新平均值:
- 选中源表Sheet1的I列所有尺寸,点击「数据」→「数据验证」→选择「序列」,把这些尺寸做成可选的下拉项
- 在Sheet2的A列也应用同样的序列,这样点一下就能选要统计的尺寸,平均值秒更!
内容的提问来源于stack exchange,提问作者Bocho Todorov
相关产品推荐
相关产品推荐

