Googleドライブ上のファイル名やフォルダ名を書き出したいときがあります。
たとえば、以下のフォルダに保管してあるファイルやフォルダの名前を取得してスプレッドシートに書き出すとします。
この仕組みを使えば、フォルダ内のファイルを一覧にする作業を自動化できます。
この記事では、仕組みの使い方からプログラムの詳細まで解説していきます。
目次
GASでGoogleドライブ内のファイル名をスプレッドシートに書き出す手順を解説
手順2|スプレッドシートのボタンをクリックする
以下で一つずつ解説していきます。
手順1|GoogleドライブのURLをスプレッドシートのセルB1にコピペする
GoogleスプレッドシートのセルB1にGoogleドライブのURLをそのまま貼り付けます。
手順2|スプレッドシートのボタンをクリックする
そうすると、以下のようにフォルダ内の情報がスプレッドシートに一覧化されます。
B列にはフォルダやファイルの名称が出力されており、C列のリンクをクリックすることで、そのファイルやフォルダを開くことができます。
この作業を仕組み化するメリット
この作業は、資料のリストを作成するときに使えます。
たとえば、フォルダ内のファイルをスプレッドシートにリスト化したり、フォルダ内のファイルがどこに保管されているかを探したりしたいときに使えます。
メリット2|人に渡すことができる
メリット1|ボタン一つで作業を終わらせることができる
この作業を仕組み化しておけば、仕事が忙しいときにラクに作業を終わらせることができます。
実際、冒頭で紹介しているとおり、Google DriveのURLをスプレッドシートに貼り付けて、ボタンを押すだけでフォルダ内のファイルをリストアップすることができます。
このような作業はやればできるが、疲れていたり時間がなかったりするときにはなかなか手を付ける気になれません。
しかし、時間に余裕があるときに、仕組みを作っておくことで、忙しいときでもボタン一つで作業を完了させることができます
メリット2|人に渡すことができる
この作業は冒頭で紹介しているとおり、「1. Google DriveのURLをスプレッドシートに貼り付け」て、「2. ボタンを押す」ことでフォルダ内のファイルをリストアップすることができます。
ここまで作業を簡略化すれば、人に仕事を渡すことはそこまで難しいことでありません。
実際、この記事の冒頭部分を作業手順書として同僚に「やっておいていただけませんか?」とお願いすれば、作業を人に渡すことが可能です。
自分でやるのが忙しいときでも、人にお願いすることで解決することができるのです。
しかも作業のやり方も、この記事に記載しています。
したがって、このページのURLを貼ってチャットやメールをすれば人に仕事を渡すことのも非常にカンタンと言えます。
仕事の仕組み化については、以下の記事でも紹介しています。
興味がある人はぜひご覧ください。
GASで所定のGoogleドライブ上のファイルを取得する方法をゼロから作ってみる|ステップごとに解説
ステップ2|スプレッドシートに必要情報を入力する
ステップ3|GASプログラムをコピペする
ステップ4|スプレッドシートにボタンを設置する
ステップ5|ステップ4のボタンクリックでステップ3のプログラムが動くようにする
ステップ6|動作確認をする
それでは、ゼロから作っていけるように作り方を順を追って説明していきます。
ステップ1|スプレッドシートを準備する
まずは、空のスプレッドシートを準備します。
新しいスプレッドシートではなく、既存のスプレッドシートでも問題ありません。
ただし、シート名はシート1としておくことをオススメします。
これから紹介するプログラムをそのまま使う場合、「シート1」でないと動かないので注意が必要です。
ステップ2|スプレッドシートに必要情報を入力する
以下の通り、スプレッドシートに必要情報を入力していきます。
2. セルA1に情報を記入する
3. セルA3, B3, C3に情報を入力する
以下で詳しく解説していきます。
1. ファイル名を変更する
実は、ここは重要ではありません。
「無題のスプレッドシート」のままだと分かりづらいので、スプレッドシート名を変更しているだけです。
好みの問題なので、不要と思う場合はスキップして問題ありません。
また既存のスプレッドシートを使う場合も、スキップして構いません。
2. セルA1に情報を記入する
セルB1:空欄(ここはフォルダURLをコピペするセル)
こうすることで、セルB1にフォルダURLをコピペしてもらうようにします。
3. セルA3, B3, C3に情報を入力する
セルB3:「名称」と入力する
セルC3:「URL」と入力する
これらの情報は、4行目より下の行に取得したフォルダやファイルの情報を出力していくので、そのヘッダーとして使います。
以下でA列、B列、C列について詳しい内容を記載しておきます。
A列は「フォルダ」か「ファイル」を出力させるために使います。取得した情報がフォルダかファイルを仕分けるための列です。
B列は「フォルダ」や「ファイル」の名前を出力させるために使います。
C列は「フォルダ」や「ファイル」のURLを出力させるために使います。
ステップ3|GASプログラムをコピペする
2. スクリプトエディタをクリックする
3. GASプログラムをデフォルトの記載を削除する
4. この記事で紹介しているGASプログラムをコピペする
5. ファイルをクリックする
6. 保存をクリックする
以下で一つずつ解説していきます。
なお、以下は他の記事の情報をコピペしています。
ファイル名などがこの記事のものは異なりますが、ご了承ください。
そうすると、以下のスクリプトエディタを出現します。
ちなみに1と2の作業は以下のショートカットキーでも開くことが可能です。
2. スクリプトエディタをクリックする|[E]
以下のリンク先のGASプログラムをコピーします。(リンク先は同じページ下部です)
まず、以下のスクリプトエディタを選択して、もともと記載されているプログラムを削除します。
そして、コピーしたGasプログラムを貼り付けます。
ここまで作業が進むと以下のようになっているはずです。
ここまで出来たら、以下のとおりファイルを保存します。
この作業は[Ctrl] + [S]でも可能です。ショートカットキーを使う方が早いので、ショートカットキーでの作業をオススメします。
ちなみに、この作業を見て、プログラムエディタの背景色が黒になっていたり、細かい操作が分かりづらいと感じる人がいるかもしれません。
その場合は、以下の動画をご覧いただくことをオススメします。
GASを使い始めるまでの操作手順を動画で解説しています。動画の方がよりイメージがつくはずです。
動画よりテキストのほうが得意な人は、以下の記事を参考にしていただくと良いです。
ステップ4|スプレッドシートにボタンを設置する
2. 図形描画をクリックする
3. 図形マークをクリックする
4. 図形をクリックする
5. 四角マークをクリックする
6. マウスドラックで四角図形を作成する
7. 四角の図形の中に「フォルダ内の情報をリスト化」と記入する([Ctrl] + [E]で中央に寄せる)
8. 「保存して終了」をクリックする
上記の操作を行って、スプレッドシートにボタンを設置します。
ステップ5|ステップ4のボタンクリックでステップ3のプログラムが動くようにする
2. 「スクリプトを割り当て」をクリックする
3. 「get_Filenames」と記入する(先ほどコピペしたGASプログラムの名称)
4. 「OK」ボタンをクリックする
上記の操作で、スプレッドシートのボタンをクリックすると、プログラムが起動するようにします。
動作確認をしてみる
それでは、複数フォルダを自動作成する仕組みができたので、動作確認をします。
以下の手順で進めていきます。
2. ボタンをクリックする
3. 結果を確認する
Google DriveのURLをスプレッドシートに貼り付けるときのコツですが、以下のショートカットキーを使うと操作を早くできます。
2. 選択箇所をコピーする|[Ctrl] + [C]
3. スプレッドシートに貼り付ける|[Ctrl] + [V]
ボタンを押すと、以下のようの情報が出力されます。
これで、セルB1に入力したGoogleドライブのURL内に含まれるファイルやフォルダの情報を4行より下に出力していきます。
よくある質問|「このドキュメントに添付されたスクリプトを実行するには、あなたの許可必要です。」という画面が表示されたときの対処法
ボタンをクリックすると、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可必要です。」という画面が表示される場合があります。
なお、以下は他の記事の内容をそのまま転用しています。
ファイル名やスプレッドシート上の情報が、この記事の内容を一致しない場合があります。あらかじめご了承ください。
その場合は、以下のとおり対応していきます。
2. 許可を出したいアカウントをクリックする
3. 「詳細」をクリックする
4. 「無題のプロジェクト(安全ではないページ)に移動」をクリックする
5. 「許可」をクリックする
6. 「フォルダ作成」のボタンをクリックする
そうすると、以下のようにボタンをクリックすることで、スクリプトが動きます。
ここまで紹介した内容を実践すれば、動作チェックで上手くいくことが確認できるはずです。
よくある質問|エラーが表示されて、プログラムが動かない
プログラムエラーが生じた場合は、ステップ1から内容をチェックしてみてください。
とくに以下の内容を間違えていると、上手く動きません。
●セルB1に入力したフォルダパスが正しくない
●プログラムでコピペした内容が間違っている
上記の内容を確認してから、再度ボタンをクリックしてみてください。
それで動かなければ、プログラムのエラー内容を確認し、Google検索で調べるなどの追加調査を行ってみることがオススメします。
プログラムと手作業をミックスさせるメリット
「プログラムって難しそう」という理由で、プログラムを活用することに苦手意識を持っている人は少なくありません。
しかし、それはもったいないことです。
なぜなら、作業の効率化はプログラムを知らなくても、手作業とプログラムを上手く組み合わせることで、誰でも使えるようなツールを作れるからです。
実際、この記事で紹介している内容は、プログラムを知らなくても仕組みを作成できるようにしています。
このように、プログラムと少しの手作業をミックスさせることで、これまで何気なくマウスでコピペしてきた作業をラクにできるかもしれません。
この記事で紹介している事例を通じて、あなたがご自身の仕事をラクにするためのヒントを見つけていただければ嬉しいです。
そして願わくば、プログラムを学んだり、仕事の楽しさに気づいたりするきっかけにつながると、なお嬉しいです。
GASでフォルダ内の情報をスプレッドシートに一覧するプログラムの詳細を解説
今回、フォルダ内の情報をスプレッドシートに一覧する方法を紹介してきました。
以下では、GASプログラムを解説していきます。
さて、GASプログラムについてはコピペで使えるようにしていますので、全てを理解する必要はありません。
しかし、中にはプログラムを理解したい人もいるはずです。
そこで、GASプログラムの詳細も紹介していきます。
まず今回使用しているGASプログラムを以下に記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
//以下をコピペしてご利用ください //プログラム0|プログラム名を付ける function get_Filenames() { //プログラム1|スプレッドシートの情報を取得する var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheetname = 'シート1'; var sheet = spreadsheet.getSheetByName(sheetname); //プログラム2|フォルダパスの情報を取得する var folderurl = sheet.getRange('B1').getValue(); //プログラム3|フォルダパスの情報を取得する var myArray= folderurl.split('/'); var folderid = myArray[myArray.length-1]; //プログラム4|調査したいフォルダ内のファイルとフォルダを取得する var folder = DriveApp.getFolderById(folderid); var files= folder.getFiles(); var folders= folder.getFolders(); //プログラム5|ファイルとフォルダの情報を入れる配列を作る var myFolder = []; //プログラム6|ファイル名とファイルURLをmyFolderに格納する while(files.hasNext()){ var file = files.next(); myFolder.push(['ファイル',file.getName(),file.getUrl()]) } //プログラム7|フォルダ名とフォルダURLをmyFolderに格納する while(folders.hasNext()){ var folder = folders.next(); myFolder.push(['フォルダ',folder.getName(),folder.getUrl()]) } //プログラム8|シートに情報を貼り付ける sheet.getRange(4, 1, myFolder.length, myFolder[0].length).setValues(myFolder); } |
以下で詳しく解説していきます。
プログラム0|プログラム名を付ける
1 2 |
function get_Filenames() { } |
「get_Filenames()」というプログラム名を指す
この名称に記載ルールはありません。
今回はget_Filenamesとしましたが、名前を好みのプログラム名に変更することは問題ありません。
「()」の意味については、ここでは触れません。
もし「()」の意味に興味がある人は、「GAS 引数」と検索してみると、「()」の意味を少しでも理解できるはずです。
プログラム1|スプレッドシートの情報を取得する
1 2 3 |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheetname = 'シート1'; var sheet = spreadsheet.getSheetByName(sheetname); |
以下で一行ずつ説明していきます。
1 |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); |
spreadsheetという変数に、アクティブになっているスプレッドシートを設定します。
アクティブなスプレッドシートとは、現在操作しているスプレッドシートを指します。
今回は、ボタンを使ってプログラムを動かすような仕組みしていますので、ボタンが設置されているスプレッドシートがアクティブなスプレッドシートの対象となります。
アクティブなスプレッドシートの意味について、もしあなたがVBAを勉強したことがあるなら、activesheetというプログラムを見たことがあるかもしれません。
それと同じようなものだと思っていただければ、問題はないと思います。
1 |
var sheetname = 'シート1'; |
sheetnameという変数に、「シート1」という文字列にする
sheetnameにシート名の情報を入れます。
ここでは「シート1」としていますが、この名前である必要はありません。
今回はたまたまアクティブなスプレッドシートの「シート1」という名前のシートを使っているため、「シート1」にしているに過ぎません。
大切なのは、アクティブなスプレッドシートのシート名と一致させることです。
なお、シート名が一致していないとエラーになり、プログラムが上手く動きません。
1 |
var sheet = spreadsheet.getSheetByName(sheetname); |
sheetという変数に、1行目で変数設定したspreadsheet(アクティブなスプレッドシート)に存在する2行目で設定したsheetname(ここでは「シート1」)を設定する
補足ですが、2行目で「var sheetname = ‘シート1’;」と記載していますが、この一文を削除して、以下のようにしても問題ありません。
1 2 3 4 5 |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheetname = 'シート1'; //上の2行は、以下の1行に集約可能 var sheet = spreadsheet.getSheetByName('シート1'); |
このようにした方が、1行に収まるというメリットがありますが、敢えてそうしていません。
なぜなら、シート名に変更があったとき、プログラムの行を分けていた方がメンテナンスしやすいからです。
ただ、これは好みの問題でもありますので、どちらの方法でも問題ありません。
プログラム2|フォルダパスの情報を取得する
1 |
var folderurl = sheet.getRange('B1').getValue(); |
folderurlという変数に、「シート1」のセルB1の値を入れる
セルB1には、フォルダをしたいフォルダURLを入力しているので、folderurlという変数にフォルダURLを取得します。
プログラム3|フォルダパスの情報を取得する
1 2 |
var myArray= folderurl.split('/'); var folderid = myArray[myArray.length-1]; |
以下で一つずつ解説していきます。
1 |
var myArray= folderurl.split('/'); |
folderurlの値を「/」で区切って、配列にする
たとえば、folderurlの値(セルB1の情報)が「https://drive.google.com/drive/u/0/folders/1VtGyIKsxI6ZCB-D4rGGeRlvR1ZniWUYw」の場合は、myArrayは以下のようになります。
myArray = [ ‘https:’, ”, ‘drive.google.com’, ‘drive’, ‘u’, ‘0’, ‘folders’, ‘1VtGyIKsxI6ZCB-D4rGGeRlvR1ZniWUYw’ ]
つまり、split(‘/’)とすることで、URLの「/」で区切って、それを一つずつ配列の要素として格納していきます。
さらに詳しく言うと以下のようになります。
myArray[1] = ”
myArray[2] = ‘drive.google.com’
myArray[3] = ‘drive’
myArray[4] = ‘u’
myArray[5] = ‘0’
myArray[6] = ‘folders’
myArray[7] = ‘1VtGyIKsxI6ZCB-D4rGGeRlvR1ZniWUYw’
1 |
var folderid = myArray[myArray.length-1]; |
folderidという変数にmyArray[myArray.length-1]を入れる
たとえば、冒頭の例で考えると、myArray.length = 8のため、myArray.length -1 = 7となります。
したがって、
myArray[myArray.length – 1]
= myArray[7]
= ‘1VtGyIKsxI6ZCB-D4rGGeRlvR1ZniWUYw’
myArray.length = 8となる理由は、myArrayの要素は「0,1,2,・・・,7」となっていて、合計8コの要素数だからです。
このようにmyArray[myArray.length – 1] でフォルダIDを取得することができます。
プログラム4|調査したいフォルダ内のファイルとフォルダを取得する
1 2 3 |
var folder = DriveApp.getFolderById(folderid); var files= folder.getFiles(); var folders= folder.getFolders(); |
以下で一行ずつ解説していきます。
1 |
var folder = DriveApp.getFolderById(folderid); |
folderという変数に、GoogleDrive上のフォルダを変数folderid(プログラム3の2行目で設定)をもとに取得する
ちなみに、GoogleDrive上のフォルダを取得するためには、フォルダIDが必要です。
実は、フォルダのURLではGoogleDrive上のフォルダを指定できません。
そのため、フォルダURLに含まれるフォルダIDをmyArray[7]という形で取得しているのです。
しかし、フォルダIDを取得するとなると、何を指しているのかイマイチ分かりづらいです。
そこでフォルダURLをコピペして取得し、そこからプログラムを使って、フォルダIDを取得するような仕組みにしています。
フォルダIDを手作業を入力するとなるとメンドウですが、フォルダURLをコピペするだけなら、メンドウな作業を少し減らせるので、フォルダURLをコピペするようなやり方に変えているわけです。
1 |
var files= folder.getFiles(); |
フォルダ内のファイルを全て取得する
フォルダ内の含まれるファイル(excel、word、スプレッドシート、Googleドキュメントなど)を取得します。
1 |
var folders= folder.getFolders(); |
フォルダ内のフォルダを全て取得する
プログラム5|ファイルとフォルダの情報を入れる配列を作る
1 |
var myFolder = []; |
myFolderという変数に空配列を設定する
ここでは、myFolderという配列を作っています。
以下のプログラムで、このmyFolderという配列に「ファイルやフォルダの名前」、「そのURLリンク」などを格納していきます。
プログラム6|ファイル名とファイルURLをmyFolderに格納する
1 2 3 4 |
while(files.hasNext()){ var file = files.next(); myFolder.push(['ファイル',file.getName(),file.getUrl()]) } |
以下で一行ずつ解説していきます。
1 2 |
while(files.hasNext()){ } |
files.hasNext() で, 取得したファイルのイテレータのうち, まだ処理していないファイルがまだあるかどうかを判別します
もう少し分かりやすく言うと、プログラム5で取得した「フォルダ内の全てのファイル」を一つずつ調べる(対象となるファイルを全て取得し終えるまで)ということです。
1 |
var file = files.next(); |
file.next() で次のファイルが返します
取得したファイルのイテレータのうち、次のファイルを取得することを意味します。
1 |
myFolder.push(['ファイル',file.getName(),file.getUrl()]) |
myFolderという配列に、[「ファイル」という文字列, ファイル名, ファイルURL]の3つの情報を格納する
myFolder[i][0]に「ファイル」という文字列を格納する
myFolder[i][1]にファイル名を格納する
myFolder[i][2]にファイルURLを格納する
プログラム6全体を通じて、フォルダ内のファイルの名前とURLを取得していきます。
プログラム7|フォルダ名とフォルダURLをmyFolderに格納する
1 2 3 4 |
while(folders.hasNext()){ var folder = folders.next(); myFolder.push(['フォルダ',folder.getName(),folder.getUrl()]) } |
以下で一行ずつ解説していきます。
1 2 |
while(folders.hasNext()){ } |
folders.hasNext() で, 取得したフォルダのイテレータのうち, まだ処理していないフォルダがまだあるかどうかを判別します
もう少し分かりやすく言うと、プログラム5で取得した「フォルダ内の全てのフォルダ」を一つずつ調べる(対象となるフォルダを全て取得し終えるまで)ということです。
1 |
var folder = folders.next(); |
folder.next()で、次のフォルダを返します
取得したフォルダのイテレータのうち、次のフォルダを取得することを意味します。
1 |
myFolder.push(['フォルダ',folder.getName(),folder.getUrl()]) |
myFolderという配列に、[「フォルダ」という文字列, フォルダ名, フォルダURL] の3つの情報を格納する
myFolder[i][0]に「フォルダ」という文字列を格納する
myFolder[i][1]にフォルダ名を格納する
myFolder[i][2]にフォルダURLを格納する
プログラム6全体を通じて、フォルダ内のフォルダの名前とURLを取得していきます。
プログラム8|シートに情報を貼り付ける
1 2 |
//プログラム8|シートに情報を貼り付ける sheet.getRange(4, 1, myFolder.length, myFolder[0].length).setValues(myFolder); |
セルA4を左上にして、myFolderに格納した情報を貼り付ける
一般式として、以下のように考えると分かりやすいです。
今回はセルA4から情報を貼り付けたいので、「1:開始行」に4を、「2:開始列」に1を入れています。
4行目かつ1列目は、つまりセルA4のことを指します。
次に、「3:開始行からの行数」と「4:開始列からの列数」の説明をします。
「3:開始行からの行数」には「myFolder.length」を、「4:開始列からの列数」には「myFolder[0].length」を使っています。
これは以下の図を使いながら説明していきます。
上の図は、myFolderに「i個」のデータが入っていることを想定してどのような情報が格納されているかを視覚化した図です。
「3:開始行からの行数」には「myFolder.length」とする理由
「3:開始行からの行数」は、myFolderに格納されている「i個」と同じi行分を指します。したがって、「myFolder.length」とすれば、i行分を取得できるわけです。
たとえば、調査したいフォルダに合計11個のファイルやフォルダが存在すれば、「myFolder.length = 11」となります。
「4:開始列からの列数」を「myFolder[0].length」とする理由
「4:開始列からの列数」には「myFolder[0].length」を使っています。
これは、「myFolder[0].length」でmyFolderの列数分のデータを取得できるからです。
たとえば、この記事で紹介している内容であれば、myFolder[0].length = 3 となります。
それは、以下のとおり、3つの情報をmyFolderに格納しているからです。
myFolder[i][0]に「フォルダ」という文字列を格納する
myFolder[i][1]にフォルダ名を格納する
myFolder[i][2]にフォルダURLを格納する
なお、「myFolder[0].length」ではなく「3」と記載してもプログラム上は上手くいきます。
ただ、今後のメンテナンスも考慮すると、「myFolder[0].length」の方が使いまわしがきくので、「myFolder[0].length」を採用しています。
setValues(myFolder)について
上記のプログラムを説明してきましたが、最後のsetValues(myFolder)について説明します。
これは、「sheet.getRange(4, 1, myFolder.length, myFolder[0].length)」で指定した範囲に「myFolder」に格納されている値を貼り付けることを指します。
ちなみに、冒頭の事例では、調査したいフォルダ内のファイルおよびフォルダの総数が11のため、「myFolder.length = 11」で「myFolder[0].length = 3」です。
よって、「sheet.getRange(4, 1, 11, 3).setValues(myFolder);」という値でプログラムが動いています。
ただ当然、調査したいフォルダ内のファイルおよびフォルダの総数は、フォルダごとに異なります。
常に可変する内容であるため、「sheet.getRange(4, 1, myFolder.length, myFolder[0].length).setValues(myFolder)」として、調査したいフォルダの中身が大量に存在しても対応できるようにしています。
プログラムの解説は以上です。
Google Apps Script(GAS)について詳しく理解したいなら
Google Apps Script(GAS)を活用すると、仕事を効率化できる幅を広げることができます。
たとえば私が実際にGASを活用して効率化してきた作業は以下の動画で解説しています。
動画を見てみると、あなたの仕事にどのようにGASを応用すればいいのかイメージが浮かぶこともあると思います。
ぜひご覧ください。
GASの使い方・始め方を知らない人にはこちらの記事・動画がオススメ
この機会に、「GASを使い方を知りたい」と思った人もいるかもしれません。
そのように感じている人は、ぜひ以下の記事をご覧ください。
10分程度でGoogle Apps Scriptを使うためのスタート地点に立てるように解説をしています。
当然、プログラミング経験ゼロでGAS知識ゼロであれば、使いこなせるようにまでには一定期間の勉強が必要です。
このサイトでもいくつか事例を使って、GASの実践方法を紹介しています。
興味がある人は以下の記事もご覧ください。
オススメの書籍を紹介
書籍に関しては、以下を読んで購入しました。
GASの全体感をつかむには良いと思います。
ただし、実際の勉強は書籍よりもウェブサイトを活用してきました。
はっきり言って、ウェブサイトだけでも十分に勉強できるほど数多くの情報がアップされています。
書籍で全体感をつかんだら、ウェブサイトでの学習に切り替えたほうが良いのが私の考えです。
Googleスプレッドシートを効率的に操作したいなら
この記事ではGASを活用した仕事の効率化の事例を紹介してきました。
しかしGoogleスプレッドシートの仕事を早くすることを目指すなら、GAS以外の方法もあります。
たとえば、以下の方法です。
上記の動画は、仕事を早くこなす上で、覚えておくと役立つ内容を詰め込んでいます。
ぜひGoogleスプレッドシートを上手に扱えるようになりたい人はご覧いただきたいです。