「毎月末に売上データをExcelで集計して、メールで共有して、請求書を一枚ずつ作る」——そんな繰り返しの作業に毎回数時間を費やしていませんか。
Google Workspaceに含まれるGoogleスプレッドシートは、Excelと同じ感覚で使えるだけでなく、クラウドならではの自動化機能が充実しています。便利な関数を使いこなし、さらに**GAS(Google Apps Script)**を組み合わせれば、集計・通知・書類作成といった反復業務を大幅に削減できます。
本記事では、中小企業の担当者がすぐに実践できる関数の活用法と、GASによる自動化の入門知識を具体的なコード例とともに解説します。
まず押さえたい関数3選
VLOOKUP/XLOOKUP:別シートのデータを自動参照
商品コードから商品名・単価を引っ張ってくる、顧客IDから住所を取得するといった「表引き」は業務でよく使う処理です。VLOOKUPはその定番で、XLOOKUPはその進化版です。
=VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE)
A2のセルに入力した商品コードをもとに、「商品マスタ」シートのA〜C列から商品名(2列目)を取得します。コードを入力するだけで商品名が自動表示されるため、手入力ミスを防げます。
ARRAYFORMULA:1つの数式を列全体に適用
通常は行ごとに数式をコピーする必要がありますが、ARRAYFORMULAを使えば1つの数式が列全体に自動適用されます。新しい行が追加されても数式を貼り直す必要がなく、メンテナンスコストが下がります。
=ARRAYFORMULA(IF(A2:A<>"", B2:B * C2:C, ""))
B列(数量)とC列(単価)を掛け算した金額をD列全体に自動計算します。受注管理シートなどで行追加のたびに式をコピーしている場合、これ1本に置き換えるだけで運用が楽になります。
QUERY:SQLライクなデータ集計
複数の条件で絞り込みや集計をしたいときはQUERY関数が強力です。スプレッドシートの中でSQLに似た記法が使えます。
=QUERY(売上データ!A:E, "SELECT B, SUM(E) WHERE D='東京' GROUP BY B LABEL SUM(E) '売上合計'", 1)
「東京」の担当者ごとの売上合計を別シートに自動集計します。ピボットテーブルを毎月更新する手間が省けます。
GAS(Google Apps Script)で本格自動化
関数だけでは対応できない「メール送信」「定期実行」「書類の自動生成」などには、GASを活用します。GASはJavaScriptベースのスクリプト言語で、スプレッドシートのメニューから「拡張機能 → Apps Script」で編集画面を開くだけで始められます。
事例1:売上データを毎朝メールで報告
売上シートの集計値を毎朝9時に担当者へ自動メール送信するスクリプトです。
function sendDailySalesReport() {
const sheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName('売上データ');
const total = sheet.getRange('F2').getValue(); // 当日売上合計セル
const today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd');
GmailApp.sendEmail(
'[email protected]',
`【売上報告】${today}`,
`本日の売上合計: ¥${total.toLocaleString()}`
);
}
このスクリプトを書いたら、Apps ScriptのトリガーからgetDailySalesReport関数を「時間ベース → 毎日 → 午前9時」に設定するだけ。毎朝自動でメールが届きます。
事例2:フォーム回答を元に請求書を自動生成
Googleフォームと連携すれば、フォームに入力された情報をもとに請求書ドキュメントを自動生成することも可能です。以下は、スプレッドシートの最新行からGoogleドキュメントのテンプレートに差し込むシンプルな例です。
function createInvoiceFromSheet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName('受注一覧');
const lastRow = sheet.getLastRow();
const data = sheet.getRange(lastRow, 1, 1, 5).getValues()[0];
const [date, clientName, item, qty, amount] = data;
const templateId = 'YOUR_TEMPLATE_DOC_ID'; // テンプレートのドキュメントID
const newDoc = DriveApp.getFileById(templateId).makeCopy(`請求書_${clientName}_${date}`);
const body = DocumentApp.openById(newDoc.getId()).getBody();
body.replaceText('{{顧客名}}', clientName);
body.replaceText('{{品目}}', item);
body.replaceText('{{数量}}', qty);
body.replaceText('{{金額}}', `¥${amount.toLocaleString()}`);
}
Googleドキュメント側に {{顧客名}} などのプレースホルダーを入れたテンプレートを用意しておけば、スクリプト実行ごとに差し込み済みのコピーが自動生成されます。月末の請求処理がワンクリックで完了します。
導入効果の目安
GASとスプレッドシートを組み合わせた自動化を進めた企業では、月末の請求処理にかかっていた時間が10時間から2時間以下に削減(約80%削減)した事例が報告されています。受注管理の自動化で受注処理時間が60%削減、人為的ミスも大幅減という結果も出ています。
プログラミング経験がなくても、今回紹介したような定型スクリプトをコピー&ペーストして試すところから始められます。まずは小さな繰り返し作業を1つGASで自動化し、効果を実感してみてください。
Google Workspaceをさらに活用するために
スプレッドシートとGASの組み合わせは、Google Workspaceが持つ自動化ポテンシャルのほんの一部です。Google Workspaceを導入するメリットでは、Gmail・ドライブ・Meet・カレンダーを含むスイート全体での業務改善について解説しています。ツール間の連携を深めることで、さらに大きな効率化が実現できます。
「自社の業務フローに合わせてGASを組みたいが、自社では開発リソースがない」「Google Workspaceの導入・設定から任せたい」という方は、ぜひグリームハブにご相談ください。Google Workspace の導入支援から業務自動化スクリプトの開発まで、中小企業の実態に合わせたサポートを提供しています。