スプレッドシートで
問い合わせ管理を作る5ステップ
メールや電話で届く問い合わせの受付・対応・完了を、Googleスプレッドシートにまとめる手順を、中小企業向けに5ステップで整理します。
Table of Contents
問い合わせ管理は「1問い合わせ1行」の台帳から作る
問い合わせをメールの受信箱や電話のメモで管理していると、誰が対応中なのか、返信が済んでいるのかを確認するたびに探す手間がかかります。1問い合わせを1行で記録する台帳を1つ作り、受付から完了までをそこで追えるようにすると、対応漏れと二重対応が減ります。
ラスタージ(Lustage)は低コストの業務システム開発とAIチャットボットの導入支援を行っており、問い合わせ管理の構築もご相談いただけます。ここでは、自分たちで作る場合の5ステップを紹介します。
ステップ1:問い合わせ台帳の項目を決める
受付番号、受付日時、受付経路(メール・電話・フォーム)、相手の名前、内容、分類、ステータス、担当者、完了日を最小の項目とします。受付番号は「I2026-0001」のように年と連番にします。
分類は最初に10個以内の選択肢にし、プルダウンで選べるようにします。後で集計できる形にしておくことが、ステップ5のAIチャットボットの判断につながります。
- 受付番号、受付日時、受付経路
- 相手の名前、内容(要約)
- 分類、ステータス
- 担当者、完了日、備考
ステップ2:ステータスと入力規則を設計する
ステータスは「未対応・対応中・完了」の3つに絞ります。細かく分けすぎると更新されなくなるため、迷ったらこの3つから始めます。
受付日時を過ぎて一定時間たっても未対応の行は、条件付き書式で色を付けると、放置されている問い合わせに気づけます。
ステップ3:受付メールをGASで台帳に記録する
問い合わせ用のGmailに「問い合わせ」ラベルを付ける設定にし、ラベル付きで未記録のメールをGASで読み取って台帳へ1行追加します。記録済みのメールは別のラベルに付け替えて、二重に記録されないようにします。
手入力の手間が減り、記録漏れも防げます。ただし、GASのメール処理にはGoogleの1日あたりの上限があるため、件数が非常に多い場合は事前に確認します。
function importInquiryMails() {
const sheet = SpreadsheetApp.getActive().getSheetByName('台帳');
const todo = GmailApp.getUserLabelByName('問い合わせ');
const done = GmailApp.getUserLabelByName('記録済み') || GmailApp.createLabel('記録済み');
if (!todo) return;
todo.getThreads(0, 50).forEach(thread => {
const msg = thread.getMessages()[0];
const id = 'I' + Utilities.formatDate(msg.getDate(), 'Asia/Tokyo', 'yyyyMMddHHmmss');
sheet.appendRow([id, msg.getDate(), 'メール', msg.getFrom(), msg.getSubject(), '', '未対応', '', '']);
thread.removeLabel(todo);
thread.addLabel(done);
});
}ステップ4:未対応の問い合わせをGASで通知する
毎朝GASを実行し、受付から24時間以上たっても未対応の行を担当者へメールで知らせます。時間主導型トリガーを設定すれば、人が確認しなくても動きます。
GASはGoogleアカウントで動くため、サーバー代などの月額運用費がかかりません。一方で、1回の実行時間に上限があるため、台帳が数千行を超える場合は集計の方法を見直します。
function notifyUnhandledInquiries() {
const sheet = SpreadsheetApp.getActive().getSheetByName('台帳');
const rows = sheet.getDataRange().getValues().slice(1);
const limit = new Date(Date.now() - 24 * 60 * 60 * 1000);
const targets = rows.filter(r => r[6] === '未対応' && r[1] instanceof Date && r[1] < limit);
if (targets.length === 0) return;
const body = targets.map(r => `${r[0]} ${r[3]} ${r[4]}`).join('\n');
MailApp.sendEmail('info@example.com', '【問い合わせ】24時間以上未対応', body);
}ステップ5:分類別に集計し、AIチャットボットが向くか判断する
月別・分類別に件数をCOUNTIFSで集計すると、どの問い合わせが多いかが見えてきます。営業時間や料金のように答えが決まっている質問が全体の多くを占めるなら、FAQページの整備やAIチャットボットで減らせる可能性があります。
逆に、個別の事情の確認が必要な問い合わせが中心なら、チャットボットでは減りにくいため、台帳と通知で対応の質を上げるほうが効果的です。数か月分の台帳が貯まった段階で判断します。
// 分類(F列)別の件数を月ごとに集計(台帳!B=受付日時)
=COUNTIFS(台帳!F:F, "料金", 台帳!B:B, ">="&DATE(2026,10,1), 台帳!B:B, "<"&DATE(2026,11,1))まとめ
1問い合わせ1行の台帳、ステータスの設計、メールの自動記録、未対応の通知、分類別の集計の順に進めれば、無理なく問い合わせ管理を始められます。集計の結果、同じ質問が多いと分かった場合は、受託でのAIチャットボット導入も選択肢になります。要件が大きい場合は、ラスタージにご相談ください。
よくある質問
月の問い合わせが数十〜数百件程度で、対応者が数人なら運用できます。メールの返信まで1画面で行いたい場合や、複数人の同時対応が多い場合は、専用のヘルプデスクツールとの比較も検討してください。
ステータスを「未対応・対応中・完了」に絞り、受付から一定時間を過ぎても未対応の行をGASで毎朝メール通知すれば、見落としを減らせます。
Gmailにラベルを付けたメールをGASで読み取り、台帳へ1行追加できます。サーバー代などの月額運用費は0円で組めますが、1日のメール処理量にはGoogleの上限があります。
台帳の「分類」列で件数を集計し、同じ質問が全体の多くを占めるなら、チャットボットやFAQページで減らせる可能性があります。件数が少ない段階では、FAQの整備だけで十分なこともあります。
はい。ラスタージ(Lustage)では、現在の問い合わせの流れと件数を確認したうえで、スプレッドシートとGASによる低コストの管理と、受託でのAIチャットボット導入支援を行います。向かない規模の場合は別の構成を正直にご提案します。
関連するサービス・記事
Services
ラスタージ(Lustage)は、低コストの業務システム開発・DX化支援・AIチャットボット導入・GAS開発・Webサイト制作を、月額運用費0円の仕組みで承っています。
関連する記事
- AIチャットボット導入で失敗しない5つのポイント|中小企業向け
- スプレッドシートで見積書管理を作る5ステップ
- スプレッドシートで請求書管理を作る5ステップ
- スプレッドシートで案件管理を作る5ステップ
- スプレッドシートで勤怠管理を作る5ステップ
- スプレッドシートで在庫管理を作る5ステップ
Official Docs
この記事で扱ったサービスの公式ドキュメントです。仕様や上限値は変わることがあるため、実装前に最新の内容をご確認ください。
自社の業務に合う構成を、 まず相談する。
現在の業務の流れと利用人数をお知らせください。ラスタージの田中達也が、問い合わせ管理の作り方やAIチャットボットが向くかどうかまで正直にお答えします。