Google Apps Script(GAS)は、Googleスプレッドシートの操作を自動化し、効率化するための強力なツールです。本記事では、GASを使って複数のシートのデータを一括で処理する基本的なループ処理の方法を解説します。
初心者にも分かりやすく、実用的なテクニックを学べます。
■ 基本操作
複数のシートのデータを一括処理するためには、SpreadsheetApp クラス、getSheets() メソッド、getRange() メソッドを使います。
(1)任意のスプレッドシートを開き、[拡張機能]メニューから[Apps Script]を選択し、エディターを開きます。
(2)(新しいプロジェクトの場合は、書かれているコードを全て消して)以下のコードをエディタに入力します。
SpreadsheetApp.getActiveSpreadsheet():現在開いているスプレッドシートを取得します。
getSheets():スプレッドシート内のすべてのシートを取得します。
for:ループを使って各シートを処理します。
getRange('A1'):セルA1を指定した範囲オブジェクトを取得します。
setValue('Processed'):指定された範囲オブジェクトに対して、値を入力します。
(3)processMultipleSheets 関数を保存/選択し、実行ボタンをクリックします。
(4)スプレッドシートのA1セルに「Processed」と入力されていることを確認しましょう。
(同じく他のシートも全て同様の動きになっていますよね?)
■ 応用編:###
基本をマスターしたら、次は応用として、各シートの特定の範囲内のデータを集計するスクリプトを作成してみましょう。
(1)以下のコードをエディタに入力し、実行してみましょう。
getRange('A1:A10'):セル範囲A1からA10を指定し、その範囲を取得します。
getValues():その範囲内の値を取得します。
jをカウンターとした内部ループで各セルの値を集計し、Summary シートに合計を表示します。
(2)実行前の状態はこんな感じです。
シートは、3種類
各シート、A1~A10にそれなりの数字を入力済
(3)「Summary」シートが自動的に追加され、各シートのA1~A10の値を合算した「60」が設定されていることを確認しましょう。
■ まとめ
Google Apps Scriptを使えば、複数のシートのデータを効率的に一括処理できます。今回紹介した基本的なループ処理と応用編を活用することで、スプレッドシートの操作をさらに効率化できます。
是非試してみて、業務の効率化に役立ててください。
Comments