earthpg:GAS専門のプログラミングスクール

驚くほど簡単!GASでグループ化とその解除方法をマスターしよう

他の社員が作ったスプレッドシートが見辛くて、データをグループ化する方法を教えてもらえないかなぁ…
猫男
猫男
catman
catman
それなら、catmanがGASで簡単にできるグループ化とその解除方法を伝授しよう。

GASでスプレッドシートのデータをグループ化する方法

GAS(Google Apps Script)を使えば、スプレッドシートのデータをグループ化できます。

まずは基本を押さえよう。

グループ化の基本

まず、特定の範囲をグループ化するスクリプトを書いてみよう。


function groupRows() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 行の範囲をグループ化(例えば2から10行目まで)
  sheet.groupRows(2, 10);
}

SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(): 現在アクティブなスプレッドシートのシートを取得する。
sheet.groupRows(start, end): 指定した行範囲をグループ化するメソッド。

グループ化ってこんなにサクッとできるんだね!でも、間違えちゃったらどうしよう…
猫男
猫男

グループ化を解除するには?

大丈夫、GASを使えばグループ化の解除も簡単にできる。以下のスクリプトでグループ化を解除できるぞ。


function ungroupRows() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // グループ化された行の範囲を解除(例えば2から10行目まで)
  sheet.ungroupRows(2, 10);
}

sheet.ungroupRows(start, end): 指定した行範囲のグループ化を解除するメソッド。

なるほど!これで誤ってグループ化しても元に戻せるね。
猫男
猫男

列をグループ化する方法

行だけではなく、列のグループ化も同様に可能だ。列をグループ化する方法も見てみよう。

列のグループ化の基本


function groupColumns() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 列の範囲をグループ化(例えばAからD列)
  sheet.groupColumns(1, 4);
}

sheet.groupColumns(start, end): 指定した列範囲をグループ化するメソッド。

列も同じように簡単にできるんだね!これは使えそう!
猫男
猫男

列のグループ化を解除するには?

列をグループ化解除する方法も見ておこう。


function ungroupColumns() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // グループ化された列の範囲を解除(例えばAからD列)
  sheet.ungroupColumns(1, 4);
}

sheet.ungroupColumns(start, end): 指定した列範囲のグループ化を解除するメソッド。

練習問題: グループ化とその解除をマスターしよう

以下の問題を通して、GASでのグループ化を実践してみよう。

  1. シートの5から15行目をグループ化してみてください。
  2. シートのBからF列のグループ化を解除してください。

解答と解説

問1の解答


function practiceGroupRows() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 5から15行目をグループ化
  sheet.groupRows(5, 15);
}

問2の解答


function practiceUngroupColumns() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // BからF列のグループ化を解除
  sheet.ungroupColumns(2, 6);
}

practiceGroupRows関数: 5から15行目をグループ化する。
practiceUngroupColumns関数: BからF列のグループ化を解除する(列番号は1始まりで、Bが2, Fが6)。