どーも!今日はGoogle Apps Script(GAS)を使ってスプレッドシートのグループ化された行や列を展開するexpandGroups()
メソッドについて話していくばい!
スプレッドシートでグループ化を使うと、データを折りたたんでスッキリ整理できるっちゃけど、 一括で展開したい時にポチポチ手動でやるのはめんどいさね。そこで、expandGroups()
を使えば一発で展開できるんじゃ!
expandGroups()って何するメソッドけ?
expandGroups()
は、指定した範囲のグループをすべて展開するメソッドたい。 つまり、「この範囲のグループを全部開いてね!」って指示を出す感じじゃ。
例えば、次のコードを実行すると、”A1:D10″ の範囲にあるグループが展開されるばい!
const range = sheet.getRange("A1:D10");
range.expandGroups();
GASの公式ドキュメントにも書いてあるけど、このメソッドはRange
クラスに属していて、 呼び出した範囲のグループを展開する動作をするっちゃ。
expandGroups()の実装手順ば紹介するばい!
1. シート全体のグループを展開する
function expandAllGroups() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
const dataRange = sheet.getDataRange();
dataRange.expandGroups();
SpreadsheetApp.flush();
}
このスクリプトを実行すると、アクティブなシートのすべてのグループが展開されるばい! SpreadsheetApp.flush();
を使うことで、すぐに反映されるっちゃね。
2. 選択範囲だけグループを展開する
function expandSelectedGroups() {
const sheet = SpreadsheetApp.getActiveSheet();
const selection = sheet.getSelection();
const activeRange = selection.getActiveRange();
activeRange.expandGroups();
}
これは、ユーザーが選択した範囲のグループだけを展開するスクリプトじゃ。 「ここだけ開きたい!」って時に便利ばい。
3. onEditトリガーで自動展開する
function onEdit(e) {
const sheet = e.source.getActiveSheet();
const range = e.range;
if (range.getA1Notation() === "A1" && e.value === "TRUE") {
sheet.getRange("B2:F20").expandGroups();
}
}
これは、セルA1の値がTRUE
に変わったら、指定範囲のグループを展開するスクリプトたい。 チェックボックスと組み合わせると、簡単に開閉を制御できるさ。
expandGroups()を使う時の注意点
- 展開するグループがない場合は何も起こらん
- 管理者権限が必要な場合がある(組織のGAS設定を確認しよう)
- 範囲の指定ミスに注意(存在しない範囲を指定するとエラーが出るばい)
エラーが出た時の対処としては、こんな風にtry-catch
を使うといいっちゃね。
function safeExpandGroups() {
try {
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A1:D10").expandGroups();
} catch (e) {
console.error("エラー発生: " + e.message);
SpreadsheetApp.getUi().alert("グループ展開に失敗しました");
}
}
まとめ
expandGroups()
を使えば、スプレッドシートのグループを効率的に管理できるばい!
- シート全体のグループを展開する
- 選択範囲だけ展開する
- onEditトリガーを活用して自動展開する
- try-catchを使ってエラー処理をする
こんな感じで、GASを活用すれば作業がグッと楽になるけん、ぜひ試してみてばい!

Class Range | Apps Script | Google for Developers

【GAS】スプレッドシートの行列グループ化・解除・折りたたみ・展開機能まとめ【サンプルソース付】
GAS開発者向けにスプレッドシートの行列グループ化・解除・折りたたみ・展開機能をすべてまとめました。どうでもいいデータ行なんだけど削除はしたくない、ポチっと押すだけですぐ見えるようにしたい、という場面でグループ化は大いに役立ちますね。そんな

【視聴者リクエスト】Googleスプレッドシートでグループ化したい!!【Google Apps Script(GAS)】|事務職たらこ
Googleアプリ操作の自動化が簡単にできるGoogle Apps Script(GAS) これを抑えておけば業務効率がグッとアップします🙆♀️ 今回はスプレッドシートでグループを作成&操作する方法を解説しました!是非これを機会にGAS習...
コメント