IT基礎

CSVとは?Excelとの違いと壊れやすい理由

CSVは、表のデータを文字だけで書いたファイルです。Excelのファイルとの違い、UTF-8とShift_JISによる文字化け、区切り文字、先頭の0が消える・日付や長い数字が勝手に変わる理由と、実務で壊さずに開く・渡すための決めごとを整理します。

約7分で読めます

この記事で分かること
  • CSVとExcelのファイルの違い
  • 文字化けが起きる理由
  • 先頭の0や長い数字が変わる理由
  • 壊さずに開く手順
  • 受け渡しでそろえる決めごと

結論

CSVは、表のデータを「文字だけ」で書いたファイルです。色も数式も持たない、ただの文字の並びなので、ほとんどのソフトやシステムで読み書きできます。その一方で、「この列は文字として扱う」「この文字コードで読む」といった情報を持っていないため、開くソフトが推測で解釈し、その推測が外れたときに壊れます。

壊れる原因の多くは、CSVそのものではなく「Excelでダブルクリックして開き、そのまま上書き保存する」操作です。元のファイルを残す、読み込み方を指定する、渡す側と受け取る側で決めごとをそろえる。この3つで事故はかなり減らせます。

CSVとは何か

CSVは「Comma-Separated Values」の略で、値をカンマ(,)で区切って並べたテキストファイルです。メモ帳のようなテキストエディタで開くと、中身は次のように見えます。

  • 社員番号,氏名,入社日,郵便番号
  • 00123,山田 花子,2024/04/01,0600001
  • 00456,佐藤 太郎,2025/10/01,1000001

1行が表の1行、カンマで区切られた1つ1つが表の1マスにあたります。1行目には列の名前(見出し)を入れることが多いのですが、入れなければいけないという決まりはありません。

CSVがよく使われるのは、システム同士や会社同士でデータを受け渡すときです。勤怠システムから給与ソフトへ、ネットショップの注文一覧を会計ソフトへ、顧客の一覧を別のサービスへ。作った会社が違うソフト同士でも、CSVなら読み書きできることが多いため、受け渡し用の共通の形として使われています。

Excelのファイルとの違い

Excelのファイル(.xlsx)とCSVは、画面では同じような表に見えますが、中身は別物です。

見るところExcelのファイル(.xlsx)CSV
中身値・書式・数式などをまとめたもの文字だけ
色・罫線・列の幅保存される保存されない
数式数式として残る計算した結果の値だけが残る
シート複数持てる1つだけ
「この列は文字」という情報持てる持てない
開けるソフトExcelや対応するソフトほとんどのソフト

Excelで開いたCSVに色を付けて保存しても、次に開くと色は消えています。CSVに保存できるのは文字だけだからです。作業するための表はExcelのファイルで、受け渡すための表はCSVで、と役割を分けて考えると整理しやすくなります。

CSVが壊れやすい理由

文字コードの違いと文字化け

コンピュータは、文字を番号に置き換えて保存しています。この「どの文字を何番にするか」の決まりを文字コードといいます。日本語のCSVでよく出てくるのは、次の2つです。

  • UTF-8:世界中の文字を扱える文字コード。今の多くのシステムやウェブサービスが使っています。
  • Shift_JIS:日本語用として古くから使われてきた文字コード。以前からある業務ソフトや、日本向けのシステムでよく使われています。

書いたときと違う文字コードで読むと、意味の通らない記号や漢字が並びます。これが文字化けです。データが壊れたわけではなく、読み方を間違えているだけなので、正しい文字コードを指定して読み直せば元に戻ります。ただし、化けた状態のまま上書き保存すると、本当に壊れます。また、Shift_JISでは表せない文字もあるため、UTF-8からShift_JISに変えると、人名の一部の漢字や記号が「?」などに置き換わることがあります。

Excelでダブルクリックして開いたときに、どの文字コードとして読まれるかは、Excelのバージョンや設定、ファイルの作られ方によって変わります。「自分のパソコンでは読めたのに、相手のパソコンでは化けた」ということが起きるのはこのためです。

区切り文字

CSVはカンマで区切るので、値の中にカンマが入っていると困ります。たとえば「1,200」や「株式会社A,営業部」のような値です。こうした値は、ダブルクォーテーション(")で囲むのが一般的な決まりです。囲み方がそろっていないと、1つの値が2つの列に分かれ、それより右の列が1つずつずれます。

値の中の改行も同じ問題を起こします。住所や備考の欄に改行が入っていると、1件のデータが2行に割れて見えることがあります。さらに、カンマではなくタブで区切った形式(TSV)や、国や地域によってはセミコロン(;)で区切るものもあります。拡張子が .csv でも、中の区切り文字が違うことがある点は覚えておいてください。

先頭の0が消える

Excelは、数字だけでできた値を「数値」と判断することがあります。数値として扱うと、先頭の0は意味がないので消えます。

  • 社員番号「00123」→「123」
  • 郵便番号「0600001」→「600001」
  • 電話番号「09012345678」→「9012345678」

画面で消えるだけでなく、そのままCSVとして保存すると、ファイルの中身も0のない形に変わります。これを給与ソフトや配送のシステムに取り込むと、別の人や存在しない番号として扱われます。

日付や長い数字が勝手に変わる

同じように、Excelの推測によって次のような変化が起こることがあります。

  • 品番「1-2」「3/4」が、日付(1月2日、3月4日)に変わる
  • 「2026/09/26」が「2026/9/26」のように表示の形が変わり、保存するとその形で書き込まれる
  • カード番号や長い伝票番号のような桁の多い数字が、「1.23E+15」のような指数の表示になったり、末尾の桁が0に置き換わったりする

長い数字の末尾が0になる変化は、あとから元に戻せません。元のファイルが残っていなければ、正しい番号はわからなくなります。

実務での安全な開き方

Excelのメニューの名前や場所はバージョンによって変わるため、ここでは考え方を中心に書きます。細かい操作は、使っているExcelの公式のヘルプで確認してください。

  1. 元のファイルは開く前にコピーしておく:受け取ったCSVは「元」として保管し、作業はコピーで行います。
  2. ダブルクリックで開かない:Excelには、CSVなどのテキストファイルを「取り込む」機能があります。取り込むときに、文字コードや区切り文字、列ごとのデータの形式を指定できます。社員番号や郵便番号、品番の列は「文字列」を指定します。
  3. 中身を確かめたいだけなら、テキストエディタで開く:文字コードや区切り文字の問題なのか、Excelの変換の問題なのかを切り分けられます。
  4. Excelで開いたCSVを、そのまま上書き保存しない:保存するときは別の名前にし、どの文字コードで保存したかを確かめます。
  5. 件数を確かめる:取り込む前と後で、行の数が同じかを見ます。改行や区切り文字の問題で行が割れていると、件数がずれます。

CSVを渡すとき・受け取るときの決めごと

取引先や別の部署とCSVをやりとりする場合は、最初に次の点をそろえておくと、毎月の手直しが減ります。

  • 文字コード(UTF-8かShift_JISか)
  • 区切り文字(カンマかタブか)と、値をダブルクォーテーションで囲むかどうか
  • 1行目に見出しを入れるかどうかと、列の順番
  • 日付の書き方(2026/09/26 か 2026-09-26 か)
  • 先頭に0がある列(社員番号、郵便番号など)はどれか
  • 見本のファイルを1つ用意し、実際に取り込めるかを試す

例として、20人ほどの会社で、勤怠システムから出したCSVを毎月給与ソフトに取り込んでいるとします。ある月、担当者が中身を確かめるつもりでCSVをExcelで開き、上書き保存してから取り込むと、社員番号の先頭の0が消え、何人か分が取り込めない、ということが起こりえます。「取り込む前に開くなら、コピーを開く」と手順書に1行書いておくだけで防げる事故です。

ここがポイント
CSVは、同じデータを何度も人の手で受け渡していることの目印でもあります。毎月同じ受け渡しをしているなら、システム同士を直接つなぐ方法(API)も選択肢になります。

まとめ

CSVは文字だけでできた、受け渡しのための表のファイルです。形が単純なぶん、文字コードや列の種類といった情報を持たず、開くソフトの推測で壊れます。文字化けは読み方の問題なので直せますが、先頭の0や長い数字の変化は、上書き保存すると元に戻りません。元のファイルを残す、取り込み機能で形式を指定する、やりとりする相手と決めごとをそろえる。この3つを業務の手順に入れておいてください。