中級者向け実践:一般企業でのGASスプレッドシート操作による四半期レポート自動作成(部門利用)
本記事では、Google Apps Script(GAS)とスプレッドシートを連携させ、一般企業における四半期レポートの自動作成を効率化する方法を、中級者向けに解説します。部門利用を想定し、実用的なコード例を交えながら、GASの活用方法をステップバイステップでご紹介します。
GASとスプレッドシート連携の基礎
GASは、Google Workspaceの各種サービスを連携させ、自動化を実現するための強力なツールです。特にスプレッドシートとの連携は、データ処理やレポート作成の効率化に大きく貢献します。四半期レポートの作成は、多くの企業で定期的に行われる業務ですが、手作業で行うには時間と労力がかかります。GASを活用することで、データ収集、集計、分析、レポート作成といった一連の作業を自動化し、人的ミスを減らすことができます。
GASの基本構文
GASの基本構文はJavaScriptに基づいています。変数宣言にはvar
、let
、const
を使用し、関数はfunction
キーワードで定義します。スプレッドシートを操作するためには、SpreadsheetApp
サービスを利用します。
// スプレッドシートを開く
function openSpreadsheet(spreadsheetId) {
const ss = SpreadsheetApp.openById(spreadsheetId);
return ss;
}
スプレッドシートからのデータ取得
スプレッドシートからデータを取得するには、getSheetByName()
メソッドでシートを指定し、getDataRange()
メソッドでデータ範囲を取得します。getValues()
メソッドを使うと、データ範囲内のすべての値を二次元配列として取得できます。
// シートからデータを取得
function getDataFromSheet(spreadsheetId, sheetName) {
const ss = openSpreadsheet(spreadsheetId);
const sheet = ss.getSheetByName(sheetName);
const data = sheet.getDataRange().getValues();
return data;
}
四半期レポート自動作成の実践
ここでは、実際にGASを使って四半期レポートを自動作成する手順を解説します。例として、売上データを集計し、四半期ごとの売上合計と成長率を算出するレポートを作成します。
データの準備
まず、スプレッドシートに売上データを入力します。シートの構成は以下の通りとします。
- A列:日付
- B列:商品名
- C列:売上額
データは四半期ごとにまとまっている必要はありません。GASで日付を解析し、四半期ごとに集計します。
GASコードの作成
以下のGASコードは、指定されたスプレッドシートから売上データを取得し、四半期ごとに集計して、結果を別のシートに書き出すものです。
// 四半期レポート作成
function createQuarterlyReport(spreadsheetId, inputSheetName, outputSheetName) {
const ss = openSpreadsheet(spreadsheetId);
const inputSheet = ss.getSheetByName(inputSheetName);
const outputSheet = ss.getSheetByName(outputSheetName);
const data = getDataFromSheet(spreadsheetId, inputSheetName);
// ヘッダー行をスキップ
const headers = data[0];
const salesData = data.slice(1);
// 四半期ごとの売上を集計
const quarterlySales = {};
salesData.forEach(row => {
const date = new Date(row[0]);
const year = date.getFullYear();
const quarter = Math.floor((date.getMonth() + 3) / 3);
const key = `${year} Q${quarter}`;
const sales = row[2];
if (!quarterlySales[key]) {
quarterlySales[key] = 0;
}
quarterlySales[key] += sales;
});
// 集計結果をシートに書き出す
const outputData = [["四半期", "売上"]];
for (const key in quarterlySales) {
outputData.push([key, quarterlySales[key]]);
}
// 既存のデータをクリア
outputSheet.clearContents();
// データを書き込み
outputSheet.getRange(1, 1, outputData.length, outputData[0].length).setValues(outputData);
}
コードの説明
openSpreadsheet(spreadsheetId)
:スプレッドシートを開きます。getDataFromSheet(spreadsheetId, sheetName)
:指定されたシートからデータを取得します。createQuarterlyReport(spreadsheetId, inputSheetName, outputSheetName)
:四半期レポートを作成するメイン関数です。salesData.forEach(row => { ... })
:売上データを1行ずつ処理し、四半期ごとに集計します。outputSheet.getRange(1, 1, outputData.length, outputData[0].length).setValues(outputData)
:集計結果をシートに書き込みます。
コードの実行
GASエディタを開き、上記のコードをコピーして貼り付けます。spreadsheetId
、inputSheetName
、outputSheetName
を実際の値に置き換えてください。その後、createQuarterlyReport()
関数を実行します。初回実行時には、スプレッドシートへのアクセス許可を求められますので、許可してください。
応用例と活用シーン
上記のコードを応用することで、さまざまなレポートを自動作成できます。例えば、商品別の売上集計、顧客別の売上集計、地域別の売上集計など、企業のニーズに合わせたカスタマイズが可能です。また、Google Data Studioと連携することで、より高度なデータ分析や可視化を実現できます。
他のGoogle Workspaceサービスとの連携
GASは、スプレッドシートだけでなく、Gmail、Googleカレンダー、Googleドキュメントなど、他のGoogle Workspaceサービスとも連携できます。例えば、四半期レポートの作成が完了したら、自動的に関係者にメールで通知したり、レポートをGoogleドキュメントとして保存したりすることができます。
まとめ
本記事では、GASとスプレッドシートを連携させ、四半期レポートを自動作成する方法を解説しました。GASを活用することで、レポート作成業務を大幅に効率化し、より戦略的な業務に集中することができます。ぜひ、本記事を参考に、GASの活用に挑戦してみてください。