整体院の顧客管理 台帳の項目とスプレッドシートの作り方
整体院の
この
この
この
整体院の顧客管理は、顧客・来院・回数券の3枚で持つ
整体院の
| シート | 1行の単位 | 手で |
関数で |
|---|---|---|---|
| 顧客 | お客様1人 | 名前、 |
来院回数、 |
| 来院 | 来院1回 | 日付、 |
名前の |
| 回数券 | 回数券1枚 | 券の |
使った |
つなぐC0001 のような
そのまま使える、整体院の顧客台帳の項目表
顧客シートの
| 列 | 項目 | 入れ方 | 何に使うか |
|---|---|---|---|
| A | 顧客ID | C0001 の |
3枚を |
| B | 名前 | 漢字 | 呼びかけ、 |
| C | かな | 全角 |
同じ |
| D | 電話 | ハイフン付きで |
連絡、 |
| E | メール | そのまま | 連絡 |
| F | 連絡手段 | プルダウン |
本人が |
| G | 案内 | プルダウン |
案内を |
| H | きっかけ | プルダウン |
入口ごとに |
| I | 状態 | プルダウン |
通院を |
| J | 統合先ID | 重複を |
どの |
| K | 最後に |
案内を |
同じ |
| L | 電話照合 | 関数 | 表記を |
| M | 重複確認 | 関数 | 同じ |
| N | 来院回数 | 関数 | 通った回数 |
| O | 初回来院 | 関数 | 月ごとの |
| P | 最終来院 | 関数 | 経過日数を |
| Q | 2回目まで | 関数 | 初回から |
| R | 平均間隔 | 関数 | その |
| S | 経過日数 | 関数 | 最後の |
| T | 次回予約 | 関数 | 次の |
| U | 回数券残り | 関数 | 有効な |
| V | 判定 | 関数 | 来院が |
来院シートと
| シート | 列 | 項目 | 入れ方 |
|---|---|---|---|
| 来院 | A | 来院日 | 日付 |
| 来院 | B | 顧客ID | プルダウン |
| 来院 | C | 名前 | 関数 |
| 来院 | D | メニュー | プルダウン |
| 来院 | E | 施術者 | プルダウン |
| 来院 | F | 状態 | プルダウン |
| 来院 | G | 回数券ID | 回数券で |
| 来院 | H | 次回予約日 | 会計で |
| 来院 | I | 確認 | 関数 |
| 回数券 | A | 回数券ID | T001 の |
| 回数券 | B | 顧客ID | プルダウン |
| 回数券 | C | 購入日 | 日付 |
| 回数券 | D | 回数 | 数字 |
| 回数券 | E | 有効期限 | 日付 |
| 回数券 | F | 使った回数 | 関数 |
| 回数券 | G | 残り | 関数 |
| 回数券 | H | 確認 | 関数 |
逆に、
カルテは顧客台帳と分け、見てよい人を絞る
整体院の
| 持ち方 | 向いている |
決めて |
|---|---|---|
| 紙の |
まず |
カルテの |
| カルテ専用の |
院長1人か、 |
共有は |
| カルテの |
施術者が |
誰が |
カルテに
スプレッドシートでの作り方は、7つの手順
Googleスプレッドシートでの
手順1. 院のアカウントでファイルを作り、共有を絞る
院長個人ではなく、
手順2. シートを4枚作り、1行目に項目を入れる
「顧客」30)、2)を
手順3. プルダウンを付ける
連絡手段、
手順4. 顧客シートの関数を2行目に入れ、下へ伸ばす
顧客シートの1900/01/29 のような
L2(電話照合)
=IF(D2="","","T"®EXREPLACE(ASC(D2&""),"[^0-9]",""))
M2(重複確認)
=IF(OR(L2="",I2="統合済み"),"",IF(MID(L2,2,1)<>"0","電話を確認",IF(COUNTIFS($L:$L,L2,$I:$I,"<>統合済み")>1,IF(COUNTIFS($L:$L,L2,$C:$C,C2,$I:$I,"<>統合済み")>1,"同じ人の候補","電話が同じ"),"")))
N2(来院回数)
=IF($A2="","",COUNTIFS(来院!$B:$B,$A2,来院!$F:$F,"来院"))
O2(初回来院)
=IF(OR($A2="",N2=0),"",MINIFS(来院!$A:$A,来院!$B:$B,$A2,来院!$F:$F,"来院"))
P2(最終来院)
=IF(OR($A2="",N2=0),"",MAXIFS(来院!$A:$A,来院!$B:$B,$A2,来院!$F:$F,"来院"))
Q2(2回目まで)
=IF(OR($A2="",N2<2),"",MINIFS(来院!$A:$A,来院!$B:$B,$A2,来院!$F:$F,"来院",来院!$A:$A,">"&O2)-O2)
R2(平均間隔)
=IF(OR($A2="",N2<2),"",ROUND((P2-O2)/(N2-1),0))
S2(経過日数)
=IF(OR($A2="",N2=0),"",TODAY()-P2)
T2(次回予約)
=IF($A2="","",IF(COUNTIFS(来院!$B:$B,$A2,来院!$H:$H,">="&TODAY())=0,"",MINIFS(来院!$H:$H,来院!$B:$B,$A2,来院!$H:$H,">="&TODAY())))
U2(回数券残り)
=IF($A2="","",SUMIFS(回数券!$G:$G,回数券!$B:$B,$A2,回数券!$E:$E,">="&TODAY()))
V2(判定)
=IF(OR($A2="",I2<>"通常",N2=0,T2<>"",AND(ISNUMBER(K2),K2>P2)),"",IF(N2=1,IF(S2>=設定!$B$1,"初回後",""),IF(S2>=R2*設定!$B$2,"空いた","")))手順5. 来院シートと回数券シートの関数を入れる
来院シートは
来院 C2(名前)
=IF(B2="","",IFERROR(XLOOKUP(B2,顧客!$A:$A,顧客!$B:$B),"IDなし"))
来院 I2(確認)
=IF(B2="","",IF(NOT(ISNUMBER(A2)),"日付を確認",IF(COUNTIF(顧客!$A:$A,B2)=0,"IDなし",IF(COUNTIFS($A:$A,A2,$B:$B,B2,$F:$F,"来院")>1,"同じ日に2行",IF(AND(G2<>"",IFERROR(XLOOKUP(G2,回数券!$A:$A,回数券!$B:$B),"")<>B2),"券の持ち主が違う","")))))
回数券 F2(使った回数)
=IF(A2="","",COUNTIFS(来院!$G:$G,A2,来院!$F:$F,"来院"))
回数券 G2(残り)
=IF(A2="","",D2-F2)
回数券 H2(確認)
=IF(A2="","",IF(G2<0,"使いすぎ",IF(AND(E2<TODAY(),G2>0),"期限切れで残あり",IF(AND(G2>0,E2-TODAY()<=30),"期限が近い",""))))無断の=IF(A2="","",COUNTIFS(来院!$G:$G,A2,来院!$F:$F,"来院")+COUNTIFS(来院!$G:$G,A2,来院!$F:$F,"無断")) に
手順6. 関数の列を保護し、確認の列に色を付ける
関数の=$M2<>""(来院シートなら=$I2<>""、=$H2<>"")を
手順7. 架空の10人で試してから、本物を移す
架空の
実際に動かして確かめた結果
この
同じ$A$2:$A の
動かせなかった
動かす中で
| 起きること | 結果 | この |
|---|---|---|
| 来院の |
0を |
来院回数が |
来院日が2026/10/20 が |
来院回数には |
確認の |
| 顧客IDを |
どの |
確認の |
| 取消や |
回数と |
状態が |
| 「最後に |
文字は |
数字 |
空でない"<>" で数える |
空 |
日付の">0" で数える |
重複は、電話の値をそろえて見つけ、人が決めてまとめる
同じ
L列は、T をD2&"" でT は、
| 入力 | 照合の数字 |
|---|---|
090-0000-0001 |
09000000001 |
090-0000-0001 |
09000000001 |
090 (0000) 0001 |
09000000001 |
9000000001(先頭の |
9000000001( |
M列は、
| 一致した |
M列の表示 | 扱い |
|---|---|---|
| 電話とかな | 同じ |
本人に |
| 電話だけ | 電話が同じ | ご家族かもしれないので、 |
| かなだけ | 出ない | 同姓同名も |
かなの
まとめる
- 残す行を
1つ 決める (来院の 記録が 多い ほう) - 来院シートと
回数券シートで、 消える 側の 顧客IDを 残す行の IDに 置き換える - 消える
側の 行は 消さず、 状態を 「統合済み」、 統合先IDに 残す行の IDを 入れる
統合済みの
次回予約・回数券・来院間隔は、来院の行から数える
次回予約・回数券の
ポイント1. 次回予約は、会計のときに来院の行へ入れる
次回予約は、
ただし、
ポイント2. 回数券の残りは、券の回数から使った行を引く
回数券の
取消の
ポイント3. 来院間隔は、平均と直近の2つで見る
R列の
直近の
W2(直近3回の間隔)
=IFERROR(ROUND((P2-LARGE(FILTER(来院!$A$2:$A,来院!$B$2:$B=$A2,来院!$F$2:$F="来院"),4))/3,0),"")来院が空いた人は、その人の間隔と比べて見つける
来院が
2026年10月31日を
| 架空の人 | 回数 | 最終来院 | 平均間隔 | 経過日数 | 判定 | 60日で |
|---|---|---|---|---|---|---|
| 週1回の人 | 8 | 10月17日 | 7日 | 14日 | 空いた | 出ない |
| 月1回の人 | 6 | 10月5日 | 30日 | 26日 | (空欄) | 出ない |
| 初回だけの |
1 | 9月20日 | ― | 41日 | 初回後 | 出ない |
| 11月5日に |
6 | 9月15日 | 14日 | 46日 | (空欄) | 出ない |
| 取消だけの |
0 | ― | ― | ― | (空欄) | 出ない |
| 途中で |
13 | 8月12日 | 21日 | 80日 | 空いた | 出る |
| 案内を |
4 | 7月13日 | 14日 | 110日 | 空いた | 出る |
| 通院を |
4 | 7月13日 | 14日 | 110日 | (空欄) | 出る |
一律の
案内を
案内を
案内は、
台帳が整うと、経営の数字が毎月見える
顧客台帳の
| 列 | 見る数字 | 2行目の式 |
|---|---|---|
| B | 新規 | =COUNTIFS(顧客!$O:$O,">="&A2,顧客!$O:$O,"<"&EDATE(A2,1)) |
| C | 来院数 | =COUNTIFS(来院!$A:$A,">="&A2,来院!$A:$A,"<"&EDATE(A2,1),来院!$F:$F,"来院") |
| D | 再来 | =C2-B2 |
| E | 30日以内に |
=COUNTIFS(顧客!$O:$O,">="&A2,顧客!$O:$O,"<"&EDATE(A2,1),顧客!$Q:$Q,"<=30") |
| F | 2回目の |
=IF(B2=0,"",E2/B2) |
| G | 次回を |
=COUNTIFS(来院!$A:$A,">="&A2,来院!$A:$A,"<"&EDATE(A2,1),来院!$F:$F,"来院",来院!$H:$H,">0") |
E列は、
数字ごとの
| 数字の動き | 見るところ | 次に |
|---|---|---|
| 新規は |
初回の |
初回の |
| 次回を |
施術者ごとの |
会計の |
| 「空いた」の |
回数券の |
残りが |
| 回数券の |
券の |
期限の |
| きっかけごとに |
H列で |
2回目まで |
きっかけごとの=COUNTIFS(顧客!$H:$H,"検索",顧客!$N:$N,">=1") と、">=2" で
Excelで作るときに変える所
整体院の
| 変える所 | Googleスプレッドシート | Excel |
|---|---|---|
| MAXIFS・MINIFS | そのまま | Excel 2019以降。 |
| XLOOKUP | そのまま | Microsoft 365と |
| FILTER |
そのまま | Excel 2021以降。$A$2:$A の$A$2:$A$5000 のように |
| 電話照合 | ASC+REGEXREPLACE | 下の |
Excelの
=IF(D2="","","T"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,"-","")," ","")," ",""))スプレッドシートでは足りなくなる線
スプレッドシートから
| 起きている |
な |
次の手 |
|---|---|---|
| 予約表と |
写し忘れと |
予約の |
| 2店舗目を |
1つの |
店舗を |
| 見られる |
シートの |
役割ごとに |
| 確認やリマインドを |
関数は |
予約の |
| 回数券の |
行の |
予約と |
| 確認の |
入力の |
入れる |
1つでも
台帳をシステムへ移すときは、6つの手順で進める
システムへ
手順1. 台帳を整える
顧客シートの
手順2. 移す範囲を決める
通っている
手順3. 列の対応表を作る
台帳の
手順4. シートを書き出す
「ファイル」の
手順5. 試しに数件を移し、次に全件を照らし合わせる
数件で
| 比べるもの | 台帳の側 | 合わなかった |
|---|---|---|
| 人数 | 状態が |
重複、 |
| 来院の合計 | N列の合計 | 日付の |
| 回数券の |
回数券シートの |
期限切れの |
| 電話番号の |
L列と |
先頭の |
手順6. 切り替えの日を決め、古い台帳は閲覧のみにする
切り
やってはいけないこと
整体院の
ポイント1. 1つのシートに、来院の日付を横へ足していく
列が
ポイント2. 来院回数や残りを手で書き換える
取り消しや
ポイント3. 共有のリンクを「リンクを知っている全員」にする
ログインなしで
ポイント4. カルテを同じファイルの別シートに隠す
シートの
ポイント5. 電話が同じ人を自動でまとめる
ご家族の
台帳を使い始める前のチェックリスト
整体院の
- ファイルの
オーナーが 院の アカウントで、 共有は 必要な 人だけに 絞っている - 顧客・来院・回数券の
3枚に 分け、 顧客IDで つないでいる - 顧客シートに
自由に 書ける メモの 列が ない - カルテを
台帳とは 別の 場所に 持ち、 見られる 人を 絞っている - プルダウンの
列で、 リストに ない 値が 拒否される - 関数の
列に、 誤って 消さないための 保護を かけた - 架空の
10人で、 関数の 結果と 手で 数えた 値が 合った - 取消と
無断の 行が、 来院回数と 回数券の 残りに 入っていない - 確認の
列に 何か 出たら 色で 分かり、 誰が いつ 見るかを 決めた - 案内を
送ったら 「最後に 案内した 日」を 入れる 決まりに した - 案内を
止めた 人と 通院を 終えた 人が、 連絡の 一覧に 出ない - 週に
一度、 次回予約を 予約表と 見比べる 曜日を 決めた - 月の
終わりに 月次の 数字を 見る 担当を 決めた
自社でやる場合と、任せる場合
自社で
任せる
出典(一次情報)
スプレッドシートと
- 条件に
合うセルを 数える こと、 条件に 比較の 記号を 使える こと → Google ドキュメント エディタ ヘルプ「COUNTIF」「COUNTIFS」 - MAXIFS と
MINIFS の 構文と、 どの 条件にも 一致しない ときに 0を 返す こと → Google ドキュメント エディタ ヘルプ「MAXIFS」「MINIFS」 - SUMIFS の
構文 → Google ドキュメント エディタ ヘルプ「SUMIFS 関数」 - XLOOKUP の
構文 → Google ドキュメント エディタ ヘルプ「XLOOKUP 関数」 - FILTER の
構文 → Google ドキュメント エディタ ヘルプ「FILTER 関数」 - ISNUMBER が
数値か 数値を 含むセルの 参照で TRUE を 返す こと → Google ドキュメント エディタ ヘルプ「ISNUMBER」 - ASC が
全角の ASCII 文字と カタカナを 半角にし、 標準文字は 変えない こと → Google ドキュメント エディタ ヘルプ「ASC 関数」 - REGEXREPLACE の
構文と、 入力に 文字を 指定する こと → Google ドキュメント エディタ ヘルプ「REGEXREPLACE」 - プルダウンの
作り方と、 初期の 設定で リストに ない 値が 拒否される こと → Google ドキュメント エディタ ヘルプ「セル内に プルダウン リストを 」作成する - 表示形式の
変更の 手順 → Google ドキュメント エディタ ヘルプ「スプレッドシートで 数値の 」表示形式を 設定する - 条件付き書式の
カスタム数式 → Google ドキュメント エディタ ヘルプ「Google スプレッドシートで 条件付き書式ルールを 」使用する - シートと
範囲の 保護の 手順、 保護は セキュリティ対策ではない こと、 他の ユーザーが 保護された スプレッドシートの コピーを 印刷や 書き出しでき、 閲覧者が 非表示の シートの 内容にも アクセスできる こと → Google ドキュメント エディタ ヘルプ「シートを 保護する、 」非表示に する、 編集する - フィルタと
フィルタ表示の 違い → Google ドキュメント エディタ ヘルプ「データの 並べ替えと 」フィルタ - 変更履歴の
見方と 版の 復元、 復元で 前の セル単位の 編集履歴が 消える こと → Google ドキュメント エディタ ヘルプ「ファイルの 変更内容を 」確認する - ダウンロードの
手順 → Google ドキュメント エディタ ヘルプ「ファイルを 作成、 」表示、 ダウンロードする - 閲覧者などの
権限、 「制限付き」と 「リンクを 知っている 全員」の 違い → Google ドライブ ヘルプ「Google ドライブの ファイルや 」フォルダの 共有と アクセス権の 管理に ついて - スプレッドシートの
上限が 2,000万セルまたは 100 MBである こと → Google ドライブ ヘルプ「Google ドライブに 保管可能な 」ファイル - Excel の
MAXIFS の 対応する 版 → Microsoft サポート 「MAXIFS 関数」 - Excel の
XLOOKUP の 対応する 版 → Microsoft サポート 「XLOOKUP 関数」 - Excel の
FILTER の 対応する 版 → Microsoft サポート 「FILTER 関数」
3枚の
よくある質問
整体院の顧客管理は、何から始めればよいですか?
スプレッドシートに
整体院の顧客管理は、スプレッドシートとExcelのどちらがよいですか?
受付と
カルテも顧客台帳と同じスプレッドシートに書いてよいですか?
分けます。
来院が空いた人は、どうやって見つければよいですか?
全員を
スプレッドシートからシステムへ移すのは、どのタイミングですか?
人数や
