タグ: CSVインポート

  • CSVインポートで業務データを壊さないために決めること|列ずれ・重複・上書きを防ぐ小型ツール設計

    CSVインポートで業務データを壊さないために決めること|列ずれ・重複・上書きを防ぐ小型ツール設計

    ExcelやGoogleスプレッドシートで管理していたデータを、小型のWebツールや管理画面へ取り込みたい。

    問い合わせ一覧、見積依頼、商品マスタ、会員リスト、在庫表、作業報告などでは、CSVインポート機能があると便利です。手入力より早く、既存データも活かせます。

    ただし、CSVを「読み込める」ことと、業務データとして「安全に登録できる」ことは別です。

    列の順番が変わって別の項目に入る。日付や金額の形式が崩れる。同じ顧客を二重登録する。更新するつもりが新規追加になる。逆に、残すべきデータを上書きしてしまう。

    CSVインポートは、うまく動くと一瞬で便利になりますが、失敗すると一瞬で大量のデータを壊します。

    この記事では、小規模事業者や少人数チーム向けに、CSV取り込み機能を小型ツールへ入れる前に決めたい設計を整理します。ポイントは、インポートボタンを作ることではなく、登録前に気づける状態を作ることです。

    ExcelやCSV作業を自動化する前の全体整理は、Excel・CSV作業を自動化する前に整理することでも紹介しています。今回の記事では、その中でもCSVインポート時の事故防止に絞って見ていきます。

    CSVインポートで起きやすい失敗

    CSV取り込みでよくある失敗は、プログラムが止まることだけではありません。むしろ危ないのは、間違ったまま登録できてしまうことです。

    1. 列ずれ

    CSVの列順が変わると、名前の列に電話番号が入る、金額の列にメモが入る、といった事故が起きます。

    特に、取引先や外部サービスから出力したCSVは、いつの間にか列が追加されたり、見出し名が変わったりします。列番号だけで取り込む設計にすると、変更に弱くなります。

    最初は、列名を見てどの項目へ入れるかを確認する方が安全です。

    2. 日付・金額・電話番号の形式崩れ

    CSVでは、日付や数字が見た目どおりに扱われるとは限りません。

    たとえば、2026/06/162026-06-16令和8年6月16日 が混ざることがあります。電話番号の先頭の0が落ちる、郵便番号のハイフンが消える、金額にカンマが入る、税込と税抜が混ざることもあります。

    インポート前に、形式をそろえる項目と、人が確認する項目を分ける必要があります。

    3. 重複登録

    既存データがある状態でCSVを取り込むと、同じ人、同じ案件、同じ商品が重複することがあります。

    メールアドレス、管理番号、請求書番号、商品コードなど、重複判定に使う項目を先に決めておかないと、見た目が少し違うだけで別データとして登録されます。

    「株式会社〇〇」と「(株)〇〇」のような表記ゆれをどう扱うかも、最初から完全自動化しない方が安全です。

    4. 上書き事故

    CSVインポートには、新規追加だけでなく、既存データの更新に使う場合があります。

    ここで危ないのが、空欄の扱いです。

    CSV上の空欄を「変更しない」と見るのか、「空に上書きする」と見るのかで結果が変わります。担当者メモや確認済みステータスまで空欄で上書きすると、過去の対応履歴が消えてしまいます。

    更新インポートでは、どの項目を上書きしてよいか、どの項目は守るかを分けます。

    5. 途中失敗

    1000件のCSVを取り込んで、700件目でエラーになった場合、どうするかも重要です。

    最初の699件だけ登録されているのか、全部取り消されたのか、エラー行だけ止まったのかが分からないと、再実行で重複や欠落が起きます。

    インポートは、成功件数、失敗件数、スキップ件数、エラー理由を残せるようにします。

    最初に決めたい取り込みルール

    CSVインポート機能を作る前に、次のルールを決めておくと事故を減らせます。

    • 何のデータを取り込むか
    • 新規追加だけか、既存更新も行うか
    • 重複判定に使う項目は何か
    • 必須項目は何か
    • 空欄をどう扱うか
    • 日付、金額、電話番号、郵便番号をどう変換するか
    • 登録前にプレビューを出すか
    • エラー行だけ修正して再取り込みできるか
    • 取り込み履歴を誰が見られるか
    • 間違えた時に戻せるか

    特に重要なのは、「追加」「更新」「スキップ」を分けることです。

    CSVの各行について、これは新しいデータなのか、既存データを更新するのか、危ないので登録しないのかを、取り込み前に見えるようにします。

    スプレッドシート運用から管理画面へ移るタイミングに迷っている場合は、スプレッドシート管理の限界サインもあわせて確認すると、どこまでを小型ツール化するか判断しやすくなります。

    プレビュー画面で確認したい項目

    CSVインポートでは、確認なしで登録ボタンを押せる設計にしない方が安全です。

    小型ツールでも、登録前のプレビュー画面があるだけで事故はかなり減ります。

    プレビューでは、次のような情報を表示します。

    確認項目 見る理由
    取り込み件数 想定より多い・少ないCSVに気づく
    新規追加件数 新しく作られるデータ量を見る
    更新件数 既存データへの影響を見る
    スキップ件数 重複や不正行を確認する
    エラー件数 登録できない理由を修正する
    上書きされる項目 消してはいけない項目に気づく
    代表的な変換例 日付や金額の変換ミスを見る

    たとえば、10件だけ取り込むつもりなのに1000件と表示されたら、CSVファイルを間違えている可能性があります。

    既存データを更新するつもりが、すべて新規追加になっているなら、重複判定の項目が合っていない可能性があります。

    登録前にこの違和感を見つけられるかが、CSVインポート設計の肝です。

    取り消しと履歴を用意する

    CSVインポートは、登録後の確認も必要です。

    最低限、次の履歴を残します。

    • 取り込んだ日時
    • 操作した人
    • ファイル名
    • 追加件数
    • 更新件数
    • スキップ件数
    • エラー件数
    • 取り込み結果の一覧

    可能であれば、インポート単位で取り消せるようにします。

    完全な取り消しが難しい場合でも、どの行が追加され、どの行が更新されたかをCSVで出せるようにしておくと、復旧しやすくなります。

    業務データでは、間違えないことだけでなく、間違えた時に戻せることが重要です。

    小型ツールなら最小構成で始める

    最初から高機能なデータ移行システムを作る必要はありません。

    小さく始めるなら、次の構成で十分です。

    • CSVアップロード
    • 列名の対応確認
    • 必須項目チェック
    • 日付・数値形式チェック
    • 重複候補の表示
    • 追加・更新・スキップのプレビュー
    • 登録後の履歴表示
    • エラー行のダウンロード

    これだけでも、手作業のコピー&ペーストより安全に進められます。

    慣れてきたら、テンプレートCSVのダウンロード、過去の取り込み設定の保存、管理者だけが実行できる権限、チャット通知、取り消し機能を追加します。

    YOSHIO.devで相談できること

    YOSHIO.devでは、業務自動化、小型ツール開発、Excel・スプレッドシート運用の見直しについて相談できます。

    たとえば、次のような相談に対応しやすいです。

    • 既存のCSVやExcelを小型ツールへ取り込みたい
    • 手作業のコピー&ペーストを減らしたい
    • CSVの列ずれや重複登録が怖い
    • 商品、問い合わせ、案件、会員データの簡易管理画面を作りたい
    • スプレッドシートからWebツールへ移行する前に項目を整理したい
    • インポート結果を確認できる画面や履歴を作りたい

    最初から大きなシステムにする必要はありません。現在のCSV、スプレッドシート、登録したい項目、よく起きるミスを見ながら、追加・更新・確認の範囲を小さく決められます。

    CSV取り込みを含む小型ツール開発を相談する

    まとめ

    CSVインポートは、業務データを素早く登録できる便利な機能です。

    ただし、列ずれ、形式崩れ、重複登録、上書き事故、途中失敗を考えずに作ると、大量のデータを一度に壊す危険があります。

    安全に始めるなら、列名の対応、必須項目、重複判定、空欄の扱い、追加・更新・スキップのプレビュー、取り込み履歴を先に決めます。

    CSVを読み込むボタンより先に、登録前に気づける画面と、登録後に戻れる記録を作ることが大切です。

    小型ツールでも、プレビューと履歴があるだけで、手作業より安全なデータ移行や一括登録に近づけられます。

    FAQ

    CSVインポート機能は小型ツールにも必要ですか?

    既存のExcelやスプレッドシートのデータを活かしたい場合は有効です。ただし、毎回数件だけなら手入力や簡易フォームで十分な場合もあります。件数、頻度、ミスの影響から判断します。

    CSVを読み込めるだけでは不十分ですか?

    不十分です。列ずれ、必須項目不足、日付や金額の形式、重複、上書き対象を確認できないと、間違ったデータをそのまま登録してしまいます。登録前のプレビューが重要です。

    既存データを更新するCSVインポートで注意すべきことは何ですか?

    重複判定に使うIDやコードを決めること、空欄を上書きするかどうかを決めること、更新してよい項目と守る項目を分けることです。担当者メモや確認履歴まで消さない設計にします。

    エラーがあるCSVは全部止めるべきですか?

    業務内容によります。重要データなら全件停止が安全です。軽いデータなら正常行だけ登録し、エラー行をダウンロードして修正する方法もあります。どちらの場合も結果件数とエラー理由を残します。

    CSVインポートの相談前に何を用意すればよいですか?

    実際に使っているCSV、列名、登録したい画面、既存データの有無、重複判定に使えそうな項目、過去に起きたミスを用意すると相談しやすくなります。完璧な仕様書は不要です。