You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Google Sheets中结合SUM的RANK IF公式:按国家汇总企业得分排名

在Google Sheets中按国家统计企业总分并排名

我经常帮人处理这类多维度的统计需求,下面给你两种实用的方案,你可以根据自己的使用习惯选:

方案一:用QUERY函数一步生成分组+总分(简洁高效)

假设你的原始数据在A1:D列(A=国家,B=企业,C=分支机构,D=得分),表头在第1行。

  1. 在新区域(比如F1:I1)手动输入表头:国家企业总分国内排名

  2. 在F2单元格输入以下公式,它会自动分组计算每个国家下各企业的总分,并按国家+总分降序排列:

    =QUERY(A:D, "SELECT A, B, SUM(D) WHERE A IS NOT NULL GROUP BY A, B ORDER BY A, SUM(D) DESC", 1)
    

    解释一下参数:

    • SELECT A, B, SUM(D):提取国家、企业,计算对应得分总和
    • WHERE A IS NOT NULL:自动忽略空行
    • GROUP BY A, B:按国家+企业维度分组
    • ORDER BY A, SUM(D) DESC:先按国家排序,再按总分降序排列
    • 最后的1表示原始数据有1行表头
  3. 计算国内排名:在I2单元格输入公式,下拉填充即可(如果是动态数组版本的Sheets,输入后会自动溢出):

    =RANK.EQ(H2, FILTER(H:H, F:F=F2), 0)
    

    这个公式的逻辑是:用FILTER(H:H, F:F=F2)筛选出当前国家的所有总分,再用RANK.EQ给当前企业的总分在这个范围内降序排名(0代表降序)。

方案二:用UNIQUE+SUMIFS手动构建(灵活可控)

如果你需要更灵活地调整分组逻辑,或者不习惯用QUERY,可以试试这个分步方案:

  1. 提取唯一的国家-企业组合:在F2单元格输入,自动生成所有不重复的国家+企业配对:
    =UNIQUE(A2:B)
    
  2. 计算对应总分:在H2单元格输入,下拉填充(或自动溢出):
    =SUMIFS(D:D, A:A, F2, B:B, G2)
    
    这个公式会匹配A列等于当前国家(F2)且B列等于当前企业(G2)的所有行,求和D列的得分。
  3. 计算国内排名:和方案一的排名公式一样,在I2输入:
    =RANK.EQ(H2, FILTER(H:H, F:F=F2), 0)
    

补充说明

  • 如果有多个企业总分相同,RANK.EQ会给它们相同的排名,下一个排名会跳过(比如两个第2名,下一个就是第4名)。如果需要连续排名(比如两个第2名,下一个是第3名),可以把公式换成=COUNTIF(FILTER(H:H, F:F=F2), ">"&H2)+1
  • 所有公式都支持动态更新,只要原始数据新增或修改,统计结果会自动刷新

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

火山引擎 最新活动