乗り換え
スプレッドシートをCRMへインポートする手順
顧客を一人も失わずにスプレッドシートをCRMへインポートする方法を解説します。ExcelやGoogleスプレッドシートのファイルを整理し、日付や電話番号を正規化し、重複を見つけ、列を新しいシステムの項目へ対応させ、まず20行でテストしてから全件を取り込むまでの手順を順に説明します。
Ifa チーム
顧客がGoogleスプレッドシートやExcelのファイルの中で管理されているなら、そのファイルはすでにあなたのCRMです。それを本格的なシステムへ移すことは、ソフトウェアそのものより、ファイルの状態に左右されます。私たちがこれまで見てきたほぼすべての失敗したインポートは、アップロードボタンを押すより前に運命が決まっていました。一つの行に二つのレコードが入っている、日付が三つの書式で混在している、値であるべき場所に数式が入っている、といった具合です。このガイドでは、2026年9月時点のメニューのたどり方とともに、順を追って整理の進め方を説明します。Ifaのインポートを具体例として使いますが、他のツールと変わらない部分はその都度述べます。
ステップ1:一つのタブに一つのレコード種別だけを置く
CRMはレコード種別ごとに別々のテーブルへ保存します。顧客は一つ、予約や案件は別のテーブルにという具合です。「Maria Lopez、555-0132、3月14日ブレーキ整備、6月2日オイル交換」と書かれた一行は、顧客が一人、案件が二件です。
実際にどのレコード種別があるかを決め、それぞれに専用のタブを与えてください。子タブには連結用の列(顧客のメールアドレス、または自分で割り振る顧客番号)を置き、各案件が誰のものかを分かるようにします。
これらの作業はすべてファイルのコピーの上で行い、元ファイルには触れないでください。ステップ14は元ファイルが手つかずのままであることを前提にしています。
ステップ2:項目名を明記した見出し行
すべてのタブの1行目には、短い見出しを一列につき一つだけ置き、それ以外は何も置きません。題名の行、結合されたバナーのセル、ロゴ、そして題名の下に人がよく残す空白行は削除してください。見出しの名前は、後で列を対応させる際の基準になるので、その列に何が入っているかが分かる名前にしてください。「連絡先」より「メールアドレス」、「日付」より「最終来店日」のようにします。
一分でできる二つの確認事項があります。似た見出しが二つないこと、そして値の入った列の上に空白の見出しがないことです。空白の見出しの下にある列は、ほとんどのインポートツールにとって見えないものになります。
ステップ3:一つの行に一つのレコード
顧客タブでは一行がちょうど一人の顧客、予約タブでは一行がちょうど一件の予約になるようにします。よくある違反は次のとおりです。
- 一つの行に二人:「Tom・Sue Baker」。分割するか、世帯そのものをレコードにします。
- 一つのセルに履歴:「1月3日カラー、2月14日カット、3月20日カラー」。これらは三件の予約であり、予約タブに三行として持たせるべきです。
- タブの下にある小計。CRMが自分で計算してくれるので削除します。
- データの中にある区切り見出し(「常連」「飛び込み」)。これらは「区分」という列に変え、間の空白行を削除します。
ステップ4:移行先が必要とする場合、氏名と住所の列を分割する
多くのCRMは姓と名を別々に保存し、住所を番地、市区町村、都道府県、郵便番号のように分けて保存するものも多くあります。シートに「氏名」という一列しかないなら、ツールが姓の始まる場所を推測してくれると期待せず、インポート前に分割してください。
Googleスプレッドシートでは、列を選択し「データ」から「テキストを列に分割」、区切り文字を「スペース」にします。Excelでは「データ」タブの「区切り位置」で「区切り記号付き」、「スペース」を選びます。その後、「Mary・Ann・Fischer」や「van・der・Berg」のようにパターンから外れる氏名がないか確認し、見つけたものは手作業で修正します。
住所の分割は、移行先に別々の項目がある場合だけ行ってください。先に確認してください(ステップ11)。
ステップ5:一つの日付書式にし、ISO形式にする
「03/04/2025」はアメリカでは3月4日を意味し、ほぼそれ以外の地域では4月3日を意味します。「3/4/25」「March 4」「4-Mar」「2025-03-04」が混在する列は、四通りに読み取られてしまいます。
安全な書式はISO 8601、つまり年-月-日の形、たとえば2025-03-04です。スプレッドシートでは列を選び「表示形式」から「数値」、「カスタムの日付と時刻」を使います。Excelでは「セルの書式設定」の「ユーザー定義」でyyyy-mm-ddを指定します。
続いて、そのセルが本当に日付なのか、日付のように見える文字列なのかを確認してください。本物の日付は既定で右寄せになり、文字列は左寄せになります。スプレッドシートの=ISDATE(A2)、Excelの=ISNUMBER(A2)を下までドラッグすると、文字列になっているものが見つかります。
ステップ6:電話番号とメールアドレスの書式
Excelは、数値だと判断したものから先頭のゼロを落とし、国番号のプラス記号も失われます。電話番号の列には、何かを貼り付ける前に「テキスト」の書式を設定してください(Excelでは「セルの書式設定」の「文字列」、スプレッドシートでは「表示形式」から「数値」、「書式なしテキスト」)。その上で、(555) 013-2200という国内表記か、+1 555 013 2200という国際表記か、どちらか一つの形に統一してください。
メールアドレスは小文字で統一し、一つのセルに一つだけ、末尾の空白もない状態にします。スプレッドシートの「データ」から「データクリーンアップ」、「空白文字を削除」で空白を修正でき、Excelでは=TRIM(LOWER(B2))という補助列で同じことができます。
| 項目 | 問題なく読み取れる例 | 拒否または誤読されやすい例 |
|---|---|---|
| 日付 | 例:2025-03-04 |
例:3/4/25、March 4th、next Tues |
| 電話番号 | テキストセルの+1 555 013 2200 |
数値として保存された5550132200、一つのセルに二つの番号 |
| メールアドレス | 例:maria@example.com |
末尾に空白のあるMaria@Example.com、一つのセルに二つのアドレス |
| 金額 | 例:45.00 |
例:$45、45 USD、アメリカのロケールでの45,00 |
| はい/いいえ | 一つのスタイルに揃ったyes / no |
例:Y、yes、x、✓が一つの列に混在 |
ステップ7:数式を外して値だけにする
CSVは数式を保持できませんし、XLSXのインポーターも多くの場合、キャッシュされた計算結果を読み込むだけなので、それが古い値や#REF!のようなエラーのこともあります。数式の入った列はすべて値に変換してください。タブを選択してコピーし、スプレッドシートなら「編集」から「特殊貼り付け」、「値のみ貼り付け」(Ctrl+Shift+V)、Excelなら「ホーム」タブの「貼り付け」から「値」を選びます。
その前に、その数式が何のためにあったのかを確認してください。「最終来店からの日数」という列は「最終来店日」から導かれる値であり、そもそもインポートすべきではありません。CRM側がその場で計算してくれます。
ステップ8:結合セルとメモ列
結合セルは、「Baker家」という見出しが4行にまたがる仕組みです。インポーターから見ると、結合された範囲は左上のセルにある一つの値と、その下の空白セルにすぎないため、2行目から4行目は家族名を失ってしまいます。すべて結合を解除し(スプレッドシートでは「表示形式」から「セルを結合」、「結合を解除」、Excelでは「ホーム」タブの「セルを結合して中央揃え」)、その値を各行に埋めていってください。
メモ列は判断が分かれるところです。「アンモニアにアレルギー、木曜日希望、20ドルの未払い、電話番号が変わった」といった自由記述のセルには、四つの異なる事実が詰め込まれています。そのメモ列を一つの自由記述フィールドとしてインポートし、文章のままであることを受け入れるか、実際に絞り込みで使う事実(「アレルギー」「希望曜日」)だけを独立した列に移し、残りは文章のまま残すか、どちらかを選んでください。
ステップ9:インポート前に重複を見つける
CRMの中の重複は、一人の人物に二つの履歴が生まれることを意味し、後で誰かが間違ったほうにメッセージを送ることになります。
もっとも速い確認方法は、COUNTIFの列です。メール列の隣に=COUNTIF(B:B, B2)と入力して下までドラッグし、1より大きい値をすべて重複のあるメールとみなします。電話番号でも同じことを行います。Googleはsupport.google.comで、Microsoftはsupport.microsoft.comでCOUNTIFの使い方を説明しています。メール列を軸にしたピボットテーブルで件数を出しても、同じ結果が得られます。
どちらのツールにも、ワンクリックの重複削除機能があります(スプレッドシートでは「データ」から「データクリーンアップ」、「重複を削除」、Excelでは「データ」タブの「重複の削除」)。これは最初に一致した行を残し、残りを削除するので、同じ人物の2行がメモの内容だけ異なる場合、2行目のメモは失われます。そうしたものは手作業で統合してください。「M. Lopez」と「Maria Lopez」のような表記ゆれは氏名では一致しないため、電話番号かメールアドレスで一致させます。これがステップ5とステップ6を先に行う理由です。
ステップ10:CSVでエクスポートするか、XLSXのまま残す
移行先が何を受け付けるかを確認してください。私たちがこれまで見てきたツール全体をまとめると、ほとんどのCRMは連絡先のCSVを受け付けますが、予約、案件、車両、ペットのような関連レコードまで受け付けるものはずっと少なくなります。
| インポートしたいもの | ほとんどのCRM(2026年9月時点) | Ifa |
|---|---|---|
| 連絡先や顧客、CSV一つ | 対応 | 対応 |
| 顧客に紐づく予約や案件の二つ目のタブ | 対応することもあるが、連絡先だけのことが多い | 対応、関連レコードとして |
| 複数タブをまとめたXLSX一つ | まれ、タブごとにエクスポートが必要 | 対応(XLSX、XLS、無効化されたXLSM) |
| 他のツールから出力されたJSONやJSONL | まれ | 対応 |
| セルのコメント、書式、数式 | 非対応 | 非対応 |
CSVを選ぶ場合、Googleスプレッドシートでは「ファイル」から「ダウンロード」、「カンマ区切り形式(.csv)」で今見ているタブだけがエクスポートされるので、タブごとに繰り返してください。Excelでは「ファイル」から「名前を付けて保存」で「CSV UTF-8(コンマ区切り)」を選び、これもシートごとに一回行います。アクセント付きの氏名も壊れないよう、UTF-8を選んでください。
ステップ11:列を対応させる
どのインポーターにも、左に自分の見出し、右に移行先の項目という対応付けの画面があります。ここでステップ2の効果が生きてきます。四つのことに注意してください。
- 対応する項目のない列。先に項目を作るか、その列を除外してください。無理にメモへ押し込まないでください。
- いくつかの行で空欄になっている必須項目(通常は氏名)。そうした行は、ツールによって拒否されるか、スキップされます。
- 型の不一致。テキストの列が日付項目に対応していたり、「yes/no」が数値項目に対応していたりする場合です。
- 子タブの連結用列。「顧客のメールアドレス」は、単なるテキスト項目ではなく、顧客レコードそのものに対応させる必要があります。
Ifaでは、見出しから作られた対応案がすでに提示され、あなたはそれをゼロから組み立てるのではなく、修正していく形になります。それは便利ですが、魔法ではありません。「連絡先」という見出しがあれば、それが電話番号なのかメールアドレスなのかを、あなた自身が指定する必要があります。インポートのページでは、この流れと、Ifaが読み込めるファイル形式(CSV、TSV、JSON、JSONL、XLSX、XLS、マクロを無効化したXLSM)を示しています。
ステップ12:まず20行でテストする
最初からファイル全体をインポートしないでください。見出しと20行を別ファイルにコピーし、あえてややこしい行をいくつか含めます。二つの姓を持つ人、電話番号を二つ持つ顧客、うるう日の予約、メールアドレスが空欄の行などです。そのファイルをインポートします。
続いて、新しいシステムでそのレコードを開き、人間の目で読んでください。姓は姓の項目に入っているか。電話番号のプラス記号は保たれているか。予約は正しい顧客に紐づいているか。
何も反映される前に、解析された行のプレビューが表示され、チェックが実行されます。ファイル内および既存のワークスペース内のレコードとの間で起こり得る重複、読み取れないか曖昧に読める日付、必須項目の空欄、そして解析できなかった行です。フラグの立った行を確認し、書き込みを承認するか、ファイルを修正してやり直します。ただし、こうしたチェックはあくまで設計どおりに見つけるべきものを見つけるだけです。二つのレコードを自動で統合してはくれません。フラグを立てて、あなたの判断を待つだけです。
ステップ13:それから全件をインポートする
20行のテストが正しく読み取れたら、同じ対応付けのまま全件をインポートします。落ち着いた時間帯に行い、インポートが終わるまで新しいシステム側でレコードを編集しないでください。編集とインポートが競合すると、変更が「消えた」という典型的な原因になります。
依存関係の順序でインポートしてください。顧客が先、その顧客に属するレコードが後です。ファイルごとに件数を比較してください。顧客タブが整理後に843行あり、システム上では831件しか表示されないなら、残りの12件を見つけてから先へ進んでください。多くの場合、必須項目を満たさなかったか、重複としてフラグが立てられスキップされた行です。Ifaでは、プレビューとあなたの承認が変更履歴として残るため、後から何にフラグが立ち、どう判断したかを確認できます。
ステップ14:元のファイルを保管する
スプレッドシートを削除しないでください。日付を入れて名前を変え(「clients-original-2026-09-01.xlsx」)、読み取り専用にしてください。三か月後、誰かが「なぜこの顧客の誕生日が間違っているのか」と尋ねてきたとき、答えは元のファイルの中にあります。
やめるべきなのは、それを編集し続けることです。チームの誰かが習慣で古いシートに行を追加し続けているなら、新しいシステムのリンクを共有し、シートをロックしてください。
うまくいかないことと、その防ぎ方
もっともよく起こる失敗と、それを防ぐステップです。
- **日付が一か月または一日ずれる。**混在した書式が一つのロケールで読まれてしまうためです。ステップ5:ISO形式にし、ISDATEで確認します。
- **電話番号の先頭のゼロやプラス記号が消える。**その列が数値として扱われていたためです。ステップ6:貼り付ける前にテキスト形式にします。
- **4行に1行くらい、家族名が抜けている。**結合セルが原因です。ステップ8:結合を解除して値を埋めます。
- **同じ人物が二回、それぞれ違うメモを持って登録される。**重複を氏名だけで判定したためです。ステップ9:メールか電話番号で一致させ、手作業で統合します。
- **インポートは「成功」したのに12行が見当たらない。**必須項目が空欄で、ツールが黙ってスキップしていたためです。ステップ11とステップ13:対応付けの段階で必須項目を確認し、その後で件数を比較します。
もう一つ、より一般的な指摘です。スプレッドシートはあくまでスナップショットです。どんなインポートも、Ifaのものも含めて、その後シートと同期し続けることはありません。スプレッドシートやExcelとのリアルタイムの双方向同期はなく、整理を代行してくれる有料の移行サービスもありません。移行先のシステムをまだ決めかねているなら、顧客管理ソフトのガイドがインポート面を扱っていますし、スプレッドシートからワークスペースへのページでは、シートのタブと列がIfaでどうレコードとフィールドになるかを示しています。
よくある質問
Excelを直接インポートできますか、それともCSVに変換する必要がありますか?
ツールによります。多くのCRMはCSVしか受け付けないため、タブごとに一つずつCSVをエクスポートすることになります。XLSXを受け付けても最初のシートしか読まないものもあります。IfaはXLSXとXLS、そしてマクロを無効化したXLSMを読み込み、すべてのタブをプレビューに表示します。ファイル形式を変えても、汚れたファイルそのものは直りません。まずステップ1からステップ9までを行ってください。
重複を作らずにCRMへ連絡先をインポートするにはどうすればよいですか?
まずシートの中でメールと電話番号のCOUNTIF(ステップ9)を使って重複を見つけ、メモが異なるものは手作業で統合します。その上で、インポーター自身の重複チェックは最初の網ではなく、二重の網として扱ってください。Ifaはプレビュー画面で重複の可能性にフラグを立て、あなたの判断を待ってから書き込みます。
予約と顧客が同じタブに混在している場合はどうすればよいですか?
分割してください(ステップ1)。各予約は、どの顧客のものかを示す列を持った、予約タブの独立した一行になります。その上で、移行先が予約レコードそのものを受け付けるかどうかを確認してください。多くのCRMは連絡先だけをインポートしてそこで終わるので、そのツールを使うなら履歴はアーカイブされたスプレッドシートに残ることになります。Ifaは関連レコードを取り込み、対応付けの過程で親レコードにリンクさせます。
スプレッドシートからCRMへのインポートにはどれくらい時間がかかりますか?
アップロード自体は数分です。本当にかかるのは整理の時間です。数年にわたって緩やかに管理されてきた数百件規模の顧客シートなら、ステップ1からステップ9に半日、テストと本番インポートに落ち着いた1時間を見込んでください。
メモ列はインポートすべきですか?
はい、中の何かで絞り込みをするのでない限り、一つの自由記述項目としてインポートしてください。実際に検索で使う事実(アレルギーや車両のナンバープレートなど)だけを取り出し、残りは文章のままにしておきます。
最終更新日:2026年9月2日。