CSVをExcelに変換するとは?

業務システムから出力した顧客・商品・売上CSVをExcelで確認し、並べ替えや追記をしてExcelブックとして保存したい場面があります。このとき大切なのは、「CSVをExcelで開けること」と「CSVの値がそのまま保持されること」は同じではないという点です。

CSVは、各行と各列の値を区切り文字で表したテキストファイルです。セルの表示形式や「この列は文字列」という列型、数式、色、複数シートは持っていません。一方、Excelブック(.xlsx)は、セル型、表示形式、数式、書式、シートなどを保存できます。そのためCSVをExcelへ読み込む際、Excelが値を数値や日付として解釈することがあります。

CSV
文字コードと区切り文字を持つテキストデータ

Excelブック
セル型や書式を持つ.xlsxファイル

sample.csvをsample.xlsxへ名前変更するだけでは変換になりません。Excelへ内容を読み込んだあと、Excelブック形式で保存する必要があります。

CSVをExcelに安全に変換する手順

次の例には、Excelが自動的に解釈しやすい値をまとめています。customer_id、product_code、management_idは数字に見えても計算用ではないため、テキストとして保持したい列です。

customer_id,name,product_code,management_id,created_at,amount
001001,山田太郎,1-2,123456789012345678,2026-09-09,1200.50
001002,佐藤花子,000918,223456789012345678,2026-09-10,980
001003,鈴木一郎,A-01,323456789012345678,2026-09-11,500

1. 元のCSVをコピーして保管する

変換前のCSVを作業用とは別に保存します。Excelで開いたあとに先頭0や桁が変わっていることへ気付いても、原本があれば正しい値からやり直せます。システムへ戻す予定なら、出力直後のファイルを基準に差分を確認できる状態にします。

2. CSVの文字コードを確認する

文字化け対策と列型対策は別の問題です。最初にUTF-8、BOM付きUTF-8、Shift_JIS / Windows-31Jなどの文字コードを確認します。不明なときは文字コード判定ツールで推定できますが、自動判定は100%ではないため、出力元の仕様も確認してください。

文字コードはファイル全体のバイトを文字としてどう読むかを決めます。一方、列型は読み取った001001を文字列と数値のどちらとして扱うかを決めます。文字コードを正しく選んでも先頭0が守られるとは限らず、列型をテキストにしても誤った文字コードによる文字化けは直りません。この二つを順番に確認することが重要です。

3. Excelの[データ]からCSVを選ぶ

Excelを先に開き、[データ]タブから[テキスト/CSVから]を選び、対象CSVを指定します。名称や配置はExcelのバージョン、OS、表示言語によって異なることがあります。既定アプリから直接開く方法が常に間違いというわけではありませんが、重要なIDやコードがあるファイルでは、読み込み画面を経由すると確認しやすくなります。

ExcelのデータタブにあるテキストまたはCSVからの読み込みボタン
Excelの[データ]から[テキスト/CSVから]を選択します。

4. プレビューで文字コードと区切り文字を確認する

プレビューで日本語が正しく表示され、カンマなどの区切り文字で列が意図どおり分かれているか確認します。文字化けしている場合は、ファイルの文字コードに合う設定を選びます。1行が1列にまとまる場合は、区切り文字が一致していない可能性があります。

[読み込み]を押す前に、ID、商品コード、管理番号、日付に見えるコードがどう表示されているかも見ます。プレビューが正しく見えても、後続の型推測で値が変わる可能性があるため、重要列がある場合は次の[データの変換]へ進みます。

ExcelのCSV読み込みプレビューで文字コードと区切り文字を確認する画面
文字コードと区切り文字を確認し、必要なら[データの変換]へ進みます。

5. [データの変換]で重要な列をテキストにする

Power Queryエディターを開くと、値の内容からデータ型が自動的に推測される場合があります。[テキスト/CSVから]を使っただけで先頭0が必ず守られるわけではありません。適用されたステップや列見出しの型アイコンを確認し、customer_id、product_code、management_idを選択して、[データ型]を[テキスト]へ変更します。

型変更を確認するダイアログが出た場合は、すでに数値化された結果を元に変換するのではなく、できるだけ元の値を保持する設定や手順を選びます。自動追加された「変更された型」ステップで値が先に変化している場合は、そのステップを見直してからテキスト型を設定します。画面構成はバージョンによって異なるため、必ずプレビュー上の値も確認してください。

Power QueryでID列のデータ型をテキストに設定する画面
先頭0や長い番号を保持したい列は、読み込み前にテキスト型へ設定します。

6. 値を確認してExcelへ読み込む

001001、1-2、123456789012345678が元CSVと一致していることを確認し、データをシートへ読み込みます。実際の日付であるcreated_atは用途に合う日付型、計算するamountは数値型として扱えます。すべての列を一律にテキストへするのではなく、業務上の意味に合わせます。

CSV 列型判定ツールを使うと、読み込み前に各列が文字列、数値、日付などのどれに見えるかを確認できます。結果は推定であり、最終的な列型は取り込み目的に基づいて決めてください。

確認するときは先頭の数行だけでなく、値の種類が変わりやすい行も見ます。先頭付近が数字だけでも、後半にA-01のような値がある列は文字列です。空欄を含む列や、数字と文字が混在する列も、自動推測の結果だけで決めず、項目定義と照合します。行数が多い場合は、元システムの仕様書やデータ辞書を優先してください。

Excelで先頭0が消えたIDとテキストとして保持されたIDの比較
ID列を数値として読むと先頭0が消えるため、テキストとして読み込みます。

7. Excelブック(.xlsx)として保存する

[名前を付けて保存]でファイル形式にExcelブック(.xlsx)を選び、元CSVとは別名で保存します。Excel固有の型や表示形式を保持したい場合、CSVのままでは保存できません。保存後にファイルを閉じて開き直し、重要な列が意図どおり表示されるか確認します。

CSVをExcelに変換するときによく起こる問題

日本語が文字化けする

CSVの文字コードと、Excelが読み込み時に使う文字コードが一致していない可能性があります。たとえばUTF-8のファイルを別の文字コードとして解釈すると、日本語が崩れます。ExcelでCSVが文字化けする原因と対処方法も確認し、文字コードを特定してから読み込みます。

先頭の0が消える

001001を数値として解釈すると1001になります。数としての値は同じでも、顧客ID、郵便番号、商品コードでは別の文字列です。表示形式で0を付け直す方法は桁数が既知の場合には使えますが、元データを安全に保つ目的なら読み込み前にテキスト型を指定します。

元CSV誤って数値化テキストとして保持
0010011001001001
000918918000918

セルの表示形式で「000000」と指定すれば画面上だけ0を補える場合がありますが、これは元の文字列を保存する方法とは限りません。6桁固定という仕様が確実なら表示目的に使えますが、可変長のコードや外部システムへ戻すデータでは、読み込み段階からテキストとして保持するほうが安全です。

コードが日付へ変わる

1-2や3/4のような商品コードが日付として解釈されることがあります。日付ではない列をテキスト型にし、すでに日付へ変わったセルを見た目だけで元へ戻そうとしないでください。実際の日付列の表記が混在している場合は、Excelへ入れる前にCSV 日付形式チェック・統一ツールで内容を確認できます。

長い数字がE+表示になり、桁が変わる

123456789012345678のような長い管理番号は、数値として読み込むと1.23457E+17のように表示されることがあります。表示だけでなく、長い桁では元の番号を正確に保持できない可能性があります。足し算をしない識別子ならテキスト型で読み込みます。

Excelで長い数字が指数表記Eプラスに変わった例
計算しない長い管理番号は、数値ではなくテキストとして扱います。

数字でも「テキスト」として扱ったほうがよいデータ

列型は見た目ではなく、その値を何に使うかで決めます。「数字だけで構成される」ことと「計算する数値である」ことは同じではありません。

データ推奨する扱い理由
顧客ID・社員IDテキスト先頭0や桁そのものが識別情報
郵便番号テキスト計算せず、先頭0を持つ場合がある
商品コードテキストハイフンや日付に見える値を含む
長い管理番号テキスト指数表示や桁精度の変化を避ける
数量・金額数値集計や計算に使用する
日付・日時用途による日付計算するなら日付型、コードや固定表記ならテキスト

CSV自体には「この列はテキスト」というschemaがありません。そのため出力元の項目定義、データ辞書、取り込み先仕様が最も確かな判断材料です。

システムから出力したCSVをExcelで編集するときの注意

顧客マスターや商品マスターを「システムからCSV出力 → Excelで編集 → CSV保存 → システムへ再取込」する作業では、見た目が整っていても値が変わると更新対象を誤るおそれがあります。特に主キー、外部キー、固定桁コード、長い管理番号はテキストとして保護します。

  1. 出力直後のCSVを原本として保管する
  2. 文字コードとCSV構造を確認する
  3. ID・コード列をテキストとしてExcelへ読み込む
  4. 必要なセルだけ編集し、行・列の増減も記録する
  5. 保存したCSVを取り込み仕様に照らして再確認する
  6. 少量データでテストしてから本番へ取り込む

読み込み前にはCSV 文字コード・総合診断ツールで文字コード、BOM、改行、区切り文字、列数などをまとめて確認できます。これは業務上の正しさを保証するものではないため、項目仕様の確認と組み合わせて使います。

列名、列順、NULL表記、値コードなども変更する場合は、CSVインポート前のデータチェック・前処理方法に沿って作業を分けると、どこで値が変わったかを追いやすくなります。

編集担当者と取り込み担当者が異なる場合は、「どの列を編集してよいか」「数式を使ってよいか」「追加・削除した行はどれか」を共有します。Excel上での見た目だけを確認するのではなく、保存後のCSVをテキストデータとして再確認してください。特に並べ替えやフィルターを使ったあと、非表示行を含めて必要なレコードが残っているか、件数が想定どおりかも確認します。

Excelで編集したあとCSVに戻す場合の注意

.xlsxからCSVへ保存すると、基本的に現在の1シートがテキストデータとして出力されます。セルの色、数式そのもの、複数シートなどはCSVへ保持されません。数式セルは計算結果が出力されるなど、元のExcelブックと情報量が異なります。

  • 取り込み先が要求する文字コードとBOMになっているか
  • カンマなど指定の区切り文字になっているか
  • Header、列数、列順が変わっていないか
  • IDの先頭0と長い管理番号が保たれているか
  • 日付・日時が指定形式で出力されているか
  • 空欄や引用符を含む値が正しいCSVになっているか

Excelのバージョンや保存形式によって選べるCSV形式は異なります。保存時の警告を読み、元の.xlsxと出力CSVを残してください。システムへ取り込めない場合は、CSVが読み込めない・インポートできない原因を順番に確認できます。

再出力後は、元CSVと同じ拡張子だから同じ内容だとは判断できません。文字コード、改行コード、引用符の付き方が変わることがあり、日付セルはExcelの表示形式に応じた文字列になる場合があります。取込先がyyyy-MM-ddを要求するなら、画面上で日付に見えることではなく、CSVへ実際にどの文字列が書き出されたかを確認します。

CSVをExcelに変換するときに避けたいこと

  • 拡張子だけを.xlsxへ変える:内部形式はCSVのままで、正しいExcelブックにはなりません。
  • プレビューを見ずに読み込む:文字化け、列ずれ、型変換を見逃しやすくなります。
  • すべての数字を数値として扱う:ID、コード、郵便番号、長い管理番号はテキストが適する場合があります。
  • Power Queryなら自動で安全と思い込む:Power Queryもデータ型を推測するため、適用されたステップと重要列の型を確認します。
  • 変化した値を推測で修復する:消えた0や変化した長い桁は、元CSVと照合して読み込み直します。
  • 原本へ上書きする:必ず元CSVと作業後ファイルを分け、再確認できるようにします。

まとめ

CSVをExcelへ安全に変換する基本は、Excelを先に開き、[データ]の[テキスト/CSVから]で読み込み、文字コード、区切り文字、列型を確認することです。先頭0を持つID、日付に見える商品コード、長い管理番号は、[データの変換]からテキスト型へ設定します。

文字コードとデータ型は別の問題です。日本語が読めてもIDが変わることはあり、IDが保たれても文字コードが合わなければ文字化けします。両方を確認してから.xlsxへ保存し、CSVへ戻す場合は取り込み先の仕様に合わせてもう一度診断してください。

最後に元CSVと保存後のファイルを見比べ、必要な値が保たれていることを確認しましょう。