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

如何在Google Sheets中按Pts、GD优先级对指定区域自动排序?

实现足球积分表多条件自动排序的Apps Script方案

完全可以实现你需要的多条件排序需求——优先按K列(积分)降序排列,积分相同时按J列(净胜球)降序排列。以下是修改后的完整代码:

function sortLeagueTables() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet(); // 若需指定固定工作表,可替换为 ss.getSheetByName("你的工作表名称")
  
  // 定义所有需要排序的区域范围
  const ranges = [
    "B3:J7",
    "B11:J15",
    "B19:J23",
    "B27:J31",
    "B35:J39",
    "B43:J47",
    "B51:J56",
    "B59:J64"
  ];
  
  ranges.forEach(rangeStr => {
    const range = sheet.getRange(rangeStr);
    // 设置排序规则:先按K列(区域内相对第10列)降序,再按J列(区域内相对第9列)降序
    range.sort([
      {column: 10, ascending: false},
      {column: 9, ascending: false}
    ]);
  });
}

代码说明

  • 区域批量处理:将所有目标排序区域存入数组,通过遍历实现批量排序
  • 排序逻辑:
    • column:10:对应K列(因排序区域从B列起始,B为第1列,K为第11列,故区域内相对列索引为10),ascending:false表示降序(积分高的球队靠前)
    • column:9:对应J列(区域内相对列索引为9),同样设置降序(净胜球多的球队靠前)
  • 自动触发设置:若需编辑表格时自动排序,可在脚本编辑器中添加触发器:
    1. 点击左侧「触发器」图标
    2. 选择「添加触发器」,设置函数为sortLeagueTables,事件源选「从电子表格」,事件类型选「编辑时」后保存即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:36:34