便利なGASレシピ集!に戻る場合は以下から
はじめに
どうも、ビジボットです。新年明けすぎまして、ごめんなさい。。
今回の記事はGoogleAppsScript (GAS) でスプレッドシートのシート数を求める方法を紹介していきます。シート数を求めて何をするんだろう?と思うかもしれないですが、すでに作成済みのシートが沢山あって同じデータをシート毎にいれたい場合、とても簡単に処理できちゃうレシピです。
スプレッドシートを用意
処理したいデータが入っているスプレッドシートを用意します。
今回のシートは17個までのサンプルシートを入れて、仮で用意してます。このシートの合計数を求めていく処理を紹介していきます。

以下関連記事は、初心者がGASを始める初歩的な内容をまとめた記事です。この関連記事にもサンプルコードと実際にログで出力された結果を記載しているので参考にしてみてください。
シート数を取得するレシピ
1 2 3 4 5 6 |
function sample1() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); //シートの合計数をカウント var shNum = spreadsheet.getNumSheets(); Logger.log('シート数は:'+ shNum); } |
Logger.logの結果
1 |
[20-02-27 01:07:14:555 JST] シート数は:17 |
求める値が取得できました。
シート毎の名前を取得するレシピ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function sample1() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); //シートの合計数をカウント var shNum = spreadsheet.getNumSheets(); Logger.log('シート数は:'+ shNum); //取得したシート数の条件を満たすまでfor文で同じ処理を繰り返す for(i = 0;i < shNum;i++){ //i番目にあるシートの名前を取得する var sheet = spreadsheet.getSheets()[i].getSheetName(); //ここら辺に、シートごとにやりたいことを変数「sheet」を用いて実行する Logger.log('シート名は:' + sheet); } } |
Logger.logの結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[20-02-27 01:09:42:303 JST] シート数は:17 [20-02-27 01:09:42:344 JST] シート名は:シート1 [20-02-27 01:09:42:370 JST] シート名は:シート2 [20-02-27 01:09:42:393 JST] シート名は:シート3 [20-02-27 01:09:42:414 JST] シート名は:シート4 [20-02-27 01:09:42:443 JST] シート名は:シート5 [20-02-27 01:09:42:465 JST] シート名は:シート6 [20-02-27 01:09:42:493 JST] シート名は:シート7 [20-02-27 01:09:42:518 JST] シート名は:シート8 [20-02-27 01:09:42:540 JST] シート名は:シート9 [20-02-27 01:09:42:564 JST] シート名は:シート10 [20-02-27 01:09:42:591 JST] シート名は:シート11 [20-02-27 01:09:42:619 JST] シート名は:シート12 [20-02-27 01:09:42:642 JST] シート名は:シート13 [20-02-27 01:09:42:675 JST] シート名は:シート14 [20-02-27 01:09:42:693 JST] シート名は:シート15 [20-02-27 01:09:42:715 JST] シート名は:シート16 [20-02-27 01:09:42:736 JST] シート名は:シート17 |
それぞれの取得結果がでました。
シート数文をFor文で「getSheetName()」を使いシート名を取得します。
あとは処理したい内容をFor文の中に記述するだけです。
面倒な処理は簡易的なコードを書いてどんどん楽していきましょう!
便利なGASレシピ集!に戻る場合は以下から