GASが最強のソリューションである!【基礎編】
はじめに
GASが好きです
今の会社に入って初めてGASを触りましたが、簡単にいろいろできるので感動しました
今回は基礎的な操作について書いていきます
GASってなに?
Google Apps Script(GAS)は、Googleのスクリプト言語であり、JavaScriptに基づいています
GASは、Google Workspaceアプリケーション(Google Sheets、Google Docs、Google Forms、Gmailなど)を自動化し、カスタマイズするための強力なツールですby ChatGPT先生
そうです、GASとは強力なツールなのです
この記事を書き始めて初めて知りしましたが、Googleドキュメント・フォーム・Gmailも操作できるんですね、、
改めて強力なツールなのだと感じました!
今回、ここでいうGASはGoogleスプレッドシートを操作する話とさせてください
GASの基本操作
スクリプトエディタの開き方
- googleスプレッドシートを開く
- メニューから「拡張機能」 > 「Apps Script」を選択
これでスクリプトを書き始められます!
ようこそ、GASへ!
コンソールログ出力
function myFunction() {
Logger.log('Hello, World!');
}
シートを取得する
シートを操作するにはまずはシートを取得しましょう!
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getSheetByName('シート1'); // シート名を指定
Logger.log(sheet.getName());
単一セルの値を取得
getRangeでセルを指定した後、getValueで値を取得
const cellValue = sheet.getRange('A1').getValue(); // A1セルの値を取得
Logger.log(cellValue);
単一セルに値を設定
getRangeで指定したセルにsetValueで値を設定
sheet.getRange('A1').setValue('リンゴ'); // A1セルに'リンゴ'を設定
範囲のセルの値を取得
getRange(行番号, 列番号, 行数, 列数)で範囲を指定し、getValuesで2次元配列として値を取得
const cellValues = sheet.getRange(1, 1, 10, 5).getValues(); // A1:E10セルの値を取得
Logger.log(cellValues);
範囲のセルに値を設定
getRange(行番号, 列番号, 行数, 列数)で指定した範囲セルに、setValuesで2次元配列の値を設定
注意:getRangeに指定した行数・列数と設定する2次元配列の行数・列数が一致している必要あり
sheet.getRange(1, 1, 10, 5).setValues(cellValues); // A1:E10セルに値を設定
で、GASの何が最強なわけ?
たとえば、こんな時
- 月毎にファイルが分かれている売上データを1シートにまとめたい、けどめんどい
- 連携データの抜けがないか、毎日わざわざ1つずつテーブル見に行くのはめんどい
- とはいえ、プロダクトに盛り込むような機能ではない
- サクッとなんか便利ツール、作れないかな
作れちゃうんです
そう、GASならね
- 複数のシート、ファイルに分かれているデータを1シートにまとめるスクリプト
- RedashやDatadogのAPIを叩いて、日次で実行トリガーを設定し、スプシ見れば常に最新情報の一覧になってる
- スプレッドシートのIDを教えてもらえたら、スクリプトを相手に公開せずとも更新しに行くことも可能
ちょっとした社内ツールはもちろん、お客様に提供するレポートすらも組めちゃう
かゆいところに手が届く、効率爆上がりの最強ツールだと感じてます
さいごに
今回は基礎的な部分について書きました
今後はAPI叩く編とか書いていこうと思います
Discussion