moldspoon

🛡️ CSVの0落ち・日付化を防ぐExcel用変換

CSV を貼り付ける、またはファイルを選ぶ

カンマ区切り
タブ区切り
1行目は見出し
見出しなし

Excel で開くと値が変わる列が 4 列(10 セル)あります。

  • 社員番号: 0落ち(例: 00123123
  • 郵便番号: 0落ち(例: 0600001600001
  • 商品コード: 指数表記(例: 49012345678904.90123E+12
  • 単価: 末尾の0が消える(例: 1.501.5

保護する列(チェックした列を文字列のまま開けるようにします)

Excel で開いたときの見え方(先頭20行)

赤いセルは、何もせずに開くと Excel が値を変えてしまう箇所です。上段が元の値、下段が Excel での見え方。

社員番号
氏名
郵便番号
電話番号
住所
商品コード
単価
00123
123
山田 太郎
0600001
600001
090-1234-5678
札幌市中央区北1条西2-10-1
4901234567890
4.90123E+12
1.50
1.5
00456
456
鈴木 花子
1000001
03-1234-5678
千代田区千代田1-1
4901234567906
4.90123E+12
12.00
12
01024
1024
佐藤 一郎
5300001
06-1234-5678
大阪市北区梅田3-1-3
4901234567913
4.90123E+12
3.20
3.2

出力形式

="値" で包む(Excel でそのまま開ける)保護する列の値を ="0123" の形にします。ダブルクリックで開いても文字列のまま。他システムへの再取り込みには不向き
タブ区切りの .txt にするExcel で開くとウィザードが出て、列ごとに「文字列」を指定できます。値は変えません
値は変えず BOM 付き UTF-8 で保存文字化けだけ防ぎたいとき。0落ち・日付化は防げないので、Excel 側で「データ → テキストまたは CSV から」を使ってください

変換後の中身

✅ コピーしました!

ファイルを変えずに Excel 側で防ぐ方法

  1. Excel を開き、「データ」タブ →「テキストまたは CSV から」で CSV を選ぶ。
  2. プレビューの「データの変換」を押し、0落ちする列を右クリック →「型の変更」→「テキスト」にする。
  3. 「閉じて読み込む」で取り込む。ダブルクリックで開くのと違い、型が保たれます。
  4. Excel 365 なら「ファイル → オプション → データ → 自動データ変換」で、先頭の 0 の削除や日付変換をオフにできます。

※ CSV の内容はすべてブラウザ内で処理しており、弊社サーバーへ送信・保存することは一切ありません。

CSV を Excel でダブルクリックして開くと、郵便番号や社員番号の先頭の 0 が消え(0落ち)、「1-2」のような番地が 1月2日 になり、JAN コードが 1.23E+12 になります。 このツールは CSV を貼り付けるか選ぶだけで、そうなる列を見つけて Excel での見え方をプレビューし、値が変わらない形式に変換してダウンロードできます。 処理はすべてブラウザ内で行い、CSV はサーバーに送信しません。

こんなツールをこれからも作っていきます。もしこれは!と思っていただけましたら、シェア・応援していただけると嬉しいです!😀

X (旧Twitter)

0

Facebook

LINE

0

はてブ

リンクコピー

✅ コピーしました!

よくある質問

CSV を Excel で開くと先頭の 0 が消えるのはなぜですか?

Excel が CSV を開くときに、各セルの内容を見て数値・日付・文字列を勝手に判定するためです。「0123456」は数値の 123456 と解釈され、先頭の 0 は意味が無いものとして消えます。CSV ファイルの中身は正しく、Excel の表示の段階で変わっています。郵便番号・電話番号・社員番号・商品コードで起きやすい問題です。

0落ちを防ぐにはどうすればよいですか?

方法は 3 つあります。1 つ目は値を ="0123456" の形にした CSV を作る方法で、Excel・Google スプレッドシート・LibreOffice のどれでダブルクリックしても文字列として開けます。2 つ目はタブ区切りの .txt にして、Excel のテキストファイルウィザードで列を「文字列」に指定する方法。3 つ目は Excel の「データ → テキストまたは CSV から」で取り込み、列の型をテキストにする方法です。このツールは 1 と 2 のファイルを作れます。

「1-2」や「2-10-1」が日付になってしまいます。

ハイフンやスラッシュで区切られた数字を Excel が日付と解釈するためです。「1-2」は 1月2日、「2-10-1」は 2002/10/1 になります。番地・型番・サイズ表記でよく起きます。このツールは日付と解釈される形の値を検出し、その列を保護対象にします。ただし「13-45」のように月日として成立しない値は Excel も文字列のまま残すので、検出対象から外しています。

="0123" 形式の CSV を他のシステムに取り込んでも大丈夫ですか?

向いていません。この形式は Excel などの表計算ソフトが数式として解釈することで文字列に見せているため、基幹システムや Web サービスの CSV 取り込みでは ="0123" という文字列がそのまま入ってしまいます。人が Excel で見るためのファイルと、システムに取り込むためのファイルは分けてください。システム取り込み用には「値は変えず BOM 付き UTF-8 で保存」を選んでください。

12桁以上の数字が 1.23457E+12 と表示されます。

Excel は数値を有効数字 15 桁までしか扱えず、12桁以上の数字は指数表記で表示します。JAN コード(13桁)やクレジットカード番号、マイナンバーで起きます。見た目だけでなく、16桁以上は下位の桁が 0 に丸められてデータそのものが失われるので、文字列として開く必要があります。このツールは 12桁以上の数字の列を検出します。

Excel で開くと日本語が文字化けします。

UTF-8 で保存された CSV を Excel が Shift_JIS として開くためです。先頭に BOM(バイトオーダーマーク)を付けると Excel は UTF-8 と認識します。このツールで出力するファイルはすべて BOM 付き UTF-8 なので、そのまま Excel で開けます。すでに化けてしまったテキストの復元は「文字化け復元ツール」をお使いください。

CSV の内容はサーバーに送られますか?

送られません。読み込み・判定・変換はすべてお使いのブラウザの中で行っています。顧客名簿や社員データなど社外に出せない CSV でも使えます。