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

需求:编写Google Sheets脚本实现指定工作表按列排序

批量排序Google Sheets多工作表脚本解决方案

核心脚本代码

function sortAllSheets() {
  // 定义需按第2列排序的工作表名称
  const targetSheets = ['Employees', 'Teams'];
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheets = ss.getSheets();
  
  sheets.forEach(sheet => {
    const sheetName = sheet.getName();
    const range = sheet.getDataRange();
    
    if (targetSheets.includes(sheetName)) {
      // 指定工作表按第2列(B列)升序排序,表头行固定为第1行
      range.sort({column: 2, ascending: true, headerRowNumber: 1});
    } else {
      // 其余工作表按第1列(A列)升序排序,表头行固定为第1行
      range.sort({column: 1, ascending: true, headerRowNumber: 1});
    }
  });
  
  SpreadsheetApp.getUi().alert('所有工作表排序完成!');
}

使用步骤

  1. 打开目标Google Sheets文件,点击顶部菜单「扩展」→「Apps 脚本」
  2. 清空编辑器默认代码,粘贴上述脚本
  3. 修改targetSheets数组,添加或删除需要特殊排序的工作表名称(注意名称大小写与工作表完全一致)
  4. 点击脚本编辑器顶部「保存」,给项目命名(如SheetBatchSorter)
  5. 返回工作表,点击「插入」→「绘图」,绘制一个带文字的按钮(如“批量排序”)
  6. 选中绘制的图形,点击右上角三点图标,选择「分配脚本」,输入sortAllSheets后确认

自定义调整说明

  • 排序方向:将ascending: true改为false可切换为降序排序
  • 表头行位置:如果表头不是第1行,修改headerRowNumber为对应行号(如第2行表头则设为2)
  • 其余工作表排序列:修改column: 1为目标列号(A=1,B=2,以此类推)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:01:06