You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel技术问询:基于两组账户数据批量计算统计值

用Excel公式快速生成账户数值的汇总统计

嘿,这个需求挺常见的,给你几个纯公式的解决方案,几千条数据完全hold住,不用搞复杂的VBA或者手动统计:

1. 最直接的条件函数法(Excel 2019/365适用)

这是我最推荐的方式,用AVERAGEIF、MINIFS、MAXIFS三个函数就能搞定,操作超简单:

先明确你的数据结构(假设):

  • Set2里,A列是账户名,B列是对应的数值明细,范围比如是$A$2:$A$10000(几千条数据的实际范围)
  • Set1里,A列是要统计的账户列表

那在Set1的B2单元格(用来放平均值)输入:

=AVERAGEIF($A$2:$A$10000, A2, $B$2:$B$10000)

在Set1的C2单元格(最小值)输入:

=MINIFS($B$2:$B$10000, $A$2:$A$10000, A2)

在Set1的D2单元格(最大值)输入:

=MAXIFS($B$2:$B$10000, $A$2:$A$10000, A2)

输完直接下拉填充公式就行!记得用绝对引用(加$),这样下拉的时候Set2的范围不会乱跑,要是你数据范围不是10000行,改成你实际的行数就行。

2. 兼容旧版Excel的方案(2016及以前)

要是你用的是旧版Excel,不支持MINIFS和MAXIFS,那就换AGGREGATE函数,它能忽略错误值,完美替代:

最小值公式(C2):

=AGGREGATE(15, 6, $B$2:$B$10000/($A$2:$A$10000=A2), 1)

最大值公式(D2):

=AGGREGATE(14, 6, $B$2:$B$10000/($A$2:$A$10000=A2), 1)

平均值还是用AVERAGEIF就行,这个函数旧版也支持。

3. 懒人专属:一键生成完整汇总(Excel 365专属)

如果你用的是Excel 365,那更省事!直接用动态数组函数,连Set1都不用提前准备,从Set2里自动提取唯一账户并计算所有统计值:

在空白单元格输入这个公式(假设Set2的账户和数值在A:B列):

=LET(
    accounts, UNIQUE(A2:A10000),
    stats, BYROW(accounts, LAMBDA(x, HSTACK(x, AVERAGEIF(A:A, x, B:B), MINIFS(B:B, A:A, x), MAXIFS(B:B, A:A, x)))),
    VSTACK({"账户", "平均值", "最小值", "最大值"}, stats)
)

按下回车直接生成带表头的完整汇总表,连下拉都省了,简直是懒人福音。


小提醒:如果数据量特别大,先把Set2的数据按账户排个序,公式计算速度会更快;要是你偶尔也想用非公式方法,数据透视表拖几下也能出结果,但你要的是公式化方案,上面的方法就完全够用啦。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:21:51