SalesDock ロゴSalesDock
不動産

スプレッドシートで顧客管理—不動産仲介5〜15名の列設計とCRM移行の線引き

最終更新 2026年8月9日7分で読める

この記事は不動産業界のAI活用・業務効率化 完全ガイドの一部です。全体像を知りたい方はまず完全ガイドをご覧ください。

この記事のポイント

CRMに月額数万円を払う前に、Googleスプレッドシート1枚で顧客管理を始められる。大事なのはツールではなく「運用ルール」。列設計・ステータス管理・追客タイミングの3つを決めれば、5〜15名規模の不動産会社なら十分に回る。

CRMを入れたいけど、コストが見合わない

不動産会社の経営者と話すと、「顧客管理をちゃんとやらないと」という危機感を持っている方は多い。ただ、その次に出てくるのが「CRM、月額いくらかかるの?」という質問だ。

不動産向けCRMの相場は1ユーザーあたり月額3,000〜8,000円。10名で使えば月3〜8万円、年間36〜96万円になる。初期設定や導入支援を含めると100万円を超えることも珍しくない。

しかも導入したからといって、現場が使ってくれる保証はない。「CRMを入れたけど入力率30%で、結局Excelに戻った」という話は本当によく聞く。

だったら、まずはGoogleスプレッドシートで始めればいい。お金をかける前に「顧客管理の型」を固めることが先決だ。

スプレッドシートCRMの列設計—最低限これだけあればいい

スプレッドシートで顧客管理を始めるとき、最初の壁は「どんな列を作ればいいかわからない」こと。不動産仲介なら、以下の10列で十分にスタートできる。

列名入力例ポイント
問い合わせ日2026/03/22日付形式を統一
お客様名山田 太郎姓名の間にスペース
電話番号090-1234-5678ハイフン付きで統一
メールアドレスyamada@example.com
流入元SUUMO / HP / 紹介プルダウンで選択式に
希望エリア世田谷区・目黒区複数可
希望条件3LDK / 5,000万以内予算と間取りを最低限
ステータス初回対応済 / 追客中 / 案内済 / 成約 / 失注5段階で十分
担当者佐藤プルダウン
次回アクション日2026/03/25これが追客の生命線

「もっと項目を増やしたい」と思うかもしれないが、最初から20列も作ると入力が面倒になって誰も使わなくなる。まずは10列で始めて、本当に必要な列だけを後から追加するのが正解だ。

なお、Excelとスプレッドシートの違いで悩んでいるなら、不動産の顧客管理をエクセルでやり続ける限界と次の一手も参考になるはずだ。

不動産固有の列を足す—汎用の顧客リストとの分かれ目

先ほどの10列は、業種を問わず使える汎用の並びだ。3ヶ月ほど回して入力が定着したら、ここに不動産固有の列を足す。汎用の顧客リストのままでは、店長が見たときに「この案件、いま何待ちなのか」が分からないからだ。次の5列を足すと、追客の判断がシートの中で完結する。

列名入力例なぜ必要か
物件IDB-0312どの物件からの反響かを紐づける。同じ物件に何件の反響が付いたかが数えられる
媒介種別専属専任 / 専任 / 一般売主側の案件で、報告義務と登録期限の管理が変わる。プルダウンにする
レインズ登録日2026/03/25媒介契約日からの期限管理に使う。空欄の行を毎朝抽出すれば登録漏れが出ない
審査状況未申込 / 入居審査中 / ローン事前 / 承認 / 否決ステータスとは別に持つ。「案内済」のまま止まっている案件の実態がここに出る
失注理由条件不一致 / 他社決定 / 時期見送り / 連絡不通失注を数えられる形にする。「他社決定」が多いなら追客速度、「連絡不通」が多いなら初動の問題

追加のポイントは2つある。1つは、すべてプルダウンにすること。自由入力にすると「専任」「専任媒介」「専任媒介契約」が混在して、後から集計できなくなる。もう1つは、ステータスと審査状況を分けること。1つの列で「案内済」「審査中」「承認」を混ぜると、案件がどこまで進んだのかと、いま誰の返事待ちなのかが区別できなくなる。

逆に、賃貸専業なら媒介種別とレインズ登録日は要らない。売買専業なら審査状況は「ローン事前・本審査」だけでいい。自社が扱っていない業態の列は足さない。空欄の列が並ぶシートは、それだけで「入力しなくていいもの」という空気を作る。

Excel・既存CRMからシートに移す手順

ゼロから始める会社ばかりではない。Excelの顧客台帳が何年分もある、あるいは入れたCRMが使われずに放置されている—この状態からシートに移すときは、全部持ってこようとした瞬間に失敗する。移行の作業量ではなく、移した後に誰も見ないシートができることが問題になる。

移行の5ステップ

1. 移す範囲を決める:直近1年で1度でも接触がある顧客だけを移す。それ以前は別シート(アーカイブ)にそのまま貼って残す。捨てるのではなく、日常的に見る場所から出す

2. 項目の対応表を作る:移行前の列と移行後の列を1対1で並べた表を先に作る。「備考」に複数の情報が詰まっている列は、ここで分解先を決める。この表を作らずに手作業でコピーすると、担当者ごとに解釈が変わる

3. 表記をそろえる:日付形式、電話番号のハイフン有無、担当者名の表記ゆれ。移行時が最後のチャンスで、入った後に直すのは倍以上かかる。置換で機械的に処理する

4. 移さない項目を決める:過去の営業メモ、更新日時の履歴、使われていないカスタム項目。移行のときに「一応持ってくる」と決めた列は、ほぼ確実に使われない

5. 次回アクション日を埋める:移行後、この列が空欄の行は追客対象から消える。移す時点で全件に日付を入れるか、入れられない案件は失注扱いにして棚卸しする

ステップ5が実質的な棚卸しになる。「次に何をするか決められない顧客」は、台帳に残っていても追客されない。移行のタイミングでこれを一度全部見直すことに、移行作業そのものより価値がある。

CRMからの移行では、エクスポート形式に注意する。CSVで出したときに、改行を含むメモ列が行を壊すことがよくある。先に10行だけ試しに移して、行数が合っているかを確認してから全件を流す。いきなり全件を貼って崩れると、どこがずれたのか分からなくなる。

運用ルールを決める—ツールより大事なこと

スプレッドシートCRMが破綻する原因の9割は「運用ルールがない」こと。ツールの問題ではない。最低限、以下の3つだけ決めておけばいい。

ルール1:反響が来たら30分以内にシートに入力する

「あとで入力しよう」が一番危険。反響対応と同時にシートに1行追加する。電話しながらでもスマホからGoogleスプレッドシートを開けば入力できる。

ルール2:毎朝「次回アクション日」でフィルターをかける

「今日やるべきこと」を毎朝シートから確認する。次回アクション日が今日以前の行を抽出すれば、追客漏れがゼロになる。これだけで反響の7割が追客されない問題を大幅に改善できる。

ルール3:週1回、店長がデータを棚卸しする

毎週月曜の朝礼で、ステータスが2週間以上動いていない顧客を洗い出す。「この人、どうなった?」を全員で確認するだけで、放置案件が激減する。

追客を仕組み化する—GASで通知を自動化

運用ルールを決めても、人間は忘れる。だからこそ「通知」を仕組みにしておくと効果的だ。

Google Apps Script(GAS)を使えば、「次回アクション日が今日の行をSlackやメールで自動通知する」仕組みを無料で作れる。プログラミングの知識がなくても、ChatGPTに「スプレッドシートの次回アクション日が今日の行をSlackに通知するGASを書いて」と頼めば、動くコードが手に入る。

とはいえ、ゼロから頼むより手元に動く形があったほうが早い。次のコードは、次回アクション日が今日以前で、まだ成約にも失注にもなっていない行だけを毎朝メールで送るものだ。スプレッドシートの「拡張機能 → Apps Script」を開き、貼り付けて、先頭の設定値を自社のシートに合わせるだけで動く。

function notifyTodayFollowUps() {
  // ---- ここだけ自社のシートに合わせて直す ----
  const SHEET_NAME = '顧客管理';   // シート名
  const NAME_COL   = 2;            // お客様名(B列)
  const STATUS_COL = 8;            // ステータス(H列)
  const OWNER_COL  = 9;            // 担当者(I列)
  const DATE_COL   = 10;           // 次回アクション日(J列)
  const TO         = 'tencho@example.co.jp'; // 通知先
  // -----------------------------------------

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
  if (!sheet) return;

  const rows  = sheet.getDataRange().getValues();
  const tz    = Session.getScriptTimeZone();
  const today = Utilities.formatDate(new Date(), tz, 'yyyy/MM/dd');
  const lines = [];

  for (let i = 1; i < rows.length; i++) {      // 1行目は見出しなので飛ばす
    const cell = rows[i][DATE_COL - 1];
    if (!(cell instanceof Date)) continue;     // 空欄・文字列の日付は対象外

    const day = Utilities.formatDate(cell, tz, 'yyyy/MM/dd');
    if (day > today) continue;                 // 未来の予定はまだ通知しない

    const status = String(rows[i][STATUS_COL - 1]);
    if (status === '成約' || status === '失注') continue;

    lines.push(day + ' / ' + rows[i][OWNER_COL - 1] + ' / '
             + rows[i][NAME_COL - 1] + ' / ' + status);
  }

  if (lines.length === 0) return;              // 0件の日は送らない

  MailApp.sendEmail(
    TO,
    '【本日の追客】' + lines.length + '件',
    lines.join('\n')
  );
}

貼り付けただけでは動かない。時間主導型のトリガーを設定して初めて毎朝走る。Apps Scriptの画面左の「トリガー」から追加し、実行する関数に notifyTodayFollowUps、イベントのソースに「時間主導型」、タイプに「日付ベースのタイマー」、時刻を「午前8時〜9時」に設定する。初回の保存時にGoogleアカウントの承認を求められるので、シートの所有者アカウントで承認する。

つまずきやすい3点

日付が文字列になっている:「2026/3/25」と手入力すると文字列として入る場合があり、その行は通知されない。次回アクション日の列は表示形式を日付に固定し、入力規則で日付以外を弾く

列番号がずれる:列を挿入すると設定値と実際の列がずれる。先ほど追加した不動産固有の列を足したなら、必ず設定値を見直す

過去の予定が溜まる:今日以前をすべて拾う作りなので、放置した案件が毎日通知される。これは仕様として正しい。通知が増えたら、それは追客が滞っている合図だと考えて棚卸しする

Google ChatやSlackへ飛ばしたい場合は、最後の MailApp.sendEmailUrlFetchApp.fetch によるWebhookへの送信に差し替えるだけで済む。抽出の部分は変えなくていい。

さらに進めるなら、反響メールをGmailで受信→スプレッドシートに自動転記する仕組みも作れる。SUUMOやHOME'Sからの反響メールをパースして、お客様名・電話番号・希望条件を自動入力する。手入力のミスと漏れを同時に防げる。

スプレッドシートCRMの限界と、その先

正直に言うと、スプレッドシートCRMには限界がある。月間反響が200件を超えると動作が重くなるし、複数人が同時編集するとセルの競合が起きる。営業担当ごとのパフォーマンス分析もピボットテーブルでは限界がある。

ただ、それは「スプレッドシートで運用ルールが固まった後」の話だ。運用ルールが固まっていないのにCRMを入れても、同じ問題が起きる。ツールが変わっても「入力しない」「見ない」は解決しない。

スプレッドシートで3〜6か月間運用して、「うちにはこの項目が必要」「このフローで追客すれば成約率が上がる」という実感が積み上がってから専用CRMに移行すれば、導入費用もムダにならないし定着率も高い。

まとめ—お金をかける前に、運用の型を固める

CRMが高いからといって、顧客管理を後回しにする必要はない。Googleスプレッドシートなら無料で今日から始められる。

  • まず10列のシートを作る
  • 入力・確認・棚卸しの3つのルールを決める
  • GASで追客通知を自動化する
  • 3〜6か月後、必要なら専用CRMに移行する

この順序で進めれば、CRMに投資したときのリターンも最大化できる。ツールに振り回されず、まず「管理の型」を自社で持つこと。それが不動産会社の顧客管理で最も大切なことだと思う。

よくある質問

Q. スプレッドシートの顧客管理は何件まで持てますか?

行数そのものより「1行あたりに何本の関数が乗っているか」で決まる。VLOOKUPやQUERY、条件付き書式を1行ごとに敷き詰めていると、数千行に届く前に開くのが遅くなる。逆に入力用のシートを素の値だけにして、集計は別シートで受ける形にすれば、同じ行数でも体感はかなり変わる。不動産仲介の反響台帳なら、月間反響100件程度・1年分の蓄積までは素直に回せる範囲だ。件数の上限を先に決めるより、「古い行を別シートに逃がす棚卸しのタイミング」を決めておくほうが実務的だと思う。

Q. スプレッドシートのCRM運用は何人規模まで対応できますか?

営業担当5〜15名、月間反響100件程度までなら十分に回せる。ポイントは「入力ルールの統一」と「週1回のデータ棚卸し」を徹底すること。月間反響が200件を超えてきたら、専用CRMへの移行を検討するタイミングだ。

Q. スプレッドシートCRMから専用CRMに移行するベストなタイミングは?

「シートの動作が重い」「入力漏れが増えた」「店長がデータを見切れない」の3つのうち2つ以上が当てはまったら移行のサイン。先にスプレッドシートで運用ルールが固まっていると、CRMに移行したときの定着率が格段に上がる。

Q. 無料CRMとスプレッドシート、どちらから始めるべきですか?

違いは3点だと思っている。項目の自由度——スプレッドシートは列を足すだけで済むが、無料CRMは物件種別・エリア・築年数・ローン状況といった不動産固有の項目をカスタムプロパティとして先に設計しないといけない。履歴の残り方——無料CRMは誰がいつ何を変えたかが自動で残るのに対し、スプレッドシートは編集履歴を追いにくく、上書き事故に弱い。やめやすさ——スプレッドシートは合わなければ捨てられるが、CRMは一度データを入れると移行コストが発生する。項目がまだ固まっていない段階ならスプレッドシート、担当者が5名を超えて上書き事故が起き始めたら無料CRM、という順番が現実的だ。

不動産に限らず、CRMを契約する前にどこまでシートで足りるかを比べたい場合はCRMをスプレッドシートで代替する—限界の見極めと移行を決める3つのサインにツールごとの費用差まで整理してある。

関連する支援事例

不動産仲介の追客・顧客管理の仕組み化でお悩みの方は、実際の支援事例もご覧ください。

不動産AI活用スタートガイド

7つのサインで自社の現状を診断。中小不動産の業務改善ロードマップと実装ステップを1冊にまとめました

資料を無料でダウンロード

泉 款太(いずみ かんた)

株式会社SalesDock 代表取締役

慶應義塾大学法学部卒。スタートアップ、ラクスル、リクルート(SUUMO)を経て2025年に独立。 中小企業の経営・営業・業務・データをつなぐ事業基盤の設計と実装を支援。 不動産・製造業・クリニックを中心に30社以上の業務改善に携わる。

代表メッセージを読む →

スプレッドシートCRMの設計を無料でお手伝い

「うちに合った列設計がわからない」そんなご相談からで大丈夫です

無料で相談する

NEXT STEP

広告・営業・利益・データの詰まりを、3分で整理

反響対応や案件管理だけでなく、経営判断まで含めて、先に整える場所を確認できます。