江苏省城市足球联赛(苏超)2026赛季揭幕赛4月11日在常州奥体中心打响。常州队从去年差一点垫底到新赛季目前积分第一,让我们看到新一届常州队的希望。
苏超不仅是足球艺术的盛宴,更是江苏各城市玩梗的焦点, 给我们万千普通人的生活带来了无穷的乐趣。本人也从一个对足球知识空白的伪球迷逐步演变为真正的足球迷。
为了更方便地了解苏超的进程和积分榜情况,本人用Excel制作了江苏省城市足球联赛积分榜,根据每周各队进、失球情况,自动统计各队的积分。
说明:常规赛赛程工作表中,最后每周输入的区域字段分别为“主队进球”和“客队进球”。
下面说说具体做法:
首先,制作两张工作表,分别是“常规赛赛程”和“积分榜”,各字段见图中所示。
接下来,重点介绍“积分榜”中各单元格中的公式及含义。
=SUMPRODUCT(((常规赛赛程!F$2:F$80=B2)+(常规赛赛程!H$2:H$80=B2))*ISNUMBER(常规赛赛程!J$2:J$80))
F 列 = 主队
B2 = 积分榜当前球队(比如:常州队)
意思:这支球队是不是这场比赛的主队?
是 → 得到 1
不是 → 得到 0
H 列 = 客队
意思:这支球队是不是这场比赛的客队?
是 → 得到 1
不是 → 得到 0
只要是主队 或 客队,结果 = 1
都不是 → 0
作用:找出这支球队参加的所有比赛
第四段:ISNUMBER(常规赛赛程!J$2:J$80)
参加比赛 并且 已踢完 → 1×1=1
没参加 / 没踢 → 0
作用:只统计 “已踢完的比赛”
=SUMPRODUCT((常规赛赛程!F$2:F$80=B2)*(常规赛赛程!J$2:J$80>常规赛赛程!K$2:K$80)*ISNUMBER(常规赛赛程!J$2:J$80))+SUMPRODUCT((常规赛赛程!H$2:H$80=B2)*(常规赛赛程!K$2:K$80>常规赛赛程!J$2:J$80)*ISNUMBER(常规赛赛程!J$2:J$80))
① F 列 = B2 → 这支球队是主队
② J 列(进球)> K 列(失球) → 主队赢了
③ ISNUMBER (J 列) → 比赛已经踢完,填了比分三个条件同时满足 → 算 1 场胜场
SUMPRODUCT 把所有满足的 1 加起来 → 主队胜场数
① H 列 = B2 → 这支球队是客队
② K 列(客队进球)> J 列(主队进球) → 客队赢了③ ISNUMBER (J 列) → 比赛已踢三个条件同时满足 → 算 1 场胜场
SUMPRODUCT 相加 → 客队胜场数
两段加在一起
主队赢的场数 + 客队赢的场数 = 总胜场
=SUMPRODUCT((常规赛赛程!F$2:F$80=B2)*(常规赛赛程!J$2:J$80>常规赛赛程!K$2:K$80)*ISNUMBER(常规赛赛程!J$2:J$80))+SUMPRODUCT((常规赛赛程!H$2:H$80=B2)*(常规赛赛程!K$2:K$80>常规赛赛程!J$2:J$80)*ISNUMBER(常规赛赛程!J$2:J$80))
=SUMIFS(常规赛赛程!J:J,常规赛赛程!F:F,B2,常规赛赛程!J:J,"<>")+SUMIFS(常规赛赛程!K:K,常规赛赛程!H:H,B2,常规赛赛程!K:K,"<>")
计算一支球队本赛季一共进了多少球= 当主队时进的球 + 当客队时进的球。公式也是 两段相加。
SUMIFS:多条件求和
常规赛赛程!J:J → 要加总的是:主队进球
常规赛赛程!F:F, B2 → 条件 1:这支球队是主队
常规赛赛程!J:J, "<>" → 条件 2:进球不为空(比赛已踢)
这支球队当主队时,所有已踢比赛的进球总和
SUMIFS:多条件求和
常规赛赛程!K:K → 要加总的是:客队进球
常规赛赛程!H:H, B2 → 条件 1:这支球队是客队
常规赛赛程!K:K, "<>" → 条件 2:进球不为空(比赛已踢)
这支球队当客队时,所有已踢比赛的进球总和
主队进球总和 + 客队进球总和 = 这支球队总进球数
=SUMIFS(常规赛赛程!K:K,常规赛赛程!F:F,B2,常规赛赛程!K:K,"<>")+SUMIFS(常规赛赛程!J:J,常规赛赛程!H:H,B2,常规赛赛程!J:J,"<>")
SUMIFS:多条件求和
求和:K 列(客队进球)
条件 1:F 列 = B2 → 这支球队是主队
条件 2:K 列不为空 → 比赛已踢
这支球队当主队时,对方进了多少球 = 自己失球
SUMIFS:多条件求和
求和:J 列(主队进球)
条件 1:H 列 = B2 → 这支球队是客队
条件 2:J 列不为空 → 比赛已踢
这支球队当客队时,对方进了多少球 = 自己失球
两段加在一起 = 总失球
主队丢的球 + 客队丢的球 = 这支球队整个赛季总失球
胜:3分;平:1;负:0
=RANK.EQ(J2,$J$2:$J$14,0)+SUMPRODUCT(($J$2:$J$14=J2)*($I$2:$I$14>$I2))+SUMPRODUCT(($J$2:$J$14=J2)*($I$2:$I$14=$I2)*($G$2:$G$14>$G2))
第一段:RANK.EQ (J2,$J2:J$14,0)
J2 = 这支球队的积分
$J2:J$14 = 所有球队的积分
0 = 从大到小排(降序)
第二段:
SUMPRODUCT(($J$2:$J$14=J2)*($I$2:$I$14>$I2))
作用:积分相同,比净胜球
$J2:J$14=J2 → 和我积分一样的球队
$I2:I$14>$I2 → 净胜球比我多的球队
积分跟我一样,但净胜球比我多的人,有几个?有几个,我名次就往后退几位。
第三段:
SUMPRODUCT(($J$2:$J$14=J2)*($I$2:$I$14=$I2)*($G$2:$G$14>$G2))
作用:积分、净胜球都相同,比总进球
$J2:J$14=J2 → 积分一样
$I2:I$14=$I2 → 净胜球也一样
$G2:G$14>$G2 → 总进球比我多
熬了三个通宵,也算为苏超默默做些贡献吧!