4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CSVをExcelで開いちまった事件簿 〜「001」が「1」になったあの日を供養する

Last updated at Posted at 2025-12-08

はじめに

リンクラフトでエンジニアとして働いているカワチです。リンクラフトアドベントカレンダーの9日目を担当します。
 
 

「CSVファイルをダブルクリックで開く」

もしドキッとした方がいれば、この記事は刺さるかもしれません。そして、これは何年か前に保険会社のデータ運用で私がやらかし、背筋が凍る思いをした実録の失敗談です。

年末のこの時期、過去の失敗を供養する意味を込めて、なぜ「CSVをExcelで直開きしてはいけないのか」、そして「どうすればよかったのか」を自戒と共に記します。

事件の概要:消えた「0」 犯人は・・・

昔、私は保険会社のデータを管理するシステムの保守・運用を担当していました。ある日、顧客から受領したCSVデータを少し加工し、社内システムに取り込む作業が発生しました。

私は何の疑いもなく、そのCSVファイルをExcelで開き、データを修正し、いつものようにCtrl + S上書き保存しました。

悲劇の発覚

後日、ユーザーからデータがおかしい、業務に支障がでているとアラートがあがりました。
調査の結果、犯人は私が作成したCSVデータでした。

Excelで開いて保存しただけで、データは以下のように無惨な姿に変貌していました。

項目 元のCSVデータ Excel保存後のデータ 何が起きたか
顧客ID "001" 1 先頭のゼロ落ち(数値化)
会員番号 "999999999999999" 1.00E+14 指数表記による精度劣化
住所 "1-2" 2023/1/2 日付への勝手な変換

特に顧客IDの「001」が「1」になっていた件は致命的でした。
当時は「まぁしょうがないよね」と現場の方々に許していただきましたが、評価はしっかりと下がり、私の心には深いトラウマが刻まれました。

なぜ起きたのか:Excelの「親切心」という名の仕様

この現象の主犯は、Excelの 「自動データ変換」 機能です。
ExcelはCSV(ただのテキストファイル)を開く際、ユーザーが読みやすいように気を利かせて型推論を行います。

  • 「これは数字だけで構成されているな? じゃあ数値型にしておこう(0011)」
  • 「これはハイフンが入っているな? 日付だろう(1-21月2日)」

この「親切」は、画面上で見る分には便利ですが、CSVとして保存し直すと、その「変換された見た目」でテキストデータが上書きされてしまいます。つまり、元の情報は永遠に失われます。

対策と教訓:二度と悲劇を繰り返さないために

この失敗から得た教訓は3つです。新人エンジニアの方は特に覚えて帰ってください。

対策1:CSV編集には「テキストエディタ」を使う(基本)

CSVはただのテキストファイルです。VS Code、サクラエディタ、Notepad++などで開きましょう。これなら勝手にデータが書き換わることはありません。
「Excelは閲覧ツールではなく表計算ツールである」 という認識が重要です。

対策2:Excelを使うなら「Power Query」でインポートする

どうしてもExcelで見たい・加工したい場合は、ダブルクリックではなく、以下の手順を踏むのが鉄則です。

  1. 空のExcelブックを開く
  2. データ タブ > テキストまたはCSVから を選択
  3. インポート時に「データの型検出」を行わない(または全ての列を「テキスト」として読み込む)

対策3:【最新】Excelの「自動データ変換」を無効化する

実は最近のアップデート(Microsoft 365 / Excel 2024など)で、ついにこのお節介機能をOFFにする設定が追加されました。

情報の鮮度が命ですが、2025年現在、以下の設定で「0落ち」を防げます。

  1. ファイル > オプション を開く
  2. データ カテゴリを選択
  3. 「自動データ変換」 セクションを探す
  4. 以下のチェックを外す
    • 先頭のゼロを削除して数値に変換する
    • 長すぎる数値を短縮して科学的記法に変換する
    • 文字と数字が混在する連続する文字を日付に変換する

参考文献
窓の杜:先頭のゼロを勝手に消すな ~「Excel」のお節介な自動データ変換を抑制する機能が一般提供開始 https://forest.watch.impress.co.jp/docs/news/1538341.html

これを設定しておけば、CSVをダブルクリックで開いても「001」は「001」のまま維持されます。人類の勝利です。

おわりに

当時の私は、ツールの特性を理解せず、手軽さに甘えて重要なデータを破損させてしまいました。
もし、あなたの周りにCSVをExcelで直接編集しようとしている同僚がいたら、優しく止めてあげてください。

この失敗談が、誰かの評価(とデータ)を守ることに繋がれば幸いです。
それでは、かつて消滅した全ての「0」たちへ。

合掌、チーン。


一緒に働く仲間を募集中です!

リンクラフト株式会社では、組織拡大に伴い積極的な採用活動を行っています。
少しでも興味がある方はぜひご連絡ください。

▽会社ホームページ
https://lincraft.co.jp/
▽Instagram
https://www.instagram.com/lincraft.inc/
▽ご応募はこちらより
https://lincraft.co.jp/recruit

※カジュアル面談も受付中です。ご希望の方はHPのお問い合わせフォームよりご連絡ください。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?