首页 > 解决方案 > 创建脚本以将自定义排序范围应用于 Google 表格

问题描述

我有一个包含数百个事件的 Google 表格。我在工作时会定期更改排序,但“最终”排序顺序是按国家 > 地区 > 城市 > 开始日期(由同名的列标题定义)。

我可以通过 Data > Sort Range 命令应用它,但我想知道是否可以创建一个可以为我运行此功能的脚本或“按钮”?

标签: google-apps-scriptgoogle-sheets

解决方案


function sort() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet Name');
  const headerrow = 1;
  const hA = sh.getRange(headerrow, 1, 1, sh.getLastColumn()).getValues()[0];
  const startrow = 2;
  let col = {};
  hA.forEach((h, i) => { col[h] = i + 1 });
  sh.getRange(startrow, 1, sh.getLastRow(), sh.getLastColumn()).sort([{ column: col['Country'], ascending: true }, { column: col['Region'], ascending: true }, { column: col['City'], ascending: true }, { column: col['Start Date'], ascending: true }]);
}

推荐阅读