『うまく表示出来ない?』CSVをエクセルに取り込むと改行されてしまう場合の解決方法

CSVファイルをエクセルに改行されずに取り込む方法

CSVは「Comma Separated Values(カンマ セパレーティド ヴァリューズ)」の頭文字で、直訳すると「カンマで区切られた値」となります。

つまり、CSVファイルは、「各項目間がカンマ(,)で区切られたデータ」というシンプルなデータ構造のため、互換性が高いのがメリットです。

しかし、互換性が高いにもかかわらず、CSVファイルをExcel(エクセル)に取り込むと、CSVファイルがうまく表示されなかったということは無いでしょうか。

エクセルへの取り込み(読み込み)が上手くいかない原因は、エクセルに取り込む方法を誤っていたり、CSVファイル自体に問題があります。

CSVファイルがうまく読み込めず、発生してしまう現象は主に以下の3つがあります。

CSVファイルがうまく表示されない現象

1.先頭の「0」が消えてしまう
2.文字化けしてしまう
3.文字が改行されてしまう(ズレてしまう)

今回は、現象3.のCSVファイルを読み込んだ際に、「文字が改行されてしまう(ズレてしまう)」問題について、発生してしまう原因と「改行されずに正しく取り込む2つの方法」を紹介します。

「1.先頭の「0」が消えてしまう」の解決方法や「CSVファイルって何?」については、下の記事で解説していますので参考にしてみてください。

文字が改行されてしまう(ズレてしまう)原因は?

まずはCSVファイルをExcel(エクセル)に取り込んだ際に、文字が改行されてしまう原因からお話します。

発生する原因は以下の2つ存在しています。

一つ目は、セル内に改行されたデータが存在していること。2つ目は、CSVを区切る元データとなっているカンマ(,)が区切り用以外にも使われていることです。

  • セルの中で改行されているデータが存在する(以下、セル内改行)
  • データ区切り用のカンマ(,)以外のカンマ(,)が含まれている

実際に文字が改行されてしまう現象を下の各見出しで具体例で紹介します。

【1つ目】セル内改行されたセルが存在している

まずCSVの取り込みが上手くいかない1つ目の原因は、セル内改行されたセルが存在している、ということです。

どういうことか発生してしまう事象を図解で説明します。

手順1.改行を含むExcelファイルを準備

まずExcelで改行を含むExcelファイルを作成します。

セル内改行を含むExcelファイル
セル内改行を含むExcelファイル

手順2.CSVファイルとして保存

ファイルの種類を「CSV(コンマ区切り)」を選択して、CSVファイルとして任意の場所に保存します。

「CSV(コンマ区切り)」で任意の場所に保存
「CSV(コンマ区切り)」で任意の場所に保存

手順3.エクセルでCSVファイルを取り込む

エクセルを新規で開いて、手順2で作成したCSVファイルをエクセルで開くために、「データ」タブの「テキストまたはCSVから」をクリックします。

「テキストまたはCSVから」をクリック
「テキストまたはCSVから」をクリック

手順4.CSVファイルをインポート

「データの取り込み」画面で対象のCSVファイルを選択し(図①)、「インポート」をクリックします(図➁)。

CSVファイルを選択して「インポート」
CSVファイルを選択して「インポート」

手順5.「データを変換」をクリック

次の画面で「データを変換」をクリックします。

「データの変換」をクリック
「データの変換」をクリック

手順6.「Power Query エディター」画面で読み込み

Power Query エディター」画面が表示されますので、「閉じて読み込む」をクリックします。

画面中央のプレビュー画面を見ると、セル内改行のせいで、セル内改行した位置からデータが崩れていることが分かります。

「Power Query エディター」画面で「閉じて読み込む」
「Power Query エディター」画面で「閉じて読み込む」

手順7.エクセルデータを確認

下の図のように、エクセルにCSVファイルが取り込まれました。

手順6のプレビュー画面でも文字の位置が改行されていた(崩れている)とおり、エクセルデータ上の文字の位置は崩れています

このように、改行がCSVファイルに含まれていると、エクセルへの取り込みが上手くいきません。

CSVファイルのエクセルへの取り込みでエラー
CSVファイルのエクセルへの取り込みでエラー

【2つ目】カンマ(,)が存在している

CSVの取り込みが上手くいかない2つ目の原因は、区切り用のカンマ(,)以外のカンマ(,)が存在している、ということです。

どういうことか発生してしまう事象を図解で説明します。

下の図のように、C4セルには「青森県,八戸市」とセル内にカンマ(,)が挿入されています。

カンマを含むExcelブック
カンマを含むExcelブック

このExcelファイルをCSVファイルに変換して、エクスプローラーのプレビュー画面で確認すると、「”青森県,八戸市”」とダブルクォーテーション(”)で文字が囲まれます。

カンマが入ったセルがダブルクォーテーションで文字列が囲われる
カンマが入ったセルがダブルクォーテーションで文字列が囲われる

プレビュー画面の確認方法はこちらの記事で紹介しています。

上の図のように、プレビュー画面で確認して、カンマが使われたセルの文字がダブルクォーテーション(”)で囲われている場合は、Excelへの取り込みには支障はありません。

一方で、別のアプリを使用してファイルを加工したり、外部システムからダウンロードしたCSVには、下の図のように、カンマが使われたセルの文字がダブルクォーテーション(”)で囲われていないケースがあります。

カンマが入ったセルがダブルクォーテーションで文字列が囲われていない
カンマが入ったセルがダブルクォーテーションで文字列が囲われていない

このようなCSVファイルを取り込むと、改行の崩れが発生してしまいます。

上の見出しで紹介した手順2~手順7を使ってExcelファイルに読み込むと下の図のようになります。

改行の崩れこそ発生しませんが、文字に使われていたカンマ(,)の影響で、区切り文字と判断されてしまい文字が一つ右にズレてしまいました。

セルの文字が分割されて右にズレる
セルの文字が分割されて右にズレる

原因となるセルを探す方法

CSVファイルを取り込んだ時に、改行や文字がずれてしまう原因となる『セル内改行』や『カンマ(,)』は簡単に見つけることが出来ます。

まずは『セル内改行』を見つける方法です。

対象のCSVファイルをダブルクリック開いて、「Ctrl 」キー +「F」キーのショートカットキーを使って「検索と置換」画面を開きます。

次に、検索する文字列の入力枠に、「Ctrl 」キーを押しながら「J」キーを押します。一見、何の変化も起きていませんが、改行コードが挿入されています。

「検索と置換」画面で「Ctrl +J」キーのショートカットキーを利用
「検索と置換」画面で「Ctrl +J」キーのショートカットキーを利用

「すべて検索」をクリックすると、表の中の「セル内改行」されたセルを検索することが出来ました。

『セル内改行』の位置を検索する
『セル内改行』の位置を検索する

上の表はデータ数が少ないため、目視でも『セル内改行』は見つけることが出来ますが、膨大なデータの中で『セル内改行』を見つける場合は、この「検索と置換」を使った方法が役立つので、CSVファイルが上手く取り込めない時は利用してみてください。

セル内改行する方法や解除する方法はこちらの記事で詳しく紹介していますので、よかったら参考にしてみて下さい。

『カンマ(,)』を見つける際も、「検索と置換」画面から検索する文字列に「,」を入力して検索することで、簡単に探すことが出来ます。

Excelファイルからカンマ(,)を見つける方法
Excelファイルからカンマ(,)を見つける方法

「テキストまたはCSVから」から取り込む方法

それでは、1つ目の改行されずに正しく取り込む方法を紹介します。

手順1.エクセルでCSVファイルを取り込む

エクセルを新規で開いて、手順2で作成したCSVファイルをエクセルで開くために、「データ」タブの「テキストまたはCSVから」をクリックします。

「テキストまたはCSVから」をクリック
「テキストまたはCSVから」をクリック

手順2.CSVファイルをインポート

「データの取り込み」画面で対象のCSVファイルを選択し(図①)、「インポート」をクリックします(図➁)。

CSVファイルを選択して「インポート」
CSVファイルを選択して「インポート」

手順3.「データを変換」をクリック

次の画面で「データを変換」をクリックします。

「データの変換」をクリック
「データの変換」をクリック

手順4.「Power Query エディター」画面で読み込み

この作業が重要です。「Power Query エディター」画面が表示されます。画面中央のプレビュー画面上は『セル内改行』の影響で改行されてしまっていますが、この画面上でズレを修正します。

画面右側の「適用したステップ」メニューの「ソース」をダブルクリックします(図①)。

「Power Query エディター」画面で「ソース」をダブルクリック
Power Query エディター」画面で「ソース」をダブルクリック

手順5.「コンマ区切り値」画面で改行方法を指定

「コンマ区切り値」画面が表示されるので、「改行」メニューを「引用符で囲まれた改行を無視」を選択して(図①)、「OK」で画面を閉じます(図➁)。

「改行」メニューを「引用符で囲まれた改行を無視」を選択
「改行」メニューを「引用符で囲まれた改行を無視」を選択

手順6.「Power Query エディター」画面で読み込み

プレビュー画面で「セル内改行」したセルが正しく変換されることを確認してから、「閉じて読み込む」をクリックします。

「Power Query エディター」画面で「閉じて読み込む」をクリック
Power Query エディター」画面で「閉じて読み込む」をクリック

手順7.「範囲に変換」をクリック

下の図のように、エクセルに取り込まれました。「テーブル」機能が自動で設定されているので、テーブル機能を利用しないのであれば、「テーブルのデザイン」タブの「範囲に変換」をクリックします。

「テーブルのデザイン」タブの「範囲に変換」をクリック
「テーブルのデザイン」タブの「範囲に変換」をクリック

以上で、取り込みは完了です。お疲れさまでした!

CSVファイルを修正してから取り込む方法

2つ目の解決策は、CSVファイル自体を修正してからエクセルに取り込む方法です。

ただし、この方法はデータの先頭に「0」が存在するセルを含むCSVファイルでは利用出来ませんので、その場合は、一つ前の見出しで紹介した方法を利用してください。

「セル内改行」「セル内にカンマ」の2つの原因に対し、この方法で利出来ます。

下の手順では、「セル内改行」があるCSVファイルをExcelに取り込む手順を紹介しますが、「セル内にカンマ」がある場合も

「セル内改行」があるCSVファイル

「セル内改行」があるCSVファイルをExcelファイルに取り込む方法を紹介します。

手順1.「CSVファイル」をダブルクリックで開く

「CSVファイル」をダブルクリックで開きます。

「CSVファイル」をダブルクリック
「CSVファイル」をダブルクリック

手順2.「置換」画面を表示

画面左上の「全セル選択」ボタンをクリックして(図①)、「Ctrl」キー+「H」キーのショートカットキーで「検索と置換」画面の「置換」タブを表示させます。

この画面は、「ホーム」タブの「検索と選択」の「置換」ボタンからも表示させることが出来ます。

「検索と置換」画面の「置換」タブを表示
「検索と置換」画面の「置換」タブを表示

手順3.「置換」画面で改行コードを入力

「検索する文字列」欄で、「改行」の制御コードを挿入できる「Ctrl」+「J」のショートカットキーを押して、改行を挿入します。

画面上(見た目上)の変化は発生しませんが、改行が挿入されていますので、「すべて置換」をクリックします。

「Ctrl+J」のショートカットキーで改行を挿入
「Ctrl+J」のショートカットキーで改行を挿入

手順4.「セル内改行」が解除されたことを確認

すべてのセルの「セル内改行」が解除されたことを確認します。セルの文字は折りたたまれていても、数式バーを確認すると改行が解除されていることが確認出来ます。

セル内の改行が解除
セル内の改行が解除

手順5.「名前を変えて保存」する

元データを変更しているので、CSVファイルを名前を変えて保存します。上書きしても問題ないデータであれば、上書き保存でも大丈夫です。

CSVファイルを「名前を変えて保存」
CSVファイルを「名前を変えて保存」

手順6.CSVファイルのプレビュー画面を確認(任意)

念のため、フォルダのプレビュー画面で手順5で保存したCSVファイルの改行が修正されているか確認します。

CSVファイルの改行が修正されていることを確認
CSVファイルの改行が修正されていることを確認

手順7.CSVファイルを取り込み(読み込み)

上の見出しでも紹介したように、後はCSVファイルをExcelに読み込めば改行や文字ズレは発生しません。「テーブル」機能が自動で設定されているので、テーブル機能を利用しないのであれば、「テーブルのデザイン」タブの「範囲に変換」をクリックします。

「テーブルのデザイン」タブの「範囲に変換」をクリック
「テーブルのデザイン」タブの「範囲に変換」をクリック

「区切り以外のカンマ(,)」があるCSVファイル

「区切り以外のカンマ(,)」があるCSVファイルをExcelファイルに取り込む方法を紹介します。

手順1.「CSVファイル」のプレビュー画面を確認する

「CSVファイル」のプレビュー画面を確認して、文字の区切り用以外の「カンマ(,)」の位置を確認します。

「CSVファイル」をダブルクリックで開く
「CSVファイル」をダブルクリックで開く

手順2.「メモ帳」で開く

対象のCSVファイルを右クリックして、右クリックメニューの「プログラムから開く」⇒「メモ帳」ボタンをクリックします。「メモ帳」が無ければ、「ワードパット」でもOKです。

右クリックメニューの「メモ帳」を選択
右クリックメニューの「メモ帳」を選択

手順3.「カンマ」を消す

Excelファイルへの取り込みが問題になっているカンマ(,)を消して、上書き保存します。

メモ帳を使ってカンマ(,)を削除
メモ帳を使ってカンマ(,)を削除

手順4.「CSVファイル」への取り込み

後は、通常どおりのCSVフィアルへ取り込み方法で取り込めば、下の図のように文字がズレることはありません。

エクセルの改行による不具合が解消
エクセルの改行による不具合が解消

CSVファイルのエクセルへの取り込み方法は下の記事で3つ紹介していますので、この記事以外の取り込み方法も試してみたい方はぜひ利用してみて下さい。