去年サイトを作ったお客さんから、久しぶりに連絡が来る。「リニューアルを別の会社に頼んだので、ドメインの移管だけお願いできますか」。受託の仕事をしていると、こうした“気づいたら終わっていた取引”にときどき出会います。取引が途絶えたこと自体より、途絶えていたことに誰も気づいていなかったことのほうが問題です。

顧客管理表とは、取引先を1社1行にして、連絡先と取引の履歴(何回、いくら、最後はいつ)を同じ行で見られるようにした台帳です。結論を先に書きます。取引回数・累計売上・最終取引日は顧客管理表に手で書かず、案件シートから数式で集計してください。そのうえで「最後の取引から一定の日数が過ぎた顧客」を色で浮かべれば、リピートの声かけ先を探しに行く必要がなくなります。

この記事では、Googleスプレッドシートでそのまま作れる14列の設計と、COUNTIFS・SUMIFS・MAXIFS を使った集計式、条件付き書式、月1回の回し方までを書きます。エクセル(2019以降、Microsoft 365)でも同じ式で動きます(出典:Microsoft サポート「MAXIFS 関数」、2026年10月1日確認)。

この記事の要点

  • 顧客管理表は1社1行。手で入れるのは会社名・担当者・連絡先・流入経路と、次回連絡日だけにする
  • 取引回数・累計売上・累計粗利・最終取引日は、案件シートから数式で集計する。同じ数字を2か所に書かない
  • 「最終取引からの経過日数」と「次回連絡日」を条件付き書式で色分けし、声をかける顧客を開いた瞬間に分かるようにする
顧客管理表の仕組みを示した図。案件シート(1案件1行)と顧客台帳の手入力列から、顧客台帳の数式列(取引回数・累計売上・最終取引日)が集計され、そこから「次回連絡の超過(赤)」「しばらく取引なし(黄)」「累計粗利の上位」の3つに分かれることが確認できる

顧客管理表に置く14列

シート名を「顧客台帳」にして、1行目を見出しにします。左から、顧客の基本情報・流入経路・取引の集計・次の行動の4ブロックで並べます。

列見出し入力例種類
A顧客IDC-0012手入力(連番)
B会社名株式会社サンプル手入力
C担当者名山田手入力
Dメールyamada@example.com手入力
E電話03-0000-0000手入力
F流入経路紹介プルダウン
G紹介元株式会社サンプル商事手入力(紹介のときだけ)
H取引回数3数式
I累計売上(税抜)1,850,000数式
J累計粗利(税抜)720,000数式
K最終取引日2026/03/14数式
L経過日数199数式
M次回連絡日2026/10/06手入力
Nメモ採用ページの追加を検討中手入力

F列の流入経路は「問い合わせ/紹介/営業リスト/既存顧客からの追加/その他」のように5つ程度に絞ったプルダウン(データの入力規則→「プルダウン」)にします。自由入力にすると表記が揺れ、後で流入経路別に集計できなくなります。紹介の場合だけG列に紹介元を書いておくと、紹介してくれた顧客へのお礼や、紹介を頼む相手を選ぶときの材料になります。紹介の頼み方は紹介営業のやり方にまとめています。

H〜L列は触らない列なので、背景を薄いグレーにしておくと、手入力する列との区別がつきます。

取引回数・累計売上・最終取引日を案件シートから集計する

顧客管理表を作るときにいちばんやってはいけないのは、案件のたびに顧客側の「累計売上」を手で足し直すことです。1回でも足し忘れると、その顧客の数字は二度と正しくなりません。取引の数字は案件シートにだけ書き、顧客台帳では集計します。

ここでは、案件シート(シート名「案件」)が次の列になっている前提で式を書きます。列の位置は、自分の案件シートに合わせて読み替えてください。案件シートそのものの作り方は案件管理のスプレッドシートテンプレートに書いています。

  • 案件!B列:顧客名(顧客台帳のB列を参照するプルダウン)
  • 案件!C列:受注日(受注した案件だけ入れる。商談中・失注は空欄)
  • 案件!D列:売上(税抜)
  • 案件!F列:粗利(税抜)

受注日が入っている行だけを「取引」として数えるのがポイントです。こうしておくと、商談中や失注の案件が取引回数に混ざりません。顧客台帳の2行目に次の式を入れ、下までコピーします。

列数式
H 取引回数=IF(B2="","",COUNTIFS(案件!B:B,B2,案件!C:C,"<>"))
I 累計売上=IF(B2="","",SUMIFS(案件!D:D,案件!B:B,B2,案件!C:C,"<>"))
J 累計粗利=IF(B2="","",SUMIFS(案件!F:F,案件!B:B,B2,案件!C:C,"<>"))
K 最終取引日=IF(OR(B2="",H2=0),"",MAXIFS(案件!C:C,案件!B:B,B2))
L 経過日数=IF(K2="","",TODAY()-K2)

MAXIFS は条件に合う行の中で最大の値を返す関数で、日付に使えば「いちばん新しい受注日」になります。条件に合う行が1つもないと 0 を返し(出典:Microsoft サポート「MAXIFS 関数」、2026年10月1日確認)、スプレッドシートでは日付として1899年12月30日と表示されてしまうので(出典:Google ドキュメント エディタ ヘルプ「DATE」、2026年10月1日確認)、取引回数が0の顧客は空欄にしています。MAXIFS はエクセル2019以降と Microsoft 365 で使える関数で、エクセル2016以前にはありません(出典:Microsoft サポート「MAXIFS 関数」、2026年10月1日確認)。その場合は =MAX(IF(案件!B$2:B$500=B2,案件!C$2:C$500)) を配列数式(Ctrl+Shift+Enter)で入れてください。

案件シートB列の顧客名を顧客台帳のB列から選ぶプルダウンにしておくことも、同じくらい大事です。「株式会社サンプル」と「サンプル」が混ざると、COUNTIFS も SUMIFS も別の会社として数えてしまいます。

声をかける顧客を条件付き書式で浮かべる

集計ができたら、見るべき行を色で浮かべます。範囲 A2:N に「カスタム数式」で次の2つのルールを入れます。

  1. 次回連絡日の到来:=AND($M2<>"",$M2<=TODAY()) で背景を赤。自分で決めた連絡日を迎えた、または過ぎた顧客です
  2. しばらく取引なし:=AND($L2<>"",$L2>=180,$M2="") で背景を黄色。最後の受注から180日以上たっていて、次回連絡日も決めていない顧客です

赤は「約束した連絡」、黄色は「まだ誰も気にしていない顧客」です。黄色の行を見つけたら、連絡するかどうかを決めてM列に日付を入れます。日付を入れると黄色は消え、その日が来たら赤になります。つまり、黄色を1行ずつ赤の予定に変えていくのが、この表の使い方です。

180日は例です。保守や更新が毎月・毎年ある顧客と、数年に1回サイトを作り直す顧客では、自然な発注の間隔がまったく違います。自社の案件シートで、同じ顧客の受注日の間隔を何件か見てから決めてください。既存顧客に何をきっかけに声をかけるかはリピート受注を増やす方法で整理しています。

累計粗利で並べて「守る顧客」を決める

顧客台帳のもうひとつの使い道は、どの顧客を優先して守るかを決めることです。Googleスプレッドシートなら「データ」→「フィルタビューを作成」で、J列(累計粗利)を降順に並べた表示を保存しておきます。フィルタ表示は複数のユーザーが同時に別々のものを使えるので、共有しているシートでも気兼ねなく並べ替えられます(出典:Google ドキュメント エディタ ヘルプ「データの並べ替えとフィルタ」、2026年10月1日確認)。

累計売上ではなく累計粗利で並べるのは、外注比率が高い顧客は売上が大きくても手元に残る額が小さいためです。売上順と粗利順で上位の顔ぶれが入れ替わる場合は、その差がどこから来ているかを案件単位で確認する価値があります。外注比率ごとの粗利率の目安はWeb制作の粗利率の目安に書いています。

台帳の上か別シートに、次のような集計を置いておくと、月1回の振り返りが早くなります。

知りたいこと数式
取引が180日以上ない顧客の数=COUNTIFS(顧客台帳!L:L,">=180")
2回以上取引した顧客の割合=COUNTIF(顧客台帳!H:H,">=2")/COUNTIF(顧客台帳!H:H,">=1")
紹介経由の顧客の累計粗利=SUMIFS(顧客台帳!J:J,顧客台帳!F:F,"紹介")

流入経路別の累計粗利は、F列の選択肢ごとに1行ずつ並べると、「どの経路から来た顧客が長く付き合ってくれているか」が見えます。新規開拓にどこまで時間を割くかを決める材料になります。

月1回の回し方

台帳ができたら、月初に次の3つをやるだけです。

  1. 赤の行に連絡する。連絡したらN列に一言メモを残し、次に連絡する日をM列に入れ直す(予定がなければ空欄に戻す)
  2. 黄色の行を上から見て、声をかけるか決める。かけるなら日付をM列に入れる。かけないと決めた顧客も、理由をN列に書いておく
  3. 新しく取引が始まった顧客を1行足す。案件シートのプルダウンに出てこない顧客名があれば、ここで登録漏れに気づける

2で「声をかけない」と決めるのも立派な判断です。黄色のまま放置されている行と、考えたうえで見送った行を区別できることが、台帳を持つ意味です。顧客情報として何を残すべきかの考え方は顧客管理のやり方でまとめています。

なお、担当者名やメールアドレスは個人情報です。共有設定は「リンクを知っている全員」ではなく、使う人のアカウントに限定してください。権限の分け方は受託の顧客情報管理とセキュリティに書いています。

この顧客管理表で足りなくなるタイミング

1人〜数名で、取引先が数十社程度なら、この台帳で問題なく回ります。まだ取引のない見込み客は、この台帳に混ぜず営業リストのスプレッドシートテンプレートで別に管理するほうが、それぞれの表が軽く保てます。

苦しくなるのは、見込み客・商談・案件・顧客のシートが増え、シート間で顧客名をそろえる手間が作業の中心になってきたときです。ここからは自社製品の紹介です。Pipelia では、営業リストから商談、受注、案件、粗利までが1つのデータでつながっており、再連絡日を過ぎた相手はアラートで表示されます。

Pipeliaの営業リスト画面。見込み客ごとの優先スコアと再連絡アラートが一覧で表示され、連絡すべき相手が確認できる

よくある質問

顧客管理表と営業リストは同じシートにまとめてもいいですか?

小さいうちはまとめても回りますが、分けておくのがおすすめです。営業リストは件数が多く頻繁に入れ替わり、顧客管理表は件数が少なく長く残ります。同じシートにすると、取引のある顧客が見込み客の行に埋もれ、条件付き書式の色も意味が混ざります。受注したら顧客台帳に1行足す、という運用で十分です。

何日取引がなければ既存顧客に声をかけるべきですか?

一律の正解はなく、顧客ごとの自然な発注間隔で決めるのが現実的です。まず案件シートで、同じ顧客の受注日の間隔をいくつか確認してください。年1回の更新がある顧客なら1年弱、単発の制作が中心なら半年程度から試し、声をかけて早すぎた・遅すぎたと感じたら日数を調整すると、自社に合う基準に近づきます。

顧客管理表はスプレッドシートとエクセルのどちらで作るのがいいですか?

この記事の数式はGoogleスプレッドシートとエクセル2019以降のどちらでも動くので、案件シートを置いている側に合わせるのがいちばんです。顧客台帳は案件シートを参照して集計するため、別々のファイルやツールに分けると集計の手間が増えます。複数人で同時に見るならスプレッドシート、1人で扱うならエクセルでも困りません。