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

如何在表格中查找多条目,计算球队球迷占区域同名后缀总球迷的比例?

解决思路:分组聚合计算同区域同后缀球队的球迷占比

我来帮你拆解这个问题,其实核心就是分组聚合+占比计算——你需要先把球队按「所在区域」+「名称后缀」分成小组,算出每个小组的总球迷数,再用单支球队的球迷数除以对应小组的总数,就能得到目标百分比了。下面分两种常用场景给你具体操作方法:

一、如果数据存在数据库中(用SQL实现)

假设你的数据表叫team_fans,包含字段:team_name(球队名称)、region(所属区域)、attendance(到场球迷数)。

步骤1:提取球队名称的后缀

首先得从球队名里提取出后缀(比如'Red City'的后缀是'City',建议统一转成小写/大写避免大小写差异影响分组)。以MySQL为例,用SUBSTRING_INDEX函数提取最后一个空格后的单词:

SELECT 
  team_name,
  region,
  attendance,
  -- 提取最后一个空格后的单词作为后缀,转小写统一格式
  LOWER(SUBSTRING_INDEX(team_name, ' ', -1)) AS team_suffix
FROM team_fans;

步骤2:计算分组总球迷数+占比

用窗口函数SUM() OVER (PARTITION BY ...)可以直接在每行数据后附上对应小组的总球迷数,不用额外子查询,一步算出占比:

SELECT 
  team_name,
  region,
  attendance,
  LOWER(SUBSTRING_INDEX(team_name, ' ', -1)) AS team_suffix,
  -- 同区域同后缀的球队总球迷数
  SUM(attendance) OVER (PARTITION BY region, LOWER(SUBSTRING_INDEX(team_name, ' ', -1))) AS group_total,
  -- 计算占比,保留两位小数并转成百分比格式
  ROUND((attendance / SUM(attendance) OVER (PARTITION BY region, LOWER(SUBSTRING_INDEX(team_name, ' ', -1)))) * 100, 2) || '%' AS attendance_percent
FROM team_fans;

运行后,你就能看到像Red City这样的球队,对应attendance_percent字段就是36.48%这类结果。

二、如果数据在Excel表格中

假设你的表格结构:A列=球队名,B列=区域,C列=到场球迷数。

步骤1:提取名称后缀

在D2单元格输入公式(下拉填充),提取最后一个空格后的单词并转小写:

=LOWER(RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))))

步骤2:计算同组总球迷数

在E2单元格输入SUMIFS函数(下拉填充),计算当前球队所属「区域+后缀」小组的总球迷数:

=SUMIFS($C:$C,$B:$B,B2,$D:$D,D2)

步骤3:计算占比

在F2单元格输入公式(下拉填充),得到百分比结果:

=ROUND((C2/E2)*100,2)&"%"

额外注意事项

  • 如果你的后缀规则不是「最后一个单词」(比如特定关键词后缀、固定长度后缀),需要调整提取后缀的逻辑,比如SQL里用RIGHT取固定长度,Excel里用LEFT/RIGHT配合特定关键词定位。
  • 要注意处理除数为0的情况:SQL里可以用NULLIF(SUM(...), 0)避免报错;Excel里可以套一层IFERROR,比如=IFERROR(ROUND((C2/E2)*100,2)&"%", "无数据")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:22:21