中級者向け実践:一般企業でのGASスプレッドシート操作による四半期レポート自動作成(部門利用)

中級者向け実践:一般企業でのGASスプレッドシート操作による四半期レポート自動作成(部門利用)

本記事では、Google Apps Script(GAS)とスプレッドシートを連携させ、一般企業における四半期レポートの自動作成を効率化する方法を、中級者向けに解説します。部門利用を想定し、実用的なコード例を交えながら、GASの活用方法をステップバイステップでご紹介します。

GASとスプレッドシート連携の基礎

GASは、Google Workspaceの各種サービスを連携させ、自動化を実現するための強力なツールです。特にスプレッドシートとの連携は、データ処理やレポート作成の効率化に大きく貢献します。四半期レポートの作成は、多くの企業で定期的に行われる業務ですが、手作業で行うには時間と労力がかかります。GASを活用することで、データ収集、集計、分析、レポート作成といった一連の作業を自動化し、人的ミスを減らすことができます。

GASの基本構文

GASの基本構文はJavaScriptに基づいています。変数宣言にはvarletconstを使用し、関数は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エディタを開き、上記のコードをコピーして貼り付けます。spreadsheetIdinputSheetNameoutputSheetNameを実際の値に置き換えてください。その後、createQuarterlyReport()関数を実行します。初回実行時には、スプレッドシートへのアクセス許可を求められますので、許可してください。

応用例と活用シーン

上記のコードを応用することで、さまざまなレポートを自動作成できます。例えば、商品別の売上集計、顧客別の売上集計、地域別の売上集計など、企業のニーズに合わせたカスタマイズが可能です。また、Google Data Studioと連携することで、より高度なデータ分析や可視化を実現できます。

他のGoogle Workspaceサービスとの連携

GASは、スプレッドシートだけでなく、Gmail、Googleカレンダー、Googleドキュメントなど、他のGoogle Workspaceサービスとも連携できます。例えば、四半期レポートの作成が完了したら、自動的に関係者にメールで通知したり、レポートをGoogleドキュメントとして保存したりすることができます。

まとめ

本記事では、GASとスプレッドシートを連携させ、四半期レポートを自動作成する方法を解説しました。GASを活用することで、レポート作成業務を大幅に効率化し、より戦略的な業務に集中することができます。ぜひ、本記事を参考に、GASの活用に挑戦してみてください。