メニュー 閉じる

CSVファイルを作るときExcelを使ってはダメな理由

みなさんこんにちは。今日も業務を円滑にやっていきましょう!
以前、「Excelの頭の0が消える問題を根本的に解決する方法」という記事を書きました。

この記事もたくさんの方に読まれており嬉しい反面遠回しすぎたと反省しています。

そう、このときはっきりと言っておけばよかったのですが、
提出用CSVを作成するときにExcelで代用しようというのはやめたほうが良いです。

 

やっぱりExcelはCSV編集に向いていない

Excelは便利な表計算ソフトです。会社でもほとんどのファイルはExcelで作られます。
文章作成ソフトとしても、計算用としても、データ分析用としても、
とにかく万能なのがExcelの良いところです。

CSVというのはExcelよりも耳馴染みがないので「高度なファイルなのだろう!」と思いがちですが、
実は全く逆でエクセルファイルより格段に小さく、シンプルなファイルです。

Excelは皆が思っているよりAI搭載のハイパースペックアプリケーションです。
そのため、CSVファイルを読み込むこともできるのですが、
逆に高度な処理をしすぎてCSVファイルの意図を壊してしまうのです。

その代表的な現象が「CSVファイルをExcelで開くと頭の0が消える」という現象です。

Excelの頭の0が消える問題を根本的に解決する方法

詳細は上記記事に書いてあるような方法を使うことで、
工夫をこらすとExcelでCSVを扱うこともできるのですが、これはおすすめではありません。

作業の手間がかかる割にはあまり意味のある仕事では無いからです。
解決策としては同じくマイクロソフトのAccessを使うか、無料のCSV編集ソフトを使いましょう。
「0が消えてしまったらどうしよう!」と怯えながら操作するより、最初から扱うソフトを変えたほうが便利です。

 

余談:データに0があるということが大切な理由

会計など数字を扱う際は基本的に頭に0が来ることはありません。

しかし、メインフレームなどの昔のコンピュータでは例えば100万円を表記する際に、
「00000001000000」などと10兆や1兆分の桁をつけることがあります。

これは、単純に金額データを送る際に予めこの10兆分の桁数を指定しておいて、
その中で金額を示す数字として送ることで、最大10兆円まで桁を表すことができるよう設計しているからです。
つまり、バイト数単位で入力されるデータを指定しているのです。

しかし、今のコンピュータは頭が良いのである程度柔軟にデータを処理することができます。
人間も普通見る際はわざわざ0を意識したりはしません。
だからこそ、Excelが自動的に頭の0を消してしまうのです。

でも、もしデータをメインフレームのマシンに送りたいことがあるとどうなるか?

この頭の0を消してしまうとエラーになります。
これは先程も説明したように「予め14桁分のバイト(データ量)を金額とする」という認識で受け取りますから、
Excelなどで誤って頭の0を自動で消してしまったデータを送ると、
例えば100万円なら7桁しかデータが送られないことになり結果的にエラーになります。

コンピュータはリジットにデータの形式を定めておくことでミスやエラーを弾くことができますが、
反面、その形式通りに入力されていない場合は人間にとってはわずかな差であってもエラーとなります。
それが頭の0が消えてしまう問題だったり、半角全角で入力が弾かれるというエラーに繋がります。