Excelで管理していた取引先リストや請求データをkintoneへ移そうとして、CSVを読み込んだ瞬間に赤いエラー画面が出た——という経験がある方は少なくないはずです。文字化けを直して再アップロードしたら今度は「更新キーが重複しています」と言われ、それを直したら別の行でまたエラー。原因を1つずつ潰すたびに新しいエラーが顔を出す「もぐらたたき」状態は、経理・総務の定型業務の時間を奪います。
この記事では、kintoneのCSV読み込みで起きるエラーを①文字コード②更新キー③フィールド型の3つの原因に整理し、読み込む前に潰しておくべきチェックポイントを手順化します。
kintoneのCSV読み込みで起きる典型エラーと原因の切り分け

kintoneのCSV・Excel読み込みで表示される主なエラーコードは、次の通りです。
| エラーコード | 意味 | 主な原因 |
|---|---|---|
| GAIA_IL16 | 必須項目未入力・値の重複禁止違反・選択肢不一致など | フィールド単位の入力値異常 |
| GAIA_IL17 | 記載形式が不正 | 数値フィールドに文字列、不正な日付形式など |
| GAIA_IL19 | ルックアップの参照先レコードなし | 参照先データの不足・表記ゆれ |
| GAIA_LM01 | ルックアップの参照先レコードが複数存在 | 参照先データの重複 |
| GAIA_IL48 | カテゴリー選択肢に存在しない値 | 選択肢とファイル値の不一致 |
| GAIA_II02〜II13 | テーブル関連(作成者・更新者の形式不正など) | テーブル行の記載不備 |
| GAIA_RE10 | ファイル内で更新キー値が重複 | 更新キーの設計・データ側の重複 |
| GAIA_SE02 | 読み込み中止 | 手動キャンセル |
エラーメッセージを見ずに「またダメだった」で再アップロードを繰り返すと、同じ原因のエラーに何度もぶつかります。実務でCSVインポートのトラブル対応をしていると、GAIA_IL16とGAIA_RE10を混同してしまうケースがよく見られます。IL16は「必須未入力」や「選択肢の不一致」など行ごとの値の異常、RE10は「ファイル内で更新キーの値そのものが重複している」という、原因のレイヤーが違うエラーです。エラー詳細に表示される行番号とエラーコードを、まず表の3系統(値の異常・記載形式・参照先/重複)のどれに当たるか仕分けてから対処すると、修正の手戻りが減ります。
文字コードが原因のトラブル: UTF-8とShift-JISの見分け方
文字コードには、多言語・特殊文字に対応する汎用形式のUTF-8、Excel等で開く際の文字化けを防ぐBOM付きUTF-8、日本語のみの環境向けのShift-JISがあります。読み込み画面ではファイルの文字コードを選ぶ欄があるため、実際のファイルがどちらか分からない場合は、プレビュー表示で文字化けしていない方を選ぶのが確実です。

特に注意したいのが、Excel日本語版で作成したファイルです。既定ではShift-JISで保存されるため、機種依存文字(丸囲み数字や特殊記号など)が含まれていると文字化けする可能性があります。この場合は、Excel側の設定を探すよりも、OpenOffice CalcなどでいったんファイルをUTF-8として保存し直す方が早く解決します。

一括更新の落とし穴: 更新キーの重複・空値は何を引き起こすか
更新キーとは、アプリの既存レコードと読み込むファイルの行を紐づけるためのフィールドです。レコード番号のほか、取引先コードや受注番号など、アプリ内で値が重複しないフィールドを指定します。レコード番号以外を更新キーに使う場合は、そのフィールドの設定で「値の重複を禁止する」を有効にしておく必要があります。この設定がない、あるいはファイル側に同じ値の行が複数あると、GAIA_RE10(更新キー重複)で読み込みが止まります。
また、更新キーの値は完全一致でなければ「別レコード」として扱われる点にも注意が必要です。同じ取引先を指していても、更新キー列に全角と半角のスペースが混在していたり、「株式会社」と「㈱」のような表記の違いがあったりすると、既存レコードを更新するはずが新規レコードとして追加されてしまいます。取引先コードのような、表記のゆれが起きにくい専用フィールドを更新キーに選ぶのも予防策の一つです。

更新キーそのものよりも見落としやすいのが、空欄セルの扱いです。ファイルの値を記載せず空欄のまま読み込むと、読み込み先のフィールドは「空、または初期値」で上書きされます。つまり、一部の項目だけを更新するつもりで作ったファイルでも、対応付けたフィールドのセルが空欄なら、既存の値が消えてしまいます。
一部のフィールドだけを更新したい場合は、列とフィールドの対応付け画面で該当フィールドを「(指定しない)」にして、対応付け自体を外すのが安全です。対応付けを外したフィールドは読み込みの対象から外れるため、既存の値がそのまま維持されます。「空欄で対応付ける」と「対応付けを外す」は見た目が近いのに結果がまったく違うため、一括更新の設計では区別して覚えておく必要があります。
この更新キー設計と部分更新の判断は、一度データ移行で事故を経験すると重みが分かる工程です。自社のデータ構造で判断に迷う場合は、無料相談で実際の項目を見ながら確認するか、kintone相談先5選で相談先を探すのが確実です。
フィールド型と列の対応: 計算・添付など取り込めないフィールド
CSV・Excelから読み込めないフィールドがあります。ラベル、自動計算が設定された文字列(1行)、計算、添付ファイル、関連レコード一覧、ルックアップの参照フィールド、システムフィールド(作成者・作成日時・更新者・更新日時・レコード番号)です。また、コメントや変更履歴、プロセス管理のステータス・作業者もレコード情報として読み込めません。

ルックアップフィールドは、「コピー元のフィールド」に指定した値だけファイルへの記載が必須です。「ほかのフィールドのコピー」に指定されたフィールドは読み込み後に自動で再取得されるため、ファイルに書いても読み込まれません。
フィールド型ごとに、ファイルへの記載形式も異なります。
| フィールド型 | 記載形式 |
|---|---|
| チェックボックス・複数選択 | 「フィールド名[選択肢名]」で選択肢ごとに列を分け、選択時は1・非選択は空欄 |
| ドロップダウン・ラジオボタン | 選択肢名をそのまま記載 |
| 日付 | YYYY-MM-DD、YYYY/MM/DD、YYYYMMDDなど複数形式に対応 |
| 時刻 | HH:MM(24時間制)またはHH:MM AM/PM |
| ユーザー選択 | ログイン名を改行区切り(ゲストは「guest/」を接頭) |
| 組織・グループ選択 | コードを改行区切り |
| テーブル | 先頭列にレコード開始行の目印(*)を記載し複数行で表現 |
なお、画面上の更新キーの候補にどこまでの型が表示されるかは、公式ヘルプ上に明確な一覧がありません。安全に運用するなら、レコード番号か、値の重複を禁止した文字列(1行)・数値フィールドを更新キーに選ぶ前提で設計するのが確実です。
読み込み前チェックを自動化する
ここまでの原因は、いずれも「読み込んでみないと分からない」ものではなく、ファイルを作る段階で機械的にチェックできる項目です。文字コードの判定、更新キー列の重複チェック、フィールド型と列の対応チェックを事前に済ませておけば、本番アプリへのアップロードは「失敗を前提に何度もやり直す作業」ではなく「一度で通す作業」に変わります。

当社が提供する「取込アシスト」は、こうした読み込み前チェックをkintone上で行うためのプラグインです。なお、こうしたチェックをAPI経由で自動化する仕組みを自社で作り込む場合は、kintone REST APIの1日あたりのリクエスト上限(スタンダードプランで10,000件/ドメインなど)も設計時の考慮点になります。
まとめ: 手戻りゼロのインポート手順

CSV読み込みのエラーは、原因を切り分けて考えると実はパターンが限られています。
- 文字コードは、プレビューで文字化けしない方を選ぶ。Excel由来のファイルはShift-JISが既定という前提を持っておく
- 更新キーは、対象フィールドの値重複禁止設定とファイル側の値の重複、そして表記ゆれ(全角/半角・「株式会社」/「㈱」等)の3つを確認する。部分更新は「空欄で対応付け」ではなく「対応付けを外す」で行う
- フィールド型は、計算・添付ファイル・ルックアップの参照先など読み込めない型を先に列から除外しておく
この3点を読み込む前のチェックリストとして固定しておくだけで、CSVインポートは「エラーが出たら直す」作業から「最初から通す」作業に変わります。