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

如何用脚本在Google Sheets中按两行一组并依B列排序区域?

Google Sheets 脚本实现两行一组按B列排序

实现思路

要实现两行一组按B列值排序,核心是先将每两行视为一个整体,提取每组的B列排序键,排序后再将分组还原为行结构。

完整脚本代码

function sortRowsInPairs() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 替换为你的目标数据区域,比如A1:B6
  const range = sheet.getRange("A1:B6");
  const values = range.getValues();
  
  // 按每两行分组,存储每组的排序键(B列值)和对应行数据
  const groups = [];
  for (let i = 0; i < values.length; i += 2) {
    // 取每组第一行的B列值作为排序依据(两组B列值一致)
    const sortKey = values[i][1];
    groups.push({ key: sortKey, rows: [values[i], values[i+1]] });
  }
  
  // 按B列值升序排序分组
  groups.sort((a, b) => a.key - b.key);
  
  // 将排序后的分组展开为行数组
  const sortedValues = groups.flatMap(group => group.rows);
  
  // 将排序后的数据写回原区域
  range.setValues(sortedValues);
}

使用说明

  1. 打开你的Google Sheets文档,点击菜单栏的「扩展程序」→「Apps Script」进入脚本编辑器
  2. 将上述代码粘贴到编辑器中,修改getRange("A1:B6")为你实际的数据区域
  3. 保存脚本并命名,点击运行按钮授权执行,即可完成排序

注意事项

  • 确保数据行数是偶数,每组两行的结构完整
  • 脚本默认按B列值升序排序,若要降序,将groups.sort((a, b) => a.key - b.key)改为groups.sort((a, b) => b.key - a.key)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:52:05