
CSVバチ開き撲滅運動
ちょっと自慢
私、前々職で社内Excel勉強会の講師とかやってたこともあるんですが。
その時に、ずっと「CSVは『バチ開き』したらだめです」って言ってたんです。
※「バチ開き」=CSVをダブルクリックして開くこと
ただただ口が悪かっただけなんですが、米津玄師が「IRIS OUT」という曲で「バチ開き」って歌詞に使ってて。
「私、米津玄師と同じボキャブラリー持ってる……!」って嬉しくなりました。
CSVバチ開きしてる人~?
最初からどうでもいい自慢、失礼しました。
どうしても言いたくて(笑)
ここから本題です。
皆さんはCSVファイルを「バチ開き」してませんか?
私はこれで事故った人(昔の私含む)を本当にたくさん見てきたので、もう一度言わせてください。
「CSVは『バチ開き』したらだめです」
もしあなたが「バチ開きしてるけど困ったことがない」なら、とってもラッキーだったかExcelスキルが高い人のどちらかです。
前者の方は、この記事を読んだらいいことがあるかもしれません。
後者の方は読む必要がないので、そっとブラウザバックして別の素敵な記事へどうぞ。
CSVは擬態する
「私はCSVをバチ開きしている罪深い人間です」と思って、このチャプターに進んでくださったあなた。
あなたはもう、「無知の知」。
罪から救われかけています。
問題なのは、「え?CSVってExcelの仲間でしょ?」って思ってるあなた、
もしくは「CSVってExcelでしょ?」って思ってるあなたです。
ここがこの問題の根深いところ。
アイコンを見ても、「私はExcelの親戚みたいなもんですよ」もしくは、「Excelとは心友!ズッ友だよね!」って顔して鎮座してる。

そりゃこんなことされちゃ勘違いする人いっぱい出てきます。
だけど、そもそもCSVって何の略か知ってますか?
「Comma Separated Values」でCSVです。
コンマ(,)で区切られた(Separated)値の集合体(Values)ってわけです。
だから本来、こういうアイコンが正しいと私は思うんですよね。

事故の原因
「CSVはExcelじゃないってのは何となくわかった。
でも、ダブルクリックして開いたらExcelで開くじゃん。」
そう思ったあなた。鋭い!
そう、そうなんです。
これね、Windowsが「CSVはExcelで開くのがデフォ」って決めてるからなんです。
そして、まさしくそれが事故の原因なんですよ……。
CSVって、コンマで区切られた値の集合体だって説明しました。
例えばこういうExcel資料があったとします。

これ、CSVで保存してバチ開きしたらこうなります。

黄色で色付けしたはずが全部色なしになってる
4行目と6行目の管理コードが変な日付になってる
JANコードが変な数字になってる
これ、「CSVをバチ開きする」=「ホントはExcelじゃないのに互換性に頼って無理やり開いたから」なんです。
試しに、CSVにしたファイルをメモ帳で開いてみましょう。
右クリック→プログラムから開く→メモ帳 です。
メモ帳が出てなければ、別のプログラムを選択→メモ帳 でいけます。

そしたら、こんな感じになってるはずです。
1セルごとの値が、コンマ(,)で区切られてるのが分かりますよね。
そして、この時点ではまだ変なデータになってないことも確認できます。

つまり、Excel→CSVに変換した時点ではまだ事故ってないんです。
これをダブルクリックでバチ開きした瞬間に事故る。
「あなたのためだから」はホント厄介
CSVをバチ開きした瞬間、Excelの「あなたのためだから」が暴走します。
もうほんとに一瞬で、「余計なお世話」を全部やってくる。
一回も頼んでないのに「任せろ!すでに仕事は終わっている!完璧に!」ってドヤってくるんです。
◆「X-X」形式は、「日付っぽい」やつがあったから日付にしといたよ!
※「X/X」形式でも同じことが起こります。
日付に変換するパターン
25-11-20→2025年11月20日
12-25→当年の12月25日
95-1→1995年1月1日
4261-1→4261年1月1日
※セルの中身自体も変換されてしまうので、元に戻すのは難しいです。
日付に変換しないパターン
0256-2
25-11-31
13-25
95-20
4261-0
※これらは全部日付としてはありえないので、日付じゃないと認識して、そのままです。
◆頭の「0」は消して数字にしちゃうね!
0が頭についてる数字データって、テストデータのJANコードもそうなんですが、「数字を記号やコードとして扱っている」んですよね。
だけど、Excelは「おっけおっけ、数字ね!」って認識するんです。
いくら元のExcelで書式設定を「文字列」にしてても、Excelからしたら数字なんです。
だって、CSVにした時点で、「コンマで区切られた値」になってるんだから、Excelの機能である書式設定はリセット済み。
だから、ここに関しては、実はExcelはそこまで悪くない。
私自身、まだ営業事務としてひよっこだった時代、何度JANコードの頭の0を失って発狂したことか⋯(笑)
◆桁数の多い数字は「指数」にしとくね!
これ、Excelの悪い癖です。
0を消しちゃうのはある意味仕方ない。
だけど、勝手に指数表示にするのはギルティだと私は思ってます。
指数なんて、普通の人はあんまり馴染みがないと思うんですよね。
だから、「4.85247E+11」とか「7.40E-09」に変換されたデータを見てみんなパニックになる。
代表的なのはこんなところだと思いますが、今思いついてないだけで、まだ他にもあるかもしれません。
とにかく、ExcelはCSVの中の表示形式の判別がつかないデータは、「自分がいいと思う形に勝手に変換しちゃう」んです。
なぜかと言うと、CSVって書式設定とか全部なくなっちゃうから。
だから、セルに色を付けても太字にしても罫線引いても「文字列」形式を指定しても、CSVにしたら全部なくなっちゃって、Excelは判別できなくなるんです。
そして一番厄介なのは、同じ列に変換されているものと無変換のものが混ざること。
これ、今回はテストデータの行数が少なかったから目視で気付く可能性が高いです。
でも、行数が多いデータで、上の方に無変換になるデータが偶然固まっていたら……
あなたは途中からおかしなデータが入っていることに気づけますか?
もっと言えば、あなたがもうちょっと慎重派で、最後のセルも見るタイプだったとします。
でも、最初も最後も無変換データが偶然固まっていたら……??
私は無理です。気付けません(笑)
救済策、ちゃんとあります
こんな感じで、バチ開きしちゃっておかしなことになってるCSVを見ると、大体みんな「わー!」ってパニックになります。
……なるんですが、まずはマウスとキーボードから手を放して落ち着きましょう。
そして、上書き保存しないで閉じてください。
CSVは上書き保存した瞬間、当然ですが 「変換後の変なデータ」で上書きされてしまいます。
ここで取り返しがつかなくなる。
こうなると、どんなExcel上手さんでもリカバリは不可能です。
保存しないで閉じた後は、自分で直せそうなら、もちろん直してOK。
でも、ちょっとでも不安があるなら、お近くのExcel上手さんのところに持っていくのがいいと思います。
そして、私のおすすめは 「外部取り込み」 です。

これは、Excelに 「この列は文字列」「この列は日付」と、列ごとに表示形式を設定して開く方法です。
ちょっと手間はかかりますが、これができるとExcel上手さんに一歩近づけます。
以上、CSVバチ開き撲滅運動でした
Excelは今日も「任せろ!」ってドヤ顔で変換しようとしてきます。
ここまで書いておいて何ですが、CSVの扱い方は人それぞれです。
「私は開いてからリカバリする派」も全然OK。
「今困ってないからこれからもCSVはバチ開きだぜ!」でも良いと思います。
でも、もし今後、データの仕様が変わったりして事故が起こった時に、
「もしや……?」ってこの記事を思い出してもらえたら本望です。
Excelは基本的にはあなたの味方ですが、たまに罠を仕掛けてきますからね。
皆様これからもご安全に!