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

Google Sheets统计Fantasy Football球员首尾排名及列最小值计算方法问询

问题1:统计每行最小值的列数量

假设你的5行数据范围是A1:5(可根据实际调整),使用以下公式即可完成统计:

=BYROW(A1:5, LAMBDA(row, COUNTIF(row, MIN(row))))
  • BYROW 逐行遍历指定范围的每一行
  • LAMBDA(row, ...) 定义每行计算逻辑:先用MIN(row)获取当前行最小值,再用COUNTIF(row, MIN(row))统计该行中等于该最小值的单元格数量

问题2:统计球员周排名第一/倒数第一的次数

情况1:基于得分数值排名(无需依赖单元格颜色)

假设球员名单在A列,38周得分数据范围是B2:AK[最后一行行号](B到AK对应38个比赛周):

  • 统计某球员(如A2单元格)周得分排名第一的次数:

    =COUNTIF(ARRAYFORMULA(RANK(B2:AK2, B$2:AK$100, 0)), 1)
    

    其中0表示降序排名,1对应最高分的排名位置,B$2:AK$100替换为你实际的所有球员得分范围。

  • 统计该球员周得分倒数第一的次数:

    =COUNTIF(ARRAYFORMULA(RANK(B2:AK2, B$2:AK$100, 1)), 1)
    

    这里1表示升序排名,1对应最低分的排名位置;也可以用降序模式下等于总球员数的方式,比如COUNTIF(ARRAYFORMULA(RANK(B2:AK2, B$2:AK$100, 0)), COUNTA(A$2:A$100))。

情况2:基于单元格标记颜色(绿色=第一,红色=倒数第一)

Google Sheets原生函数无法直接读取单元格颜色,需要创建自定义函数:

  1. 打开Google Sheets,点击「扩展程序」→「Apps脚本」
  2. 删除默认代码,粘贴以下脚本并保存:
function COUNTCOLOR(range, colorCell) {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const bgColors = sheet.getRange(range).getBackgrounds();
  const targetColor = sheet.getRange(colorCell).getBackground();
  let count = 0;
  bgColors.forEach(row => {
    row.forEach(cellColor => {
      if (cellColor === targetColor) count++;
    });
  });
  return count;
}
  1. 返回表格,使用函数统计:
    • 统计绿色标记次数:=COUNTCOLOR(B2:AK2, "C1")(将C1替换为你表格中绿色标记的单元格)
    • 统计红色标记次数:=COUNTCOLOR(B2:AK2, "D1")(将D1替换为红色标记的单元格)

是否需要Query函数?

这两个需求都不需要依赖Query函数,用上述原生函数组合(BYROW/COUNTIF/RANK)或自定义函数即可实现。Query函数虽然也能完成排名统计,但写法更复杂,不是最优选择。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:01:15