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

如何用Google Sheets Query聚合多列数据统计车手获胜次数

解决Google Sheets QUERY统计车手不同赛道获胜次数的问题

你的核心需求是统计每个车手在不同赛道上的获胜次数,但原表格存在重复的赛道数据,直接用GROUP BY统计会忽略赛道维度,导致结果不符合预期。

原公式问题分析

  • 第一个公式仅筛选出了获胜车手,但未做计数统计
  • 第二个公式直接按车手分组统计满足获胜条件的行数,但没有关联赛道维度:如果同一车手在同一赛道有多条重复记录,会错误重复计数;若数据中每个车手单条获胜记录对应重复赛道行,就会出现统计结果全为1的情况。

解决方案:先去重车手+赛道组合,再统计

需要先提取车手+赛道的唯一组合,再统计每个车手对应的唯一赛道数量,以下两种方式均可实现:

方法1:FILTER + UNIQUE + QUERY 组合

假设赛道数据在第6列(Col6),请替换为实际的赛道列序号:

=QUERY(
  UNIQUE(
    FILTER(
      {'SheetName'!A:A, 'SheetName'!F:F},
      'SheetName'!B:B=1, 'SheetName'!C:C=1, 'SheetName'!D:D=1, 'SheetName'!E:E=1
    )
  ),
  "SELECT Col1, COUNT(Col1) 
   GROUP BY Col1 
   LABEL Col1 '车手', COUNT(Col1) '不同赛道获胜次数'"
)

逻辑说明:

  1. FILTER 筛选出所有满足获胜条件(Col2-Col5任意为1)的车手(Col1)和对应赛道(Col6)
  2. UNIQUE 去除同一车手同一赛道的重复条目,确保每条赛道只统计一次
  3. 外层QUERY按车手分组,统计每个车手对应的唯一赛道数量

方法2:嵌套QUERY + UNIQUE

同样假设赛道列是Col6:

=QUERY(
  UNIQUE(
    QUERY(
      {'SheetName'!1:998},
      "SELECT Col1, Col6 
       WHERE Col2=1 OR Col3=1 OR Col4=1 OR Col5=1",
      1
    )
  ),
  "SELECT Col1, COUNT(Col1) 
   GROUP BY Col1 
   LABEL COUNT(Col1) '获胜赛道数'",
  1
)

逻辑说明:

  1. 内层QUERY先筛选出所有获胜的车手和赛道数据
  2. UNIQUE去重车手+赛道的组合
  3. 外层QUERY完成分组统计

注意事项

  • 替换公式中的'SheetName'为你的实际工作表名称
  • 将Col6替换为存储赛道信息的列序号(比如赛道在G列则改为Col7)
  • 若表格有表头,需在QUERY的第三个参数填1(表示第一行是表头)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 22:22:37