SalesDock ロゴSalesDock
不動産

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

9分で読める

結論:スプレッドシートの顧客管理は、列と運用ルールを固めてからCRMへ移す

不動産仲介5〜15名の会社なら、Googleスプレッドシートでも顧客リストの管理は回せる。効くのはツールではなく、列の設計、入力・確認・棚卸しの運用ルール、追客の通知の3つだ。シートで固めた列と運用ルールは、そのまま専用CRMの項目設計になる。

  • 列は基本10列から始め、定着したら媒介種別・審査状況など不動産固有の5列を足す。
  • 成約後の既存顧客は追客用の台帳と分け、次の接点の時期で管理する。
  • 専用CRMへ移るのは「動作が重い」「上書き・入力漏れが増えた」「店長が見切れない」のうち2つが当てはまったとき。

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

不動産の顧客リスト管理は、CRMより先にシートで型を作る

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

不動産向けのCRMは1ユーザーごとの月額課金が多く、担当者が増えるほど固定費が膨らむ。初期設定や導入支援が別料金になる製品もある。

しかも導入したからといって、現場が使ってくれる保証はない。「CRMを入れたけど誰も入力せず、結局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年で1度でも接触がある顧客だけを移す。それ以前は別シート(アーカイブ)にそのまま貼って残す。捨てるのではなく、日常的に見る場所から出す
  2. 2. 項目の対応表を作る:移行前の列と移行後の列を1対1で並べた表を先に作る。「備考」に複数の情報が詰まっている列は、ここで分解先を決める。この表を作らずに手作業でコピーすると、担当者ごとに解釈が変わる
  3. 3. 表記をそろえる:日付形式、電話番号のハイフン有無、担当者名の表記ゆれ。移行時が最後のチャンスで、入った後に直すのは倍以上かかる。置換で機械的に処理する
  4. 4. 移さない項目を決める:過去の営業メモ、更新日時の履歴、使われていないカスタム項目。移行のときに「一応持ってくる」と決めた列は、ほぼ確実に使われない
  5. 5. 次回アクション日を埋める:移行後、この列が空欄の行は追客対象から消える。移す時点で全件に日付を入れるか、入れられない案件は失注扱いにして棚卸しする

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

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

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

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

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

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

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

「今日やるべきこと」を毎朝シートから確認する。次回アクション日が今日以前の行を抽出すれば、その日に連絡すべき顧客が一覧になり、追客の漏れに気づける。CRMを入れても追客が続かない原因は不動産仲介の追客を仕組み化する方法で整理している。

ルール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.sendEmail を UrlFetchApp.fetch によるWebhookへの送信に差し替えるだけで済む。抽出の部分は変えなくていい。

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

成約後の既存顧客は、追客用とは別のシートで持つ

ここまでの台帳は、反響を成約か失注まで運ぶための表だ。成約・失注になった行は、毎朝のフィルターから外れる。ところが成約したお客様(既存顧客)には、賃貸なら契約更新、売買なら住み替えや売却の相談、知人の紹介といった次の接点が、数か月から数年先にやってくる。

この既存顧客を追客用の台帳に残したままにすると、追客中の案件に紛れて毎朝の一覧が読みにくくなる。かといって行を消せば、次の接点を逃す。成約した行は「既存顧客」シートへ移し、次の5列だけを持つのが扱いやすい。

列名入力例なぜ必要か
成約日2026/04/10更新時期や定期連絡の起点になる
取引の種類賃貸(借主)/ 売買(買主)/ 売買(売主)種類ごとに次の接点が違う。プルダウンにする
物件物件IDまたは所在地どの物件の取引だったかを追えるようにする
次の接点の時期2028/02/01賃貸なら更新の案内を出す時期、売買なら定期連絡の時期を入れる
紹介の有無紹介元:山田様 / 紹介先:なし紹介でつながった顧客を数えられる形にする

「次の接点の時期」を追客シートの次回アクション日と同じ日付形式にしておけば、前述の通知の仕組みをシート名と列番号の変更だけで使い回せる。

専用CRMへ移す判断ライン—件数より3つのサインで決める

スプレッドシートにも限界はある。同時に編集する人が増えるとセルの上書きが起きやすく、誰がいつ変えたかを追いにくい。担当者別・流入元別の分析も、ピボットテーブルで毎週作るとなると手間がかさむ。

ただ、FAQで書いたとおり、何件を超えたら限界という線は引きにくい。件数ではなく、次の3つのサインで判断する。まず「先に試すこと」をやってみて、それでも解消しないサインが2つ以上残ったら、専用CRMへの移行を考える段階だ。

サインシートで先に試すこと移行を考える状態
動作が重い入力用シートを値だけにし、集計は別シートへ。古い行はアーカイブへ逃がすそれでもシートを開くたびに待たされる
上書き・入力漏れが増えたプルダウンと入力規則をそろえ、見出しや数式の範囲を保護する誰がいつ何を変えたかを追う必要が、毎週のように出てくる
店長が見切れない週1回の棚卸しで、2週間動いていない案件だけを抽出する担当者別・流入元別の数字を、毎週手作業で集計している

シートからCRMへ移すときに決めておくこと

移行の手順は、先ほどの「Excel・既存CRMからシートに移す手順」と同じ考え方で進められる。違うのは、シートで固めた設計をCRM側の設定に写すところだ。

  • 列とCRM項目の対応表:シートの列をCRMの項目に1対1で並べる。プルダウンの選択肢は、CRM側の選択肢としてそのまま使う
  • 移す範囲:追客中の顧客と既存顧客を、それぞれ移すかどうか決める。直近1年で接触のない顧客はアーカイブに残す
  • 次回アクション日の置き換え先:CRMのタスクやリマインダーのどれで受けるかを決める。ここが曖昧だと、移行した翌日から追客が止まる
  • 試しに10行:先に10行だけ取り込み、件数と文字化け、改行を含むメモ列の崩れを確認してから全件を流す

製品を比べる前に何を決めておくかは不動産会社のSFA・CRM導入支援の選び方に、物件台帳も含めてExcelから段階的に移る順番は不動産の顧客管理はエクセルでどこまで回る?にまとめている。

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

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

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

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

  • まず10列のシートを作る
  • 入力・確認・棚卸しの3つのルールを決める
  • GASで追客通知を自動化する
  • 成約後の既存顧客は別シートで次の接点を管理する
  • 3つのサインのうち2つが残ったら、専用CRMに移行する

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

よくある質問

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

行数そのものより「1行あたりに何本の関数が乗っているか」で決まる。VLOOKUPやQUERY、条件付き書式を1行ごとに敷き詰めていると、数千行に届く前に開くのが遅くなる。逆に入力用のシートを素の値だけにして、集計は別シートで受ける形にすれば、同じ行数でも体感はかなり変わる。件数の上限を先に決めるより、「古い行を別シートに逃がす棚卸しのタイミング」を決めておくほうが実務的だと思う。

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

人数より、同時に編集する人が増えて上書きや入力漏れが起き始めるかどうかで決まる。この記事では営業担当5〜15名の仲介会社を想定している。この規模なら「入力ルールの統一」と「週1回のデータ棚卸し」を徹底すれば回せることが多い。上書きや入力漏れが毎週のように起きるなら、専用CRMへの移行を考える段階だ。

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

「シートの動作が重い」「上書きや入力漏れが増えた」「店長がデータを見切れない」の3つのうち2つ以上が当てはまったら移行のサイン。先にスプレッドシートで列と運用ルールが固まっていると、それがそのままCRMの項目設計になり、移行後も使われやすい。

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

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

Q. 成約後の既存顧客も同じシートで管理していいですか?

追客中の顧客とは別のシートに分けるほうがよい。追客用の台帳は成約・失注で行が閉じるが、既存顧客は契約更新や住み替え、紹介など次の接点が数か月から数年先に来る。成約した行を「既存顧客」シートへ移し、成約日・取引の種類・物件・次の接点の時期・紹介の有無だけを持つと、毎朝の追客リストを汚さずに済む。

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

関連する支援事例

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

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

反響・見積・契約・管理ごとに、AIに任せる所と法令上人が見る所を分け、修繕依頼の実例と90日の進め方までまとめた全16ページの資料です。

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

泉 款太(いずみ かんた)

株式会社SalesDock 代表取締役

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

運営は株式会社SalesDock(大阪市中央区本町)。中小企業向けに、AI自走プラン(初期構築15万円+月額10万円・90日)と、 そのあとのAI顧問(月額5万円・6ヶ月契約から)を提供しています。価格は税別です。 大阪・関西を中心に、オンラインで全国からのご相談に対応しています。

代表者情報を読む →

この記事の数値について

本文中に一次資料へのリンクがある数値は、リンク先を出典としています。 リンクのない業務設計、判断基準、実務上の目安は、SalesDockが累計40社以上の支援と自社運用で得た知見を一般化したものです。 個別企業での成果を保証する数値ではなく、条件によって変わります。

列の設計と、専用CRMへ移る時期を一緒に決めます

今の顧客台帳(シートやExcel)、担当者の人数、困っている場面が分かれば、無料相談を始められます。どの列を残し、どの業務からCRMやシステムへ移すかを整理します。

無料相談を申し込む

システム導入・業務改善支援の内容を見る

CASE

実際の支援では、こう変わりました

  • 人材紹介3ヶ月の伴走支援

    サイトの文言変更を、担当者が一人で本番公開まで完了。

  • 広告・マーケティング3ヶ月の伴走支援

    見積書づくりで人が行うのは、粗利をどうするかの判断だけに。

  • 外国人材の就職支援試作からの伴走支援

    書類の回収・仕分けと履歴書づくりを、どこまで自動にし、どこを人が確認するかを決めて試作まで完了。

支援の様子を見る

NEXT STEP

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

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