最初に、エラーに近い症状を選ぶ
取込先のエラーメッセージと最新の仕様書・テンプレートを用意し、下の症状から確認箇所を選びます。原因が分からない場合は、まずCSV 文字コード・総合診断でファイルと列構造を確認してください。調査前に元CSVを別に保管します。
各項目の「成功の目安」は、その検査を終える基準です。ひとつ解決しても、別の項目でエラーが残ることがあります。
症状から確認箇所へ進む
CSVとして正しいことと、取り込めることは別
CSVの構文が正常でも、列名・型・必須項目・許容値などが取込仕様と違えば失敗します。たとえばstatusに「有効」が入っていても、許可される値が0・1・9なら適合しません。Excelで表として開けることも、仕様を満たす証明にはなりません。
Excelで保存し直すと先頭0、長い番号、日付、文字コードが変わる場合があります。操作が必要ならCSVをExcelに変換する方法も確認してください。
CSVを読み込めない・文字が崩れる
- 確認方法
- 文字コード・BOM・区切り文字を取込仕様と比較します。引用符が閉じているかも確認してください。拡張子が.csvでも、タブやセミコロン区切りの場合があります。文字コードの自動判定は候補なので、提供元の指定も確認します。
- 対応ツール・確認先
- CSV 文字コード・総合診断、 文字コード判定、 CSV 区切り文字変換
- 成功の目安
- 指定された文字コード・BOM・区切り文字で読み取れ、日本語とレコードの区切りが意図どおりになること。すでに文字が失われている場合は、変換を繰り返さず原本を入手します。
列数が一致しない・値が別の列に入る
- 確認方法
- 仕様の列数を基準に、不一致のレコードを特定します。値内のカンマや改行は引用符のルールで解析し、カンマの個数や画面上の行数だけで判断しません。末尾の空欄を削除したり、値を勝手に分割したりせず、原本と比較します。
- 対応ツール・確認先
- CSV 列数チェック
- 成功の目安
- 必要な列と値を保持したまま、仕様に対する列数不一致が0件になること。引用符や末尾の空欄の修正例はツールページで確認できます。
ヘッダーが不正・必要な列が見つからない
- 確認方法
- 最新テンプレートと列名・列順・必要列を比較します。大文字と小文字、前後の空白、重複、空の列名も確認します。ヘッダー検査だけでは、取込先の正式な列名や列順との一致までは判断できません。
- 対応ツール・確認先
- CSV ヘッダー確認、 CSV 列名変更・マッピング、 CSV 列順変更
- 成功の目安
- 取込先が要求する列名・列順・必要列が揃い、仕様上許されない重複や空欄がないこと。BOMの扱いも取込先の指定に合わせます。
必須項目が空欄と判定される
- 確認方法
- 必須列を指定して空欄を検査し、列ずれも確認します。CSVにはSQLのNULL型がなく、空欄・NULL・null・N/A・-は別の文字列です。欠損値表記を揃えるだけでは、必須値を補ったことにはなりません。
- 対応ツール・確認先
- CSV 列制約チェック、 CSV 欠損値・NULL表記統一
- 成功の目安
- すべての必須列に、取込先が有効と認める値があること。不明な値を仮の文字や0で埋めず、原本や提供元に確認します。
数値形式エラー・列の型が混在する
- 確認方法
- 数値列にERROR、単位、全角数字、桁区切りなどが混ざっていないか確認します。列型の推定結果は仕様書と比較してください。001001のようなIDは、数字だけでも文字列として扱う場合があります。
- 対応ツール・確認先
- CSV 列型判定、 CSV 列制約チェック
- 成功の目安
- 対象列の全値が指定型・数値表記に適合し、IDの先頭0など保持すべき表現が残ること。異常値は原本から確認し、機械的に0へ置き換えません。
日付形式エラーが出る
- 確認方法
- 要求書式を確認し、2026-09-01、2026/09/02、20260903などの混在を調べます。2026-02-30のような存在しない日付や、月日を取り違える曖昧な表記にも注意してください。
- 対応ツール・確認先
- CSV 日付形式チェック・統一
- 成功の目安
- 全値が指定書式で、実在する日付として解釈できること。日時の場合は、時刻やタイムゾーンの条件も仕様と照合します。
文字数・桁数・範囲のエラーが出る
- 確認方法
- 仕様の固定長・最大長・数値桁数・範囲を設定して検査します。たとえばIDは6文字、名前は40文字以内、金額は整数8桁・小数2桁などです。文字数とバイト数は異なるので、制限の単位と文字コードも確認します。
- 対応ツール・確認先
- CSV 列制約チェック
- 成功の目安
- 設定した仕様に対する違反が0件になること。長い名前や番号を切り捨てる前に、値と仕様のどちらを直すべきか確認します。
許可されていない値と表示される
- 確認方法
- 正式なコード定義と実データを比較します。statusが0・1・9を要求するなら、有効・無効・保留はそのままでは一致しません。意味から対応を推測せず、定義された対応表を使います。
- 対応ツール・確認先
- CSV 列制約チェック、 CSV 値マッピング・置換
- 成功の目安
- 許容値外の値が0件になり、変換後のコードが元の意味と一致すること。対応が不明な値は変換対象として確定しません。
ID・キーの重複エラーが出る
- 確認方法
- 一意条件が単一IDか、company_id + customer_idのような複合キーかを確認し、その条件で重複候補を調べます。CSV内で一意でも、取込先の既存データと衝突する場合があります。
- 対応ツール・確認先
- CSV 重複チェック・削除
- 成功の目安
- 追加・更新モードに応じた一意条件を満たすこと。削除・統合する記録は業務上の根拠で決め、既存データとの衝突も取込先で確認します。
検査を通過しても取り込めない
- 確認方法
- 最新テンプレート、エラーログ、最大容量・件数、ファイル名、ヘッダーの有無、追加・更新モード、参照マスター、権限を確認します。Excelで開ける場合も、この確認は必要です。
- 対応ツール・確認先
- 取込先の仕様書・最新テンプレート・エラーログ。必要に応じて管理者に確認します。
- 成功の目安
- 取込先の条件を満たし、テスト取込で意図した内容が保存されること。CSVの検査だけで権限や参照先マスターの状態は判定できません。
1つのCSVに複数の原因がある例
次のCSVを、顧客データとして取り込む場面を考えます。
customer_id,name,amount,status,created_at
001001,山田太郎,1200.50,有効,2026-09-01
001002,佐藤花子,980,無効,2026/09/02
001003,鈴木一郎,ERROR,保留,20260903
001002,佐藤花子,980,無効,2026/09/02| 列 | 取り込み先の仕様 |
|---|---|
| customer_id | 必須・6文字・重複不可 |
| name | 40文字以内 |
| amount | 数値 |
| status | 0 / 1 / 9 |
| created_at | yyyy-MM-dd |
行番号はヘッダーを除くデータ行の番号です。statusは全4行で許容値外です。2・4行目の日付はスラッシュ区切り、3行目は区切りなしで、指定書式と異なります。
| 問題 | 確認・修正 | 成功の目安 |
|---|---|---|
| 3行目のamountがERROR | 列型判定で確認し、原本から正しい金額を調べる | 全件が数値。ERRORを根拠なく0にしない |
| 2~4行目の日付書式 | 日付形式チェック・統一で指定書式へ変換する | 全件が実在する日付でyyyy-MM-dd |
| 全行のstatus | 正式な対応が「無効→0、有効→1、保留→9」なら、その対応で値マッピングする | 全件が0・1・9で、元の意味を保持 |
| 001002が2・4行目で重複 | 重複チェックで確認し、原本と照合して残す記録を決める | customer_idが一意で、必要な記録を保持 |
この例では列数とヘッダーが揃っていても、値の検査で複数の問題が見つかります。修正後は同じ条件で再検査し、次のテスト取込へ進みます。型と値の範囲の読み取り方はCSVの各列のデータ型と値の範囲を調べる方法で確認できます。
修正後、取り込み成功を確認する
- 修正したCSVを再検査する。同じ仕様で検査し、違反が0件であることと、列・値・先頭0が保持されていることを確認します。
- 対応していれば5~10件でテストする。テスト環境や少量取込を利用し、追加・更新モードと既存データへの影響を確認します。
- 保存された内容を照合する。成功メッセージだけでなく、成功・失敗件数、日本語、ID、金額、日付、statusを確認します。部分成功の場合は成功済みの記録を把握してから再実行します。
- 全件取込の結果を確認する。予定した件数と取込ログを照合し、失敗や意図しない更新がないことを確認します。
ツールの検査通過は、設定したルールを満たしたという結果です。最終的な成功は、取込先に必要な記録が意図した内容で保存されたことまで確認して判断します。
インポート前の整形計画を立てたい場合は、CSVインポート前のデータチェック・前処理方法を参照してください。