リフォーム・工務店

リフォームの顧客管理問い合わせから点検までの台帳の作り方

小さなリフォーム会社の顧客管理を、スプレッドシートの台帳で作る手順です。お客様と案件を分ける列の設計、日付から出す状態、次の連絡日と点検の時期の一覧の関数、見積・工事台帳・写真台帳への受け渡し、業務システムへ移す判断までまとめます。

この記事の結論:リフォーム会社の顧客管理は、スプレッドシートに「お客様(1軒1行)」「案件(相談1件1行)」「連絡(1回1行)」の3枚を作り、顧客番号と工事番号でつなぐ形から始めます。1軒に複数の工事があっても、お客様の行は1つのままです。いちばん大事なのは、状態を手で書かず、問い合わせ日から完工日までの6つの日付から関数で出すことです。次の連絡日は、お客様と約束した日、工事の予定の日、自社で決めた日数の順に出します。点検の時期は、完工日と自社で決めた月数から出し、近いものを一覧に並べます。金額はこの台帳に持たず、工事番号で見積と工事台帳へつなぎます。列と関数はこの記事にすべて載せました。関数は計算のライブラリで動かして確かめたもので、ExcelとGoogleスプレッドシートの実物では未実行です。

この記事の内容のご相談は株式会社bundlyzeへbundlyzeのシステム開発について見てみる

この記事は、小さなリフォーム会社・工務店の社長と事務担当の方に向けて、問い合わせから現地調査、見積、契約、着工、完工、施工後の点検、次の工事の相談までを、1軒の流れとして追える顧客台帳の作り方を書きます。お客様の情報の扱いは専門家に確かめてください。問い合わせを増やす話や、現地調査の予約までの流れはリフォームの集客のコラムに分けています。工事ごとの粗利は工事台帳の記事に、見積書は見積書の記事に、現場の写真は工事写真台帳の記事に書いたので、ここでは繰り返さず、受け渡しの所だけ書きます。この記事の「お客様」は、見積書や工事台帳の「施主」と同じ方を指します。契約の前から同じ呼び方にしたいので、お客様と書きます。

リフォームの顧客管理は、お客様と案件を分けて持つ

リフォームの顧客管理は、お客様と案件を別のシートにすると続きます。リフォームは同じ家から何度も相談が来る仕事です。お客様の行に工事の内容まで書くと、2回目の工事で行を足すか、列を足すか、前の内容を消すかになり、どれを選んでも流れが追えなくなります。シートの分け方は次のとおりです。

シート 1行の単位 手で入れるもの 関数で出すもの
お客様 1軒 名前、連絡先、住所、案内してよいか 案件の数、進行中の数、次の連絡、次の点検
案件 相談1件 工事名、種類、担当、段階ごとの日付、点検の実施日 状態、次の連絡、点検の予定日、確認
連絡 連絡1回 日付、手段、話したこと、次に連絡する日 名前、確認
設定 (値を入れるだけ) 次の連絡までの日数、点検の月数 なし
点検の一覧 1行が案件1つ なし 案内する案件を日付の順に並べる
1軒の流れ (顧客番号を1つ入れる) 顧客番号 1軒の案件と連絡を並べる
月の数字 1か月 月の初日 段階ごとの件数

毎日触るのは、案件と連絡の2枚です。ファイルは会社に1つで、工事ごとには分けません。お客様を横に並べて見るのが目的だからです。工事台帳も会社に1つですが、顧客台帳とは別のファイルにします。工事台帳には原価と粗利があり、見てよい人が違うからです。

つなぐ鍵は2つです。お客様のシートの C0012 のような顧客番号と、案件のシートの R26-012 のような工事番号です。工事番号は、工事台帳、見積書、工事写真と同じ番号です。

工事番号は、問い合わせの行を作るときに振る

工事番号は、問い合わせを案件のシートに入れるときに振ります。工事写真台帳の記事では現地調査の写真から工事番号で名前を付けるので、現地調査より前に番号が要るからです。見積まで進まなかった番号は工事一覧に出てこないので、工事一覧の番号は飛びます。工事台帳の式は番号の重複を見ているだけで、番号の飛びは見ていないので、飛んでいてもかまいません。

1軒の行に迷う場面

お客様のシートの1行は「1人」ではなく「1軒」です。リフォームの工事は住まいに付くので、住所ごとに行を分けます。迷いやすい場面は次のように決めます。

場面 持ち方
同じ家で2回目の工事を頼まれた お客様は1行のまま、案件を1行足す
同じ方が、自宅と実家の工事を頼んだ 住所が違うので、お客様を2行にする。重複確認に「電話が同じ」と出るが、残す
同じ家の別の家族から相談が来た お客様は1行のまま。案件の工事名か連絡に、相談した方を書く
1回の相談で浴室と外壁の話が出た 見積を分けるなら案件を2行、1つの見積なら1行にする
家を売った、引っ越した 案内を 停止 にする。新しい家の相談なら、お客様の行を足す

1軒の流れは、案件と連絡の行で残る

顧客台帳に何が残るかは、1軒の流れで見ると分かります。架空のお客様 丙 の例です。工事台帳と見積書の記事の R26-012 と同じ工事で、その前に外壁の塗装を1回頼まれている形にしました。日付はすべて架空です。

日付 起きたこと 入れる所
2025/4/7 外壁の塗装の問い合わせ お客様に1行、案件に R25-031 の行、連絡に1行
2025/4/12 現地調査 案件の現地調査日
2025/4/18 見積を渡した 案件の見積提示日、連絡に1行。次に連絡する日を4/25に
2025/5/2 契約 案件の契約日
2025/9/8〜9/26 着工、完工 案件の着工日と完工日
2026/8/31 点検の案内を送った 連絡に1行
2026/9/29 1回目の点検で、浴室の相談を受けた 案件の点検1の実施日、連絡に1行、案件に R26-012 の行。入口は 点検
2026/10/9 見積を渡した。給湯器は来年の春に考えたいとの話 連絡に1行。次に連絡する日を2027/4/1に
2026/10/14〜 契約、着工 案件の契約日と着工日。完工の予定日も入れる

「1軒の流れ」のシートに C0012 を入れると、この流れが1画面に出ます。2026年11月2日の時点で計算した結果です。

工事番号 工事名 状態 問い合わせ日 契約日 完工日 次の連絡 次の点検日
R25-031 外壁の塗装 完工 2025/4/7 2025/5/2 2025/9/26 (空欄) 2027/9/26
R26-012 浴室とトイレの入れ替え 着工 2026/9/29 2026/10/14 2026/11/13 2026/11/13 (空欄)

その下には、連絡が新しい順に並びます。電話を受けたときにこの画面を開けば、担当でなくても、前の工事と話の続きが分かります。

R26-012 の完工日が過ぎると、次の連絡は2027年4月1日に変わります。工事が終わった後に、給湯器の話を思い出せる形です。見積書の記事の「含まないもの」に書いた工事は、こうして次の相談の種になります。

最初に埋める列は、これだけ

このあとの表は列が多く見えますが、関数の列は式をコピーするだけです。手で埋める列も、最初は次の分だけで始められます。

シート まず埋める列 必要になったら埋める列
お客様 A 顧客番号、B 名前、D 電話、F 住所、I 案内、J 状態 C かな、E メール、G 建物、H 連絡の手段、K 統合先
案件 A 工事番号、B 顧客番号、D 工事名、E 工事の種類、I〜N の日付のうち起きた段階の分 F 担当、G 入口、H 紹介元、O〜P 見送り、Q〜S 点検の実施日
連絡 A 連絡した日、B 工事番号、F 話したこと、G 次に連絡する日(約束があるときだけ) D 手段、E 担当

埋めない列も、見出しは全部作って空のまま残します。式は列の位置を見ているので、列を詰めると別の列を読んでしまいます。

お客様のシートの項目は22列

お客様のシートは、A列からK列までが手で入れる欄、L列からV列までが関数の欄です。金額の列はありません。金額は見積と工事台帳にあるので、ここにも持つと、ずれたときにどちらが正しいか分からなくなります。

列 項目 入れ方
A 顧客番号 C0012 の形で振る
B 名前 漢字
C かな 全角カタカナ、空白なし
D 電話 半角のハイフン付きで入れる
E メール そのまま
F 住所 工事をする住まい。マンションは部屋番号まで
G 建物 戸建て・マンション
H 連絡の手段 電話・メール・LINE・郵送
I 案内 可・停止
J 状態 通常・統合済み。まず 通常 を入れる
K 統合先 重複をまとめたときだけ
L 電話照合 式
M 重複確認 式
N 案件の数 式
O 完工の数 式
P 進行中 式。完工と見送りを除いた案件の数
Q 紹介の数 式。このお客様が紹介元になった案件の数
R 最後の完工 式
S 最後の連絡 式
T 次の連絡 式。案件の中で最も早い日
U 次の点検 式。案件の中で最も早い日
V 案内の判定 式

重複の見つけ方とまとめ方の考え方は、整体院の顧客台帳の記事と同じです。この記事では、同じ軒かどうかを電話と住所で見ます。統合の手順は同じなので、そちらの3つの手順に従ってください。

案件のシートの項目は35列

案件のシートは、相談1件を1行にします。A列からS列までが手で入れる欄(C列の名前だけは式)、T列から右が関数の欄です。列は多く見えますが、普段入れるのは日付の列だけです。関数の列は色を変えて、手で打たないようにします。

列 項目 入れ方
A 工事番号 R26-012。工事台帳、見積、写真と同じ番号
B 顧客番号 リストから選ぶ
C 名前 式
D 工事名 浴室とトイレの入れ替え
E 工事の種類 リストから選ぶ。点検の月数を引く
F 担当 名前
G 入口 検索・紹介・チラシ・看板・点検・再度の相談
H 紹介元 紹介のときだけ、紹介してくださったお客様の顧客番号
I 問い合わせ日 日付
J 現地調査日 日付。先の日付は予定
K 見積提示日 最初に見積を渡した日。先の日付は予定
L 契約日 日付。先の日付は予定
M 着工日 日付。先の日付は予定
N 完工日 日付。先の日付は予定
O 見送り日 工事にならないと決まった日
P 見送りの理由 金額・時期・他社・連絡が取れない・その他
Q 点検1の実施日 日付。行わない回は なし
R 点検2の実施日 同じ
S 点検3の実施日 同じ
T 状態 式
U 最後の連絡日 式
V 約束の日 式
W 予定の日 式
X 次の連絡 式
Y 連絡の判定 式
Z 点検1の予定日 式
AA 点検2の予定日 式
AB 点検3の予定日 式
AC 次の点検の回 式
AD 次の点検日 式
AE 点検の判定 式
AF 確認 式
AG 並び 式
AH 一覧の順 式
AI 1軒の順 式

連絡のシートの項目は10列

連絡のシートは、電話、メール、LINE、訪問、手紙を1回1行で残します。お客様の行に「メモ」の列を作って書き足す形にすると、いつの話か分からなくなり、次に連絡する日も関数で拾えません。

列 項目 入れ方
A 連絡した日 日付
B 工事番号 リストから選ぶ
C 名前 式
D 手段 電話・メール・LINE・訪問・手紙
E 担当 名前
F 話したこと 1文で。次の人が読んで分かる形
G 次に連絡する日 お客様と約束した日があるときだけ
H 確認 式
I 顧客番号 式
J 流れの順 式

すべての連絡に工事番号を付けます。どの工事の話でもない電話でも、いちばん新しい案件の番号を選びます。新しい工事の相談なら、先に案件の行を作ります。

会社サイトの関連ページExcelの業務管理が限界になったときのサイン

状態は手で書かず、6つの日付から出す

状態は、手で選ぶ列を作らず、日付から関数で出します。状態を手で選ぶ形にすると、変え忘れが起きるうえ、いつその段階に入ったかが残りません。日付を入れるだけなら、仕事の記録と状態が同じ操作になります。T列は、今日までに来た日付のうち、最も進んだ段階を出します。

段階 見る列 T列の表示 工事台帳の工事一覧の状態
問い合わせ I 問い合わせ日 問い合わせ 行なし
現地調査 J 現地調査日 現地調査 行なし
見積 K 見積提示日 見積 見積中
契約 L 契約日 契約 受注
着工 M 着工日 着工 施工中
完工 N 完工日 完工 完了、原価が固まったら締め
見送り O 見送り日 見送り 見積を出していれば失注

状態の持ち方で決めていることは、次の4つです。

ポイント1. 今日より先の日付は、予定として読む

現地調査の日が決まったら、先の日付のまま現地調査日に入れます。その日までは状態が進まず、その日が来ると自動で進みます。予定と実績で列を分けないので、列が増えません。その代わり、工程が変わったら、その日のうちに日付を直します。直し忘れると、工事が延びていても日が来た時点で「完工」と出ます。

ポイント2. 飛ばした段階は空のままでよい

小さな工事で現地調査をしないなら、J列は空のまま見積提示日を入れます。状態は入っている日付から決まります。問い合わせ日だけは必ず入れます。

ポイント3. 見積提示日は最初の1回だけ入れる

見積を出し直しても、K列は最初に渡した日のままにします。出し直した日は連絡のシートに残ります。追加工事の版は見積書のファイルの中で持つので、ここには書きません。

ポイント4. 見送りでも行は消さない

工事にならなかった案件は、見送り日と理由を入れて残します。理由が並ぶと、どこで止まっているかが後から見えます。半年後に同じ工事の相談が戻ったら、見送りの行は残したまま、新しい案件の行を足します。

次の連絡日は、約束、予定、決まりの日数の順に出す

次の連絡日は、案件ごとにX列へ自動で出ます。手で全部決めると、決め忘れた案件が一覧から消えるからです。人が決めた日を優先し、決まっていないときだけ、自社の決まりの日数で補います。

順 何を使うか 見る列 例
1 お客様と約束した日 連絡のG列。最後の連絡より後の日で最も早い日 来週の火曜にお電話します
2 工事の予定の日 J列からN列で、今日より先の日で最も早い日 現地調査の日、着工の日
3 最後の動きに、決まりの日数を足した日 今日までの段階の日と最後の連絡日の新しいほう+設定の日数 見積を渡して7日後

1と2の両方があるときは、早いほうが出ます。

設定のシートに、状態ごとの日数を入れます。次の表の日数は、計算を確かめるための架空の値です。自社で決めた日数に置き換えます。

状態 次の連絡までの日数(例) すること
問い合わせ 1 返事をして、現地調査の日を決める
現地調査 3 見積を出す
見積 7 見積の返事を聞く
契約 14 着工の日を決める
着工 (空) 現場の担当が見る
完工 (空) 点検の一覧で見る
見送り (空) 連絡しない

日数が空の状態には、3の日は出ません。ただし、1の約束はどの状態でも出ます。見送りのお客様から「来年の春にまた」と聞いたら、連絡のシートの次に連絡する日に入れます。

連絡のシートに行を足すと、次の連絡日が動きます。連絡した日から数え直すので、返事がなければ、また同じ日数の後に出ます。お客様から断られたら、見送り日を入れて止めます。

Y列の連絡の判定は、毎朝見る欄です。遅れ、今日、3日以内 のどれかが出ます。案件のシートをフィルターでY列に絞って見ます。複数の人で見るなら、Googleスプレッドシートのフィルタ表示を使います。

見積書の有効期限が近いときは、その日より前の日を連絡のG列に入れます。見積書の「版の一覧」の判定にも期限が出ますが、見積のファイルは1工事に1つなので、横に並べて見るのはこちらの台帳です。

点検の時期は、完工日と自社で決めた月数から出す

点検の時期は、完工日に、工事の種類ごとに自社で決めた月数を足して出します。工事台帳の入金が3回の枠だったのと同じように、点検も1工事に3回の枠で持ちます。行を足す形にすると、完工のときに行を足し忘れた工事が、一覧に出ないまま何年も過ぎるからです。枠の形なら、完工日が入った時点で予定日が出ます。

設定のシートのE列からH列に、工事の種類と月数を入れます。何か月後に点検するかは、保証の内容や社内の決まりをもとに、会社で決めてください。次の表の月数は関数を確かめるための架空の値で、おすすめの時期ではありません。

工事の種類 1回目の月数(例) 2回目の月数(例) 3回目の月数(例)
水回り 6 12 24
内装 12 (空) (空)
外装 12 24 36
その他 (空) (空) (空)

月数が空の回は、予定日が出ません。工事の種類が表にないと、確認の列に「種類を確認」と出ます。

点検を行ったら、Q列からS列に実施日を入れます。すると次の回が AC列と AD列に出ます。お客様の都合で行わない回は、なし と入れると次の回へ進みます。1回目を飛ばして2回目の実施日だけを入れても、1回目が残ったままになるので、飛ばす回にも必ず なし を入れます。

AE列の点検の判定は、次のように出ます。「案内を始める日数」は、設定のB10に入れる値です。この記事では60日にしていますが、これも例です。

AE列の表示 意味 点検の一覧に出るか
案内する 予定日まで、案内を始める日数以内 出る
過ぎている 予定日を過ぎて、実施日が空 出る
連絡あり 案内を始める日以降に、連絡の記録がある 出る
案内しない お客様の案内が 停止 出ない
(空欄) 予定日がまだ先 出ない

「連絡あり」は、この期間に何かの連絡をした印です。案内を送ったかどうかまでは見ていないので、一覧で連絡の内容を確かめます。実施日を入れるまで一覧には残ります。

次の工事の相談が点検で出たら、案件に新しい行を足し、G列の入口を 点検 にします。点検の結果そのものは、連絡のシートに1行で残します。点検で撮った写真は、同じ工事番号のフォルダに残します。

お客様のシートのV列は、点検の予定も次の連絡もなく、進行中の案件もないお客様に、最後の完工か連絡から設定のB11の月数がたつと「案内の時期」と出します。点検の枠が終わったお客様が、台帳から消えないようにするための欄です。この月数も自社で決めます。

見積・工事台帳・写真台帳への受け渡し

受け渡しの鍵は工事番号です。顧客台帳は「誰の、どの相談が、今どこまで進んだか」を持ち、金額は見積と工事台帳に、写真は写真のフォルダに置きます。同じ内容を2か所に持つ所では、どちらが元かを決めておきます。

渡すもの 元 渡す先 いつ
工事番号、工事名、施主、担当 案件のA、D、C、F列 見積の設定のB1、B2、B4、B5 見積を作るとき
工事番号、工事名、施主、担当 案件のA、D、C、F列 工事台帳の工事一覧のAからD列 見積を出したとき
着工日、完工日 案件のM、N列 工事台帳の工事一覧のF、G列 日が決まったとき、変わったとき
工事番号、工事名、着工日、完了日、担当 案件のA、D、M、N、F列 写真台帳の表紙のB1、B2、B4、B5、B6 工事のファイルを作るとき
最初に見積を渡した日 見積書を渡した記録 案件のK列 見積を渡した日
見積の有効期限 見積の版の一覧のE列 連絡のG列(その前の日) 見積を渡した日
含まないものに書いた工事 見積の設定のE列 連絡のF列とG列 お客様が時期を話したとき
工事の状態 案件のT列 工事一覧のE列(前の節の表のとおり) 月に1回、見比べる

着工日と完工日の元は、案件のシートです。工事台帳は別のファイルなので、見比べる日を月に1回決めます。ファイルをまたぐ式はつなぎません。片方のファイルの場所を変えると切れるうえ、粗利のある工事台帳の中身を、顧客台帳を見る人にも近づけてしまうからです。

残金の後に追加が出て、工事台帳の記事のとおり R26-012-2 のような枝番を作っても、案件の行は増やしません。枝番は工事台帳の入金を分けるためのものだからです。別の工事として点検の時期も変わるなら、新しい工事番号で案件を足します。

スプレッドシートで作る手順は、7つ

Googleスプレッドシートで作るときは、シートを名前だけ先に作り、設定、お客様、案件、連絡、一覧の順に入れます。式が別のシートの名前を指すので、シートがそろっていれば途中でエラーになりません。事務と現場の担当が同時に見るので、この記事はスプレッドシートを基本にしています。Excelで作るときに変える所は後の節に書きます。

ここの式は計算のライブラリで確かめたもので、ExcelとGoogleスプレッドシートの実物では未実行です。試した範囲は「動かして確かめた結果」の節に書きます。シート名は、見積書の記事と同じく '案件'! のように引用符で囲んでいます。

手順1. 会社のアカウントでファイルを作り、シートを7枚作る

個人のアカウントではなく、会社で持つアカウントでファイルを作ります。共有は必要な人のアカウントだけにします。共有の考え方は整体院の顧客台帳の記事の手順1と同じです。シートの名前は左から「設定」「お客様」「案件」「連絡」「点検の一覧」「1軒の流れ」「月の数字」です。1文字でも違うと式がエラーになります。

手順2. 設定のシートに値を入れる

セル 入れる値
A1、B1、C1 状態、次の連絡までの日数、すること
A2〜C8 前の節の7つの状態の表。A列の7つの言葉は、この順と字のまま入れる
E1〜H1 工事の種類、1回目の月数、2回目の月数、3回目の月数
E2〜H9 前の節の工事の種類の表。8行まで
A10、B10 点検の案内を始める日数、自社で決めた日数(例は 60)
A11、B11 案内の間隔の月数、自社で決めた月数(例は 12)

手順3. お客様のシートに式を入れる

1行目に22列の項目を入れます。D列は、表示形式を「書式なしテキスト」にします。先頭の0が消えるのを防ぐためです。次の式を2行目に入れ、501行目までコピーします。お客様が500軒を超えたら、さらに下へ伸ばします。

L2(電話照合)
=IF(D2="","","T"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,"-","")," ","")," ",""))

M2(重複確認)
=IF(OR(L2="",J2="統合済み"),"",IF(MID(L2,2,1)<>"0","電話を確認",IF(COUNTIFS($L:$L,L2,$J:$J,"<>統合済み")>1,IF(COUNTIFS($L:$L,L2,$F:$F,F2,$J:$J,"<>統合済み")>1,"同じ軒の候補","電話が同じ"),"")))

N2(案件の数)
=IF($A2="","",COUNTIF('案件'!$B:$B,$A2))

O2(完工の数)
=IF($A2="","",COUNTIFS('案件'!$B:$B,$A2,'案件'!$T:$T,"完工"))

P2(進行中)
=IF($A2="","",N2-O2-COUNTIFS('案件'!$B:$B,$A2,'案件'!$T:$T,"見送り"))

Q2(紹介の数)
=IF($A2="","",COUNTIF('案件'!$H:$H,$A2))

R2(最後の完工)
=IF(OR($A2="",O2=0),"",MAXIFS('案件'!$N:$N,'案件'!$B:$B,$A2,'案件'!$T:$T,"完工"))

S2(最後の連絡)
=IF($A2="","",IF(COUNTIFS('案件'!$B:$B,$A2,'案件'!$U:$U,">0")=0,"",MAXIFS('案件'!$U:$U,'案件'!$B:$B,$A2)))

T2(次の連絡)
=IF($A2="","",IF(COUNTIFS('案件'!$B:$B,$A2,'案件'!$X:$X,">0")=0,"",MINIFS('案件'!$X:$X,'案件'!$B:$B,$A2)))

U2(次の点検)
=IF($A2="","",IF(COUNTIFS('案件'!$B:$B,$A2,'案件'!$AD:$AD,">0")=0,"",MINIFS('案件'!$AD:$AD,'案件'!$B:$B,$A2)))

V2(案内の判定)
=IF(OR($A2="",J2<>"通常",I2<>"可",N2=0,P2>0,O2=0,T2<>"",U2<>""),"",IF(EDATE(MAX(R2,S2),'設定'!$B$11)<=TODAY(),"案内の時期",""))

R列、S列、T列、U列の表示形式は日付にします。

M列の表示は次の4つです。

表示 意味 扱い
同じ軒の候補 電話と住所が同じ行がある 同じ軒ならまとめる
電話が同じ 電話は同じで住所が違う 別の住まいなら残す
電話を確認 先頭が0でない 先頭の0が消えていないか見る
(空欄) 問題なし なし

L列は、半角のハイフンと空白を消して、頭に T を付けた値です。全角のハイフンは消えないので、電話は半角で入れます。T を付ける理由は整体院の記事に書いたとおりで、数字だけの値を数として扱わせないためです。

手順4. 案件のシートに式を入れる

1行目に35列の項目を入れます。次の式を2行目に入れ、501行目までコピーします。Z列の F$2:F$9 だけ、AA列では G$2:G$9、AB列では H$2:H$9 に変えています。

C2(名前)
=IF(B2="","",IFERROR(INDEX('お客様'!$B:$B,MATCH(B2,'お客様'!$A:$A,0)),"番号なし"))

T2(状態)
=IF($A2="","",IF(O2<>"","見送り",IF(AND(ISNUMBER(N2),N2<=TODAY()),"完工",IF(AND(ISNUMBER(M2),M2<=TODAY()),"着工",IF(AND(ISNUMBER(L2),L2<=TODAY()),"契約",IF(AND(ISNUMBER(K2),K2<=TODAY()),"見積",IF(AND(ISNUMBER(J2),J2<=TODAY()),"現地調査","問い合わせ")))))))

U2(最後の連絡日)
=IF($A2="","",IF(COUNTIF('連絡'!$B:$B,$A2)=0,"",MAXIFS('連絡'!$A:$A,'連絡'!$B:$B,$A2)))

V2(約束の日)
=IF($A2="","",IF(COUNTIFS('連絡'!$B:$B,$A2,'連絡'!$G:$G,">"&MAX(U2,0))=0,"",MINIFS('連絡'!$G:$G,'連絡'!$B:$B,$A2,'連絡'!$G:$G,">"&MAX(U2,0))))

W2(予定の日)
=IF(OR($A2="",T2="見送り"),"",IF(COUNTIF($J2:$N2,">"&TODAY())=0,"",MINIFS($J2:$N2,$J2:$N2,">"&TODAY())))

X2(次の連絡)
=IF($A2="","",IF(V2<>"",MIN(V2,W2),IF(W2<>"",W2,IFERROR(IF(ISNUMBER(INDEX('設定'!$B$2:$B$8,MATCH(T2,'設定'!$A$2:$A$8,0))),MAX(U2,MAXIFS($I2:$N2,$I2:$N2,"<="&TODAY()))+INDEX('設定'!$B$2:$B$8,MATCH(T2,'設定'!$A$2:$A$8,0)),""),""))))

Y2(連絡の判定)
=IF(OR($A2="",X2=""),"",IF(X2<TODAY(),"遅れ",IF(X2=TODAY(),"今日",IF(X2-TODAY()<=3,"3日以内",""))))

Z2(点検1の予定日)
=IF($T2<>"完工","",IFERROR(IF(ISNUMBER(INDEX('設定'!F$2:F$9,MATCH($E2,'設定'!$E$2:$E$9,0))),EDATE($N2,INDEX('設定'!F$2:F$9,MATCH($E2,'設定'!$E$2:$E$9,0))),""),""))

AA2(点検2の予定日)
=IF($T2<>"完工","",IFERROR(IF(ISNUMBER(INDEX('設定'!G$2:G$9,MATCH($E2,'設定'!$E$2:$E$9,0))),EDATE($N2,INDEX('設定'!G$2:G$9,MATCH($E2,'設定'!$E$2:$E$9,0))),""),""))

AB2(点検3の予定日)
=IF($T2<>"完工","",IFERROR(IF(ISNUMBER(INDEX('設定'!H$2:H$9,MATCH($E2,'設定'!$E$2:$E$9,0))),EDATE($N2,INDEX('設定'!H$2:H$9,MATCH($E2,'設定'!$E$2:$E$9,0))),""),""))

AC2(次の点検の回)
=IF($T2<>"完工","",IF(AND(ISNUMBER(Z2),Q2=""),1,IF(AND(ISNUMBER(AA2),R2=""),2,IF(AND(ISNUMBER(AB2),S2=""),3,""))))

AD2(次の点検日)
=IF(AC2="","",INDEX(Z2:AB2,1,AC2))

AE2(点検の判定)
=IF(AD2="","",IF(IFERROR(INDEX('お客様'!$I:$I,MATCH($B2,'お客様'!$A:$A,0)),"")="停止","案内しない",IF(AND(ISNUMBER(U2),U2>=AD2-'設定'!$B$10),"連絡あり",IF(AD2<TODAY(),"過ぎている",IF(AD2-TODAY()<='設定'!$B$10,"案内する","")))))

AF2(確認)
=IF($A2="",IF(OR(B2<>"",COUNTA(D2:S2)>0),"番号を入れる",""),IF(COUNTIF($A:$A,$A2)>1,"番号が重複",IF(NOT(ISNUMBER(MATCH(B2,'お客様'!$A:$A,0))),"顧客番号を確認",IF(COUNT(I2:O2)<COUNTA(I2:O2),"日付を確認",IF(I2="","問い合わせ日を入れる",IF(OR(AND(ISNUMBER(J2),J2<I2),AND(ISNUMBER(K2),K2<MAX(I2:J2)),AND(ISNUMBER(L2),L2<MAX(I2:K2)),AND(ISNUMBER(M2),M2<MAX(I2:L2)),AND(ISNUMBER(N2),N2<MAX(I2:M2))),"日の順を確認",IF(AND(ISNUMBER(N2),M2=""),"着工日を入れる",IF(AND(T2="着工",N2=""),"完工日を入れる",IF(AND(O2<>"",P2=""),"理由を入れる",IF(AND(ISNUMBER(N2),NOT(ISNUMBER(MATCH(E2,'設定'!$E$2:$E$9,0)))),"種類を確認",""))))))))))

AG2(並び)
=IF(OR(AE2="",AE2="案内しない"),"",AD2*10000+ROW())

AH2(一覧の順)
=IF(AG2="","",COUNTIF($AG:$AG,"<="&AG2))

AI2(1軒の順)
=IF(OR(B2="",B2<>'1軒の流れ'!$B$1),"",COUNTIF($B$2:B2,B2))

I列からO列、Q列からS列、U列からX列、Z列からAB列、AD列の表示形式は日付にします。

AF列の確認に出る言葉は次のとおりです。

表示 直し方
番号を入れる 行に内容があるのに工事番号が空。番号を入れる
番号が重複 工事番号は1回だけ使う
顧客番号を確認 リストから選ぶ
日付を確認 I列からO列に文字が入っている。日付で入れる
問い合わせ日を入れる 問い合わせ日を入れる
日の順を確認 前の段階より早い日になっている
着工日を入れる 完工日があるのに着工日が空
完工日を入れる 着工したのに完工の予定日が空。予定の日を入れる
理由を入れる 見送りの理由を選ぶ
種類を確認 完工日があるのに、工事の種類が設定の表にない

手順5. 連絡のシートに式を入れる

1行目に10列の項目を入れます。A列とG列の表示形式は日付にします。次の式を2行目に入れ、2001行目までコピーします。シートの行数が足りないときは、先に行を足します。

C2(名前)
=IF(B2="","",IFERROR(INDEX('案件'!$C:$C,MATCH(B2,'案件'!$A:$A,0)),"番号なし"))

H2(確認)
=IF(B2="",IF(OR(A2<>"",COUNTA(D2:G2)>0),"番号を入れる",""),IF(COUNTIF('案件'!$A:$A,B2)=0,"番号なし",IF(OR(NOT(ISNUMBER(A2)),A2>TODAY()),"日付を確認",IF(AND(G2<>"",NOT(ISNUMBER(G2))),"次の日を確認",IF(AND(ISNUMBER(G2),G2<=A2),"次の日が前","")))))

I2(顧客番号)
=IF(B2="","",IFERROR(INDEX('案件'!$B:$B,MATCH(B2,'案件'!$A:$A,0)),""))

J2(流れの順)
=IF(OR(I2="",I2<>'1軒の流れ'!$B$1),"",COUNTIF(I2:$I$2001,I2))

H列の確認には、番号を入れる、番号なし、日付を確認(文字が入っている、今日より先の日)、次の日を確認(G列が文字)、次の日が前(G列が連絡した日以前)が出ます。

手順6. 点検の一覧と1軒の流れのシートに式を入れる

点検の一覧のシートは、案内する案件を予定日の順に並べます。手で入れる所はありません。1行目に、順、工事番号、名前、電話、工事名、完工日、回、予定日、判定、最後の連絡、の10列の項目を入れます。A2に 1、A3に =A2+1 を入れて101行目までコピーします。次の式を2行目に入れ、101行目までコピーします。

B2(工事番号)
=IFERROR(INDEX('案件'!$A:$A,MATCH($A2,'案件'!$AH:$AH,0)),"")

C2(名前)
=IFERROR(INDEX('案件'!$C:$C,MATCH($A2,'案件'!$AH:$AH,0)),"")

D2(電話)
=IFERROR(INDEX('お客様'!$D:$D,MATCH(INDEX('案件'!$B:$B,MATCH($A2,'案件'!$AH:$AH,0)),'お客様'!$A:$A,0))&"","")

E2(工事名)
=IFERROR(INDEX('案件'!$D:$D,MATCH($A2,'案件'!$AH:$AH,0)),"")

F2(完工日)
=IFERROR(INDEX('案件'!$N:$N,MATCH($A2,'案件'!$AH:$AH,0)),"")

G2(回)
=IFERROR(INDEX('案件'!$AC:$AC,MATCH($A2,'案件'!$AH:$AH,0)),"")

H2(予定日)
=IFERROR(INDEX('案件'!$AD:$AD,MATCH($A2,'案件'!$AH:$AH,0)),"")

I2(判定)
=IFERROR(INDEX('案件'!$AE:$AE,MATCH($A2,'案件'!$AH:$AH,0)),"")

J2(最後の連絡)
=IFERROR(INDEX('案件'!$U:$U,MATCH($A2,'案件'!$AH:$AH,0)),"")

K1に 載らない件数 と入れ、L1に次の式を入れます。0でなければ、一覧の枠が足りていません。

L1(載らない件数)
=MAX(0,COUNT('案件'!$AH:$AH)-100)

F列、H列、J列の表示形式は日付にします。

1軒の流れのシートは、B1に入れた顧客番号の案件と連絡を並べます。A1からA8に、顧客番号、名前、電話、住所、案内、次の連絡、次の点検、案内の判定、と入れます。B1に顧客番号を入れ、B2からB8に次の式を入れます。

B2(名前)
=IFERROR(INDEX('お客様'!$B:$B,MATCH($B$1,'お客様'!$A:$A,0)),"番号なし")

B3(電話)
=IFERROR(INDEX('お客様'!$D:$D,MATCH($B$1,'お客様'!$A:$A,0))&"","")

B4(住所)
=IFERROR(INDEX('お客様'!$F:$F,MATCH($B$1,'お客様'!$A:$A,0))&"","")

B5(案内)
=IFERROR(INDEX('お客様'!$I:$I,MATCH($B$1,'お客様'!$A:$A,0))&"","")

B6(次の連絡)
=IFERROR(INDEX('お客様'!$T:$T,MATCH($B$1,'お客様'!$A:$A,0)),"")

B7(次の点検)
=IFERROR(INDEX('お客様'!$U:$U,MATCH($B$1,'お客様'!$A:$A,0)),"")

B8(案内の判定)
=IFERROR(INDEX('お客様'!$V:$V,MATCH($B$1,'お客様'!$A:$A,0)),"")

9行目のA列からH列に、工事番号、工事名、状態、問い合わせ日、契約日、完工日、次の連絡、次の点検日、と入れ、J9に 順 と入れます。J10に 1、J11に =J10+1 を入れて19行目までコピーします。次の式を10行目に入れ、19行目までコピーします。案件は10件まで出ます。

A10(工事番号)
=IFERROR(INDEX('案件'!$A:$A,MATCH($J10,'案件'!$AI:$AI,0)),"")

B10(工事名)
=IFERROR(INDEX('案件'!$D:$D,MATCH($J10,'案件'!$AI:$AI,0))&"","")

C10(状態)
=IFERROR(INDEX('案件'!$T:$T,MATCH($J10,'案件'!$AI:$AI,0)),"")

D10(問い合わせ日)
=IFERROR(IF(INDEX('案件'!$I:$I,MATCH($J10,'案件'!$AI:$AI,0))="","",INDEX('案件'!$I:$I,MATCH($J10,'案件'!$AI:$AI,0))),"")

E10(契約日)
=IFERROR(IF(INDEX('案件'!$L:$L,MATCH($J10,'案件'!$AI:$AI,0))="","",INDEX('案件'!$L:$L,MATCH($J10,'案件'!$AI:$AI,0))),"")

F10(完工日)
=IFERROR(IF(INDEX('案件'!$N:$N,MATCH($J10,'案件'!$AI:$AI,0))="","",INDEX('案件'!$N:$N,MATCH($J10,'案件'!$AI:$AI,0))),"")

G10(次の連絡)
=IFERROR(INDEX('案件'!$X:$X,MATCH($J10,'案件'!$AI:$AI,0)),"")

H10(次の点検日)
=IFERROR(INDEX('案件'!$AD:$AD,MATCH($J10,'案件'!$AI:$AI,0)),"")

21行目のA列からF列に、連絡した日、工事番号、手段、担当、話したこと、次に連絡する日、と入れ、J21に 順 と入れます。J22に 1、J23に =J22+1 を入れて51行目までコピーします。次の式を22行目に入れ、51行目までコピーします。連絡は、連絡のシートの下の行から順に30件まで出ます。

A22(連絡した日)
=IFERROR(INDEX('連絡'!$A:$A,MATCH($J22,'連絡'!$J:$J,0)),"")

B22(工事番号)
=IFERROR(INDEX('連絡'!$B:$B,MATCH($J22,'連絡'!$J:$J,0)),"")

C22(手段)
=IFERROR(INDEX('連絡'!$D:$D,MATCH($J22,'連絡'!$J:$J,0))&"","")

D22(担当)
=IFERROR(INDEX('連絡'!$E:$E,MATCH($J22,'連絡'!$J:$J,0))&"","")

E22(話したこと)
=IFERROR(INDEX('連絡'!$F:$F,MATCH($J22,'連絡'!$J:$J,0))&"","")

F22(次に連絡する日)
=IFERROR(IF(INDEX('連絡'!$G:$G,MATCH($J22,'連絡'!$J:$J,0))="","",INDEX('連絡'!$G:$G,MATCH($J22,'連絡'!$J:$J,0))),"")

B6、B7、D10からH19、A22からA51、F22からF51の表示形式は日付にします。B1にリストを付けると、顧客番号を選べます。

手順7. 月の数字、リスト、色を整え、架空の軒で試す

月の数字のシートの1行目に、月、問い合わせ、現地調査、見積、契約、完工、見送り、うち紹介、うち点検、と入れます。A2に月の初日の日付を入れ、次の式を入れて、見たい月の分だけ下へコピーします。

B2(問い合わせ)
=COUNTIFS('案件'!$I:$I,">="&$A2,'案件'!$I:$I,"<"&EDATE($A2,1))

C2(現地調査)
=COUNTIFS('案件'!$J:$J,">="&$A2,'案件'!$J:$J,"<"&EDATE($A2,1))

D2(見積)
=COUNTIFS('案件'!$K:$K,">="&$A2,'案件'!$K:$K,"<"&EDATE($A2,1))

E2(契約)
=COUNTIFS('案件'!$L:$L,">="&$A2,'案件'!$L:$L,"<"&EDATE($A2,1))

F2(完工)
=COUNTIFS('案件'!$N:$N,">="&$A2,'案件'!$N:$N,"<"&EDATE($A2,1))

G2(見送り)
=COUNTIFS('案件'!$O:$O,">="&$A2,'案件'!$O:$O,"<"&EDATE($A2,1))

H2(うち紹介)
=COUNTIFS('案件'!$I:$I,">="&$A2,'案件'!$I:$I,"<"&EDATE($A2,1),'案件'!$G:$G,"紹介")

I2(うち点検)
=COUNTIFS('案件'!$I:$I,">="&$A2,'案件'!$I:$I,"<"&EDATE($A2,1),'案件'!$G:$G,"点検")

先の日付は予定なので、今月と来月の数には予定も入ります。

「データ」の「データの入力規則」で、次の列にプルダウンを付けます。表のカンマで並べた値は、Googleスプレッドシートでは1つずつ入れ、「別のアイテムを追加」で足します。シートの範囲を使う列は、条件で「リストを範囲で指定」を選びます。

シート 列 リストの値
お客様 H 連絡の手段 電話,メール,LINE,郵送
お客様 I 案内 可,停止
お客様 J 状態 通常,統合済み
案件 B 顧客番号 お客様のシートのA列の範囲
案件 E 工事の種類 設定のシートのE2からE9
案件 G 入口 検索,紹介,チラシ,看板,点検,再度の相談
案件 P 見送りの理由 金額,時期,他社,連絡が取れない,その他
連絡 B 工事番号 案件のシートのA列の範囲
連絡 D 手段 電話,メール,LINE,訪問,手紙

関数の列は色を変え、Y列、AE列、AF列、連絡のH列、お客様のM列とV列には、「表示形式」の「条件付き書式」で色を付けます。関数の列には「データ」の「シートと範囲を保護」で警告を出しておくと、うっかり消すのを防げます。これは見る人を絞る設定ではありません。

最後に、架空の3軒を入れて試します。問い合わせだけの案件、完工して点検の時期が近い案件、見送りの案件を作り、状態、次の連絡、点検の一覧が意図どおりかを見ます。お客様の本物の電話番号は使わず、実在しない番号を入れます。確かめたら架空の行を消します。

動かして確かめた結果

この記事の式は、2026年11月2日に、Node.js 24.22.1 の上で HyperFormula 3.5.0 を使って計算しました。HyperFormula は表計算の関数を計算するライブラリで、ExcelやGoogleスプレッドシートそのものではありません。Python 3.9.6 の openpyxl 3.1.5 で実際の .xlsx ファイルを作り、そこから入力と式を読んで計算しました。

架空のデータを乱数で3組作りました。1組はお客様300軒、案件480件、連絡1,500行で、ファイルの式は23,417本、計算のエラーは0です。状態から一覧の順までの案件の13列、お客様の9列、点検の一覧の並び、月の数字、1軒の流れを、式を使わずにPythonで別に書いた計算と比べました。合わせて27,165か所で不一致は0です。比べ方に効き目があるかも試し、Pythonの側の見積の日数をわざと1日ずらすと、177か所の不一致が出ました。確認の列はこの比べ方に入っていないので、ずれの表の場面で1つずつ見ました。式を入れた空の行は、どの列も空のままでした。案件と連絡の入力の順を混ぜて作り直しても、案件ごとの結果とお客様の行の結果は変わりませんでした。ただし、これは順を変えたファイルを計算したもので、並べ替えの機能を使ったものではありません。1軒の流れに並ぶ順だけは、シートの行の順で変わります。

本文の式の文字列だけを切り出してブックを作り直す確認もしました。本文の71本の式は、計算に使った式と1文字も違いません。ただし、式を下の行へコピーした形はプログラムで作ったものです。使う関数は AND、COUNT、COUNTA、COUNTIF、COUNTIFS、EDATE、IF、IFERROR、INDEX、ISNUMBER、MATCH、MAX、MAXIFS、MID、MIN、MINIFS、NOT、OR、ROW、SUBSTITUTE、TODAY の21種です。

連絡の判定は、見積提示日を変えて次のようになりました。今日を2026年11月2日、見積の日数を7とした結果です。

見積を渡した日 次の連絡 Y列の表示
8日前 11月1日 遅れ
7日前 11月2日 今日
6日前 11月3日 3日以内
4日前 11月5日 3日以内
3日前 11月6日 (空欄)

次の連絡の優先の順は、次のように動きました。上の4行は見積の案件で、見積提示日は15日前、最初の連絡は2日前です。

連絡のシートの状態 次の連絡
次に連絡する日が空 最後の連絡の7日後(11月7日)
次に連絡する日が30日後 12月2日
30日後と、別の行の5日後の約束がある 11月7日(早いほう)
約束の日が昨日で、その後の連絡がない 11月1日、判定は「遅れ」
見送りの案件に、100日後の約束 2027年2月10日

点検の判定は、案内を始める日数を60として、次のようになりました。

次の点検日 AE列の表示
昨日 過ぎている
今日 案内する
60日後 案内する
61日後 (空欄)
案内が 停止 のお客様 案内しない

架空の案件を入れた点検の一覧は、次のようになりました。

順 工事番号 名前 工事名 完工日 回 予定日 判定 最後の連絡
1 R25-040 辛 内装の張り替え 2025/10/20 1 2026/10/20 過ぎている (空欄)
2 R26-005 庚 トイレの入れ替え 2026/5/10 1 2026/11/10 案内する (空欄)
3 R26-009 癸 洗面台の入れ替え 2026/6/1 1 2026/12/1 連絡あり 2026/10/30
4 R25-052 壬 玄関まわりの外壁の補修 2025/12/15 1 2026/12/15 案内する (空欄)

動かす中で分かった、ずれやすい所は次のとおりです。

起きること 結果 この記事での手当て
完工の予定日が来たが、工事が延びていて日付を直していない 状態が「完工」になり、点検の予定日も出た 工程が変わった日に日付を直す
見積提示日に 11月末 と文字で入れた 確認に「日付を確認」。状態は1つ前のまま 予定が未定なら空にして、連絡に書く
現地調査日が問い合わせ日より前になった 確認に「日の順を確認」 日付を直す
顧客番号の最後に空白が入った(C0013 ) 名前が「番号なし」、確認に「顧客番号を確認」。そのお客様の案件の数に入らない リストから選ぶ
顧客番号が空 確認に「顧客番号を確認」 同上
工事番号が2行で同じ 確認に「番号が重複」 番号は1回だけ使う
連絡の工事番号の最後に空白、ハイフンが全角 連絡の確認に「番号なし」。最後の連絡日に入らない リストから選ぶ
連絡した日が今日より先、文字 連絡の確認に「日付を確認」。先の日付は最後の連絡日に入る 日付を直す
次に連絡する日に 来春 と文字で入れた 連絡の確認に「次の日を確認」。次の連絡に出ない 日付で入れ、文字はF列に書く
工事の種類が表にない、空 確認に「種類を確認」。点検の予定日が出ない リストから選ぶ
1回目の点検を飛ばして2回目だけ入れたいとき、1回目に なし を入れなかった 1回目が残る 飛ばす回に なし を入れる
点検の案内ではない連絡が、案内を始める日以降にあった 判定が「連絡あり」になる 一覧に残るので、連絡の内容を見る
電話の書き方が 090 0000 0012 同じ値にそろい、「同じ軒の候補」 そのまま確かめてまとめる
電話の先頭の0が消えた(9000000012) 「電話を確認」 D列を文字の形にして入れ直す
1軒に案件が14件 1軒の流れには10件まで。お客様のN列は14 枠の行を増やす
一覧の対象が107件 一覧に100件、載らない件数が7 枠の行を増やす

動かせなかった所もあります。ExcelとGoogleスプレッドシートの実物では、どの式も動かしていません。引用符付きのシート名、空のセルと空の文字の比べ方、INDEXで空のセルを呼び出したときの表示は、実物で変わることがあります。EDATEの月末は、2026年8月31日の6か月後が2027年2月28日になりました。一方、2023年8月31日の6か月後は、このライブラリでは2024年2月28日でした。うるう年の2月なので29日になるはずの所で、ライブラリの計算のくせと見ています。実物ではこの1日が違う可能性があり、ヘルプにも月末の扱いの説明はありません。全角の電話番号(090-…)は、このライブラリでは全角と半角の 0 を同じと比べたため「電話を確認」が出ませんでした。実物でどう出るかは確かめておらず、確かめたヘルプにも全角と半角の比べ方の説明はありません。プルダウン、条件付き書式、保護、フィルタ表示は試しておらず、手順はヘルプによるものです。式の下へのコピーはプログラムで再現したもので、手では試していません。Excelで実際の並べ替えも試していません。行を埋めたときの実物での速さも測っていません。日付と連絡はすべて架空です。使う前に、手順7のとおり架空の軒で確かめてください。

会社サイトの関連ページ建設会社・工務店・リフォーム会社のWeb集客

Excelで作るときに変える所

顧客台帳はExcelでも同じ形で作れます。事務所のパソコン1台で、1人が入力するならExcelで足ります。現場の担当と事務が同時に見るなら、Googleスプレッドシートのほうが1つのファイルを保ちやすくなります。

変える所 Googleスプレッドシート Excel
MAXIFS・MINIFS そのまま ヘルプの対応する版は Excel 2019 以降と Microsoft 365。それより前の版では使えない
入力のリスト 「データ」の「データの入力規則」のプルダウン 「データ」の「データの入力規則」
文字に色を付ける 「表示形式」の「条件付き書式」 「ホーム」の「条件付き書式」
式の上書きを防ぐ 「データ」の「シートと範囲を保護」 色を変えて分ける
保存先 共有先を必要な人だけに絞る 1か所に置き、回さない

ファイルをメールやUSBメモリで回す形は避けます。どれが新しいか分からなくなるからです。

やってはいけないこと

顧客台帳で、後から直すのに手間がかかる失敗です。

ポイント1. お客様の行に、工事を横へ足していく

工事の数が増えると列が足りなくなり、関数でも数えにくくなります。工事は案件のシートの行で持ちます。

ポイント2. 状態を手で書き換える列を残す

日付と状態の2か所に同じことを持つと、合わなくなります。状態は日付から出します。

ポイント3. 予定が変わったのに日付を残す

先の日付は予定として読むので、延びた工事の日付が残っていると、その日に段階が進みます。工程が変わったら、その日に直します。

ポイント4. 金額を顧客台帳にも書く

見積や工事台帳と合わなくなります。金額を見たいときは、工事番号で工事台帳を開きます。

ポイント5. 見送りの行を消す

理由が残らず、同じお客様から戻った相談の前の経緯も分からなくなります。行は残します。

ポイント6. 個人のスマホの中だけに連絡を残す

担当が休むと続きが分からなくなります。電話やLINEの要点は、その日のうちに連絡のシートへ1行入れます。

台帳では足りなくなる線

スプレッドシートの顧客台帳から業務システムへ移す線は、行数より、打ち直しと連絡の漏れで決めます。見るのは次のことです。

起きていること なぜ足りないか 次の手
フォーム、電話、LINEの問い合わせを、台帳へ手で写している 写すまでの間に返事が遅れ、写し忘れも起きる 問い合わせが届いたら案件の行ができる形にする
案件、見積、工事台帳、写真台帳に、同じ内容を打っている 工事番号でつないでいても、表はそれぞれ別 工事番号を鍵にして、1つの記録からそれぞれを作る
連絡の記録が事務所に戻るまで入らない、たまってしまう 現場で開きにくく、書く場所が遠い スマホから案件を選んで、1行残せる画面にする
点検の案内を1件ずつ手で送っている 関数は一覧を作るだけで、送れない 一覧からまとめて送り、送った記録も残す
担当や協力業者ごとに、見られる範囲を分けたい シートの保護は見る人を絞る仕組みではない 役割ごとに見られる範囲を分ける
点検が4回以上ある、設備ごとに交換の時期を追いたい 3回の枠と工事単位の持ち方では足りない 住まいと設備の記録を持ち、そこに点検をつなぐ
確認の列に毎週いくつも出る 入力の決まりが守られにくくなっている 選ぶだけの画面にして、入れる項目を減らす

Excelやスプレッドシートの管理が限界に近いときの全体の見方は、Excelの業務管理が限界になったときのサインのコラムにまとめています。1つ当てはまっても、全部を作り直す必要はありません。手で作るか開発するかの分かれ目はノーコードと開発の分かれ目の記事に条件を分けて書いています。

業務システムへ移す順番は、4つ

業務システムへ移すときは、台帳の全部を一度に置き換えず、手間のかかっている入口から順に移します。お客様、案件、連絡に分けた表は、そのままシステムの記録の形に近いので、今の形を整えることが準備になります。

手順1. 確認の列を空にして、決まりを書き出す

お客様のM列、案件のAF列、連絡のH列に出ている内容を直します。状態の意味、次の連絡までの日数、点検の月数、見送りの理由を紙1枚に書きます。これがそのまま仕様の元になります。

手順2. 最初に移す入口を1つ選ぶ

問い合わせの写しが重いならフォームから案件を作る所から、連絡の記録が遅れるならスマホの入力から、点検の案内が重いなら一覧からの送信から始めます。フォームの受け方は問い合わせフォームの保存と通知の記事に、LINEとのつなぎ方は公式LINEと予約・顧客管理をつなぐ順番の記事に書いています。業種は違っても、順番の考え方は同じです。見る範囲の分け方は権限と操作ログの記事に書いています。

手順3. 関数の列は移さず、手で入れた列だけを移す

状態、次の連絡、点検の予定日は、新しいシステムの側で計算するものです。移すのは、お客様の連絡先、案件の日付、連絡の行です。列の対応や照合の進め方はExcelから業務システムへのデータ移行の記事にまとめています。

手順4. 1か月は並べて、点検の一覧を見比べる

切り替えの前に、新しい形と台帳の両方で、進行中の案件の数、次の連絡が遅れている数、点検の一覧を出して見比べます。合ってから台帳を閉じ、閲覧だけにして残します。

台帳を使い始める前のチェックリスト

顧客台帳を本番で使う前に、次の項目を確かめます。

  • ファイルのオーナーが会社のアカウントで、共有は必要な人だけに絞っている
  • 7枚のシートを、名前のとおりに作った
  • お客様、案件、連絡の式を下の行までコピーした
  • 関数の列の色を変えた
  • 設定の日数と月数を、自社で決めた値に置き換えた
  • 工事番号の付け方を、工事台帳、見積、写真とそろえた
  • 問い合わせを受けたら、その日に案件の行を作ると決めた
  • 先の日付は予定として読むことを、入力する全員が知っている
  • 連絡の記録を誰がいつ入れるかを決めた
  • 毎朝、連絡の判定を見る人を決めた
  • 月に1回、点検の一覧を見る日を決めた
  • 月に1回、工事台帳の状態と日付を見比べる日を決めた
  • 案内を止めるお客様の行を 停止 にした
  • 架空の3軒で、状態、次の連絡、点検の一覧を確かめた

自社でやる場合と、任せる場合

自社でやる場合は、この記事の項目と式でひな形を作ります。続けるのに要るのは、問い合わせの日に案件の行を作る人、連絡を1行残す担当、毎朝の判定と月の一覧を見る人です。小さな会社では事務の方が兼ねることが多いので、見る時間を決めておきます。何か月後に点検するか、どのお客様にどう案内するかは、任せる場合でも会社の側でしか決められません。

任せる場合、株式会社bundlyzeは、Web・システムのことは何でも対応できます。業務システム開発を受けています。問い合わせから案件を作る入口、連絡の記録、点検の案内、見積や工事台帳とのつなぎ込みは、足りない所から組み立てられます。顧客台帳の仕組みの相談はシステム開発の案内ページから受け付けています。

出典(一次情報)

ExcelとGoogleスプレッドシートの機能についての説明は、次の公式の資料に基づいています。確認日はどれも2026年11月2日です。ヘルプは更新されることがあるので、作業の前に最新のものを確かめてください。

シートの分け方、列の項目、工事番号を問い合わせで振ること、状態の読み方、次の連絡の優先の順、点検の3回の枠、判定の言葉、受け渡しの表、足りなくなる線、移す順番は、この記事で決めた進め方で、上の資料が示した手順ではありません。設定の日数と月数は計算を確かめるための架空の値です。動かした結果は架空のデータによるもので、実際の工事やお客様の数字ではありません。

よくある質問

リフォーム会社の顧客管理は、何から始めればよいですか?

スプレッドシートに「お客様」「案件」「連絡」の3枚を作るところから始めます。お客様は1軒1行、案件は相談1件1行、連絡は1回1行にして、顧客番号と工事番号でつなぎます。まず進行中の案件と、点検の時期が近いお客様から入れます。過去の工事を全部入れてから始めようとすると、始める前に止まります。

1軒のお客様に複数の工事があるときは、どう持ちますか?

お客様のシートは1行のまま、案件のシートに工事ごとの行を足します。同じ顧客番号の行が2つ並ぶ形です。お客様の行に「工事1」「工事2」と横へ列を足す形にすると、工事の数が増えたときに列が足りなくなり、関数でも数えにくくなります。

状態は、案件ごとに手で選ぶのがよいですか?

手で選ぶ列は作らず、問い合わせ日、現地調査日、見積提示日、契約日、着工日、完工日の6つの日付から関数で出します。今日より先の日付は予定として読むので、着工の予定日を入れても、その日までは契約のままです。日付が残るので、各段階にかかった日数も後から見られます。

施工後の点検は、何か月後に設定すればよいですか?

この記事では月数を決めません。保証の内容や社内の決まりをもとに、工事の種類ごとに自社で決めた月数を設定のシートに入れます。本文の月数は、関数を確かめるための架空の値で、おすすめの時期ではありません。

顧客台帳から業務システムへ移すのは、どのタイミングですか?

件数より、同じ内容の打ち直しと連絡の漏れで決めます。問い合わせを台帳へ手で写している、案件と工事一覧と見積に同じ内容を打っている、現場から連絡の記録を残せず入力がたまる、点検の案内を1件ずつ手で送っている、といったことが続くなら移す時期です。全部を作り直さず、いちばん手間のかかっている入口から移します。

この記事の書き方と確認の方針