You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Excel中查找每20行数据的最大值与最小值

如何在Excel中提取每20行数据的最大值和最小值

嘿,这个需求我之前帮同事处理过,两种方法都挺好用的——公式法适合小数据集快速搞定,Power Query适合大数据量更稳定,我都给你唠唠:

方法一:公式法(适合中小数据集)

假设你的数据在A列(从A1开始),想要在B列输出每组20行的最大值,C列输出最小值。

场景1:每组最值对应显示在该组的第一行

在B1单元格输入以下公式,然后下拉填充到所有行:

=IF(MOD(ROW()-1,20)=0,MAX(OFFSET(A1,(ROW()-1)-MOD(ROW()-1,20),0,20,1)),"")

在C1单元格输入最小值公式,同样下拉:

=IF(MOD(ROW()-1,20)=0,MIN(OFFSET(A1,(ROW()-1)-MOD(ROW()-1,20),0,20,1)),"")

解释一下:

  • MOD(ROW()-1,20)=0 用来判断当前行是不是每组的第一行(第1、21、41...行)
  • OFFSET 函数定位当前组的20行数据范围
  • 非组首行就显示空值,让结果更整洁

场景2:单独列汇总所有组的最值(每行对应一个组)

如果想在D列列出所有组的最大值,E列列最小值(D1是第一组,D2是第二组...),可以用这个更稳定的公式:
在D1输入:

=MAX(INDEX(A:A,(ROW()-1)*20+1):INDEX(A:A,ROW()*20))

E1输入:

=MIN(INDEX(A:A,(ROW()-1)*20+1):INDEX(A:A,ROW()*20))

然后下拉填充,直到覆盖所有数据组。这个方法用INDEX代替易失性的INDIRECT,计算起来更流畅。

方法二:Power Query法(适合大数据量)

如果你的数据量很大,公式可能会卡,用Power Query更高效,步骤如下:

  1. 选中数据区域(包括表头,如果有的话),点击数据选项卡 → 从表格/区域(Excel 2016及以后版本)
  2. 在Power Query编辑器中,点击添加列索引列从1开始,生成行号列
  3. 再点击添加列自定义列,输入公式给每行分配组号:
    = Number.RoundDown(([Index]-1)/20)+1
    
  4. 点击转换选项卡 → 分组依据
    • 分组依据选择刚才生成的“组号”列
    • 操作分别选择“最大值”和“最小值”,对应列选你的数据列(比如A列的列名)
  5. 点击确定后,就能看到每个组的最大值和最小值了,最后点击关闭并上载,把结果导入到新工作表里。

这样不管数据有多少行,都能快速分组计算,后续数据更新了还能一键刷新~

内容的提问来源于stack exchange,提问作者test bean

火山引擎 最新活动