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

如何在Google Sheets多工作表提取各团队前5大值并排序至指定表

Google Sheets 提取各团队前5最大值并排序解决方案

需求回顾

从「Lap1」和「Lap2」工作表中,提取每个团队的5个最大值,汇总到「Biggest」工作表,且每个团队的数值按从大到小排序。预期结果:

  • Team 1:12 4 3 2 2
  • Team 2:12 8 7 5 4

解决方案(数组公式一键实现)

在「Biggest」工作表的A1单元格输入以下数组公式,回车后自动生成结果:

=LET(
  teams, UNIQUE(FILTER({Lap1!A:A; Lap2!A:A}, {Lap1!A:A; Lap2!A:A}<>"")),
  top_values, BYROW(teams, LAMBDA(t, TEXTJOIN(" ", TRUE, SORT(LARGE(FILTER({Lap1!B:B; Lap2!B:B}, {Lap1!A:A; Lap2!A:A}=t), SEQUENCE(5)), FALSE)))),
  HSTACK(teams, top_values)
)

公式拆解

  • {Lap1!A:A; Lap2!A:A}:合并两个工作表的团队列数据
  • UNIQUE(FILTER(...)):提取所有非空的唯一团队名称
  • BYROW(teams, LAMBDA(t, ...)):对每个团队单独处理:
    • FILTER({Lap1!B:B; Lap2!B:B}, ...=t):筛选当前团队的所有数值
    • LARGE(..., SEQUENCE(5)):提取该团队的前5个最大值
    • SORT(..., FALSE):将这5个值按降序排列
    • TEXTJOIN(" ", TRUE, ...):用空格拼接成字符串
  • HSTACK(teams, top_values):将团队列和对应数值列横向合并,生成最终结果

备选方案(分列展示数值)

如果需要将每个最大值单独放在一列(B-F列):

  1. 在「Biggest」工作表A2单元格输入团队列表:
=FILTER(UNIQUE({Lap1!A:A; Lap2!A:A}), UNIQUE({Lap1!A:A; Lap2!A:A}<>"")
  1. 在B2单元格输入公式,向右拉到F2后下拉至对应行:
=LARGE(FILTER({Lap1!B:B; Lap2!B:B}, {Lap1!A:A; Lap2!A:A}=$A2), COLUMN()-1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:18:31